Skip to main content

Draft order details

The draft order details screen appears when merchants access saved orders, quotes, or incomplete transactions that need to be finalized later. This screen displays draft order information, customer details, and line items for sales that haven't been completed.

  • Order status: Display approval requirements, processing notes, and estimated delivery dates.
  • Pricing adjustments: Apply special pricing, bulk discounts, or approval-based modifications.
  • Order completion: Launch fulfillment preparation and customer communication workflows.
  • Approval workflows: Process approvals, modifications, and manager escalations.

Anchor to Draft order details targetsDraft order details targets

Use these targets for quote management, approval workflows, or integration with external systems for draft order processing and completion.

Anchor to Draft order details action (menu item) ,[object Object]Draft order details action (menu item) target

pos.draft-order-details.action.menu-item.render

Renders a single interactive button component as a menu item in the draft order details action menu. Use this target for draft order-specific operations like sending invoices, updating payment status, or launching custom workflow processes for pending orders.

Extensions at this target can access draft order information including order ID, name, and associated customer through the Draft Order API. Menu items typically invoke api.action.presentModal() to launch the companion modal for complete draft order workflows.

Anchor to Draft order details action (modal) ,[object Object]Draft order details action (modal) target

pos.draft-order-details.action.render

Renders a full-screen modal interface launched from draft order details menu items. Use this target for complex draft order 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 draft order data through the Draft Order API and support workflows with multiple screens, navigation, and interactive components.


  • Show clear action confirmations: Show clear success or error messages that specify which draft order was affected and what change was made. Use messages like "Draft order #1001 completed successfully," "Approval request sent to manager," or "Unable to process - customer payment failed" to provide immediate feedback.
  • Ensure workflow continuity: Ensure that draft order changes integrate properly with the overall order processing and fulfillment systems, such as updated order status, triggered notifications, and recorded workflow steps.
  • Handle error states gracefully: Communicate draft order processing requirements and limitations clearly. If your extension modifies draft orders or triggers processing workflows, ensure you handle state transitions responsibly, provide clear feedback about processing stages, and communicate any requirements or restrictions that affect order completion or customer communication.
  • Write clear and action-oriented labels: Use action-oriented labels that specify what will happen to this particular draft order, with descriptive titles that indicate the information type. Use "Complete order" or "Approval Status" instead of generic labels like "Order options" or "Order App."
  • Show status and order information: Show current draft order status, relevant details, and action eligibility to support workflow decisions, such as order completion status, "Ready for completion," and draft order ID and customer.

  • You can only render one Button component for each POS UI extension using the action (menu item) target.

  • Draft order data is read-only through the Draft Order API, which provides the order ID, name, and customer ID. To access additional draft order information or modify draft orders, use external API calls or integrate with the Draft Order API through your app backend.


Was this page helpful?