Customer details
The customer details screen appears when merchants look up a customer during checkout or need to access customer history and profile information. This screen serves as the hub for customer management within POS, displaying customer data, purchase history, and contact details.
Anchor to Use casesUse cases
- Loyalty programs: Display loyalty status, points balance, and tier information.
- Customer discounts: Apply personalized discounts based on membership level or purchase history.
- Profile management: Launch workflows for updating customer preferences and communication settings.
- Customer service: Process loyalty redemptions, account adjustments, and service requests.
Anchor to Customer details targetsCustomer details targets
Use these targets for customer service capabilities, loyalty program integration, or tools for customer engagement and support during transactions.
pos.customer-details.action.menu-item.render
Renders a single interactive button component as a menu item in the customer details action menu. Use this target for customer-specific operations like applying customer discounts, processing loyalty redemptions, or launching profile update workflows.
Extensions at this target can access the customer identifier through the Customer API to perform customer-specific operations. Menu items typically invoke api.action.presentModal() to launch the companion modal for complete customer workflows.
Supported components
Anchor to Customer details action (modal) ,[object Object]Customer details action (modal) target
pos.customer-details.action.render
Renders a full-screen modal interface launched from customer details menu items. Use this target for complex customer workflows that require forms, multi-step processes, or detailed information displays beyond what a simple button can provide.
Extensions at this target have access to customer data through the Customer API and support workflows with multiple screens, navigation, and interactive components.
Supported components
Anchor to Best practicesBest practices
- Show clear action confirmations: Show clear success or error messages that specify which customer was affected and what change was made. Use messages like "Loyalty points updated for Jane Doe," "Preferences saved successfully," or "Unable to process - customer not found" to provide immediate feedback.
- Ensure service continuity: Ensure that customer-related changes integrate properly with the overall transaction and customer relationship, such as updated customer profile, applied customer discounts, and recorded service interactions.
- Handle error states gracefully: Communicate customer data limitations clearly rather than showing generic error messages. If your extension accesses or modifies customer information, ensure you handle data responsibly, display only necessary information, and provide clear messaging about any data collection, processing, or sharing that occurs through your extension functionality.
- Write clear and action-oriented labels: Use action-oriented labels that specify what will happen for this particular customer, with descriptive titles that indicate the information type. Use "Update loyalty tier" or "Loyalty Status" instead of generic labels like "Loyalty options" or "Customer App."
- Show status and contextual data: Show current customer status, relevant metrics, and action eligibility to support service decisions, such as loyalty tier and points, "VIP customer - expedited service," and recent purchase patterns.
Anchor to LimitationsLimitations
-
You can only render one
Buttoncomponent for each POS UI extension using the action (menu item) target. -
Customer data is read-only through the Customer API, which provides only the customer ID. To access additional customer information or modify customer data, use external API calls or integrate with the Customer API through your app backend.