--- title: Draft order details description: 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. api_version: 2024-07 api_name: pos-ui-extensions source_url: html: https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/draft-order-details md: https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/draft-order-details.md --- # 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. ### Use cases * **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. ![Draft order details targets overview](https://cdn.shopify.com/shopifycloud/shopify-dev/production/assets/assets/images/api/pos-ui-extensions/targets-overview-images/draft-order-targets-ONZfNSBW.png) *** ## Draft order details targets Use these targets for quote management, approval workflows, or integration with external systems for draft order processing and completion. ### 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](#draft-order-details-action-modal-) for complete draft order workflows. Support Components (1) APIs (9) ### Supported components * [Action​Item](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/actions/actionitem) ### Available APIs * [Action API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/standard-apis/action-api) * [Cart API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/contextual-apis/cart-api) * [Connectivity API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/platform-apis/connectivity-api) * [Device API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/platform-apis/device-api) * [Draft Order API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/contextual-apis/draft-order-api) * [Locale API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/standard-apis/locale-api) * [Product Search API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/standard-apis/product-search-api) * [Session API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/standard-apis/session-api) * [Toast API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/standard-apis/toast-api) Examples ### Examples * #### Show a draft order action menu item ##### Description Create an action menu item on draft order detail screens. This example demonstrates rendering a button in the draft order action menu for operations like sending invoices, updating payment status, or launching custom workflows for pending orders. ##### React ```tsx import React from 'react'; import { reactExtension, ActionItem, useApi, } from '@shopify/ui-extensions-react/point-of-sale'; const ActionItemComponent = () => { const api = useApi<'pos.draft-order-details.action.menu-item.render'>(); return api.action.presentModal()} />; }; export default reactExtension( 'pos.draft-order-details.action.menu-item.render', () => , ); ``` ##### TS ```ts import {ActionItem, extension} from '@shopify/ui-extensions/point-of-sale'; export default extension( 'pos.draft-order-details.action.menu-item.render', (root, api) => { const actionItem = root.createComponent(ActionItem, { onPress: () => api.action.presentModal(), enabled: true, }); root.append(actionItem); }, ); ``` ### 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](#draft-order-details-action-menu-item-). 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. Support Components (30) APIs (10) ### Supported components * [Action​Item](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/actions/actionitem) * [Badge](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/feedback-and-status-indicators/badge) * [Banner](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/feedback-and-status-indicators/banner) * [Button](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/actions/button) * [Camera​Scanner](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/navigation-and-content/camerascanner) * [Date​Field](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/forms/datefield) * [Date​Picker](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/forms/datepicker) * [Dialog](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/feedback-and-status-indicators/dialog) * [Email​Field](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/forms/emailfield) * [Formatted​Text​Field](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/forms/formattedtextfield) * [Icon](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/media-and-visuals/icon) * [Image](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/media-and-visuals/image) * [List](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/layout-and-structure/list) * [Navigator](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/navigation-and-content/navigator) * [Number​Field](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/forms/numberfield) * [Pin​Pad](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/forms/pinpad) * [Radio​Button​List](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/forms/radiobuttonlist) * [Screen](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/layout-and-structure/screen) * [Scroll​View](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/layout-and-structure/scrollview) * [Search​Bar](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/navigation-and-content/searchbar) * [Section](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/layout-and-structure/section) * [Segmented​Control](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/navigation-and-content/segmentedcontrol) * [Selectable](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/actions/selectable) * [Stack](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/layout-and-structure/stack) * [Stepper](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/forms/stepper) * [Text](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/layout-and-structure/text) * [Text​Area](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/forms/textarea) * [Text​Field](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/forms/textfield) * [Time​Field](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/forms/timefield) * [Time​Picker](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/forms/timepicker) ### Available APIs * [Cart API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/contextual-apis/cart-api) * [Connectivity API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/platform-apis/connectivity-api) * [Device API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/platform-apis/device-api) * [Draft Order API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/contextual-apis/draft-order-api) * [Locale API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/standard-apis/locale-api) * [Navigation API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/platform-apis/navigation-api) * [Product Search API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/standard-apis/product-search-api) * [Scanner API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/platform-apis/scanner-api) * [Session API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/standard-apis/session-api) * [Toast API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/standard-apis/toast-api) Examples ### Examples * #### Show a draft order action modal ##### Description Create a full-screen modal for draft order workflows launched from draft order menu items. This example shows how to build complex draft order operations with forms, multi-step processes, and access to draft order data through the Draft Order API. ##### React ```tsx import React from 'react'; import { Text, Screen, ScrollView, Navigator, reactExtension, useApi, } from '@shopify/ui-extensions-react/point-of-sale'; const Modal = () => { const api = useApi<'pos.draft-order-details.action.render'>(); return ( {`Order ID: ${api.product.id}`} ); }; export default reactExtension('pos.draft-order-details.action.render', () => ( )); ``` ##### TS ```ts import { Navigator, Screen, ScrollView, Text, extension, } from '@shopify/ui-extensions/point-of-sale'; export default extension( 'pos.draft-order-details.action.render', (root, api) => { const navigator = root.createComponent(Navigator); const screen = root.createComponent(Screen, { name: 'DraftOrderDetailsAction', title: 'Draft Order Details Action', }); const scrollView = root.createComponent(ScrollView); const text = root.createComponent(Text); text.append(`ID for current draft order screen: ${api.order.id}`); scrollView.append(text); screen.append(scrollView); navigator.append(screen); root.append(navigator); }, ); ``` *** ## Best practices * **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. *** ## Limitations * You can only render one [`Button`](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/ui-components/actions/button) component for each POS UI extension using the action (menu item) target. * Draft order data is read-only through the [Draft Order API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/target-apis/contextual-apis/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. ***