[{"data":1,"prerenderedAt":705},["ShallowReactive",2],{"navigation_docs":3,"-docs-point-of-sale-native-app":283,"-docs-point-of-sale-native-app-surround":700},[4,38,88,108,150,159,168,177,199,221,251],{"title":5,"path":6,"stem":7,"children":8},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started\u002Findex",[9,10,14,18,22,26,30,34],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"First Steps","\u002Fdocs\u002Fgetting-started\u002Ffirst-steps","docs\u002F1.getting-started\u002F1.first-steps",{"title":15,"path":16,"stem":17},"Dashboard Overview","\u002Fdocs\u002Fgetting-started\u002Fdashboard-overview","docs\u002F1.getting-started\u002F2.dashboard-overview",{"title":19,"path":20,"stem":21},"Key Concepts","\u002Fdocs\u002Fgetting-started\u002Fkey-concepts","docs\u002F1.getting-started\u002F3.key-concepts",{"title":23,"path":24,"stem":25},"Initial Store Setup","\u002Fdocs\u002Fgetting-started\u002Finitial-store-setup","docs\u002F1.getting-started\u002F4.initial-store-setup",{"title":27,"path":28,"stem":29},"Setting Up Markets","\u002Fdocs\u002Fgetting-started\u002Fsetting-up-markets","docs\u002F1.getting-started\u002F5.setting-up-markets",{"title":31,"path":32,"stem":33},"Inviting Users","\u002Fdocs\u002Fgetting-started\u002Finviting-users","docs\u002F1.getting-started\u002F6.inviting-users",{"title":35,"path":36,"stem":37},"Go-Live Checklist","\u002Fdocs\u002Fgetting-started\u002Fgo-live-checklist","docs\u002F1.getting-started\u002F7.go-live-checklist",{"title":39,"path":40,"stem":41,"children":42,"page":87},"Point Of Sale","\u002Fdocs\u002Fpoint-of-sale","docs\u002F10.point-of-sale",[43,47,51,55,59,63,67,71,75,79,83],{"title":44,"path":45,"stem":46},"Setup","\u002Fdocs\u002Fpoint-of-sale\u002Fsetup-and-compliance","docs\u002F10.point-of-sale\u002F1.setup-and-compliance",{"title":48,"path":49,"stem":50},"Native App","\u002Fdocs\u002Fpoint-of-sale\u002Fnative-app","docs\u002F10.point-of-sale\u002F10.native-app",{"title":52,"path":53,"stem":54},"Registers","\u002Fdocs\u002Fpoint-of-sale\u002Fregisters","docs\u002F10.point-of-sale\u002F2.registers",{"title":56,"path":57,"stem":58},"Selling","\u002Fdocs\u002Fpoint-of-sale\u002Fselling","docs\u002F10.point-of-sale\u002F3.selling",{"title":60,"path":61,"stem":62},"Payments","\u002Fdocs\u002Fpoint-of-sale\u002Fpayments","docs\u002F10.point-of-sale\u002F4.payments",{"title":64,"path":65,"stem":66},"Receipts & Printing","\u002Fdocs\u002Fpoint-of-sale\u002Freceipts-and-printing","docs\u002F10.point-of-sale\u002F5.receipts-and-printing",{"title":68,"path":69,"stem":70},"Day-End & Reports","\u002Fdocs\u002Fpoint-of-sale\u002Fday-end-and-reports","docs\u002F10.point-of-sale\u002F6.day-end-and-reports",{"title":72,"path":73,"stem":74},"Modes","\u002Fdocs\u002Fpoint-of-sale\u002Fmodes","docs\u002F10.point-of-sale\u002F7.modes",{"title":76,"path":77,"stem":78},"Dashboard","\u002Fdocs\u002Fpoint-of-sale\u002Fdashboard","docs\u002F10.point-of-sale\u002F8.dashboard",{"title":80,"path":81,"stem":82},"Compliance","\u002Fdocs\u002Fpoint-of-sale\u002Fcompliance","docs\u002F10.point-of-sale\u002F9.compliance",{"title":84,"path":85,"stem":86},"Point of Sale","\u002Fdocs\u002Fpoint-of-sale\u002F_dir","docs\u002F10.point-of-sale\u002F_dir",false,{"title":89,"path":90,"stem":91,"children":92,"page":87},"Warehouses","\u002Fdocs\u002Fwarehouses","docs\u002F11.warehouses",[93,97,101,105],{"title":94,"path":95,"stem":96},"Managing Warehouses","\u002Fdocs\u002Fwarehouses\u002Fmanaging-warehouses","docs\u002F11.warehouses\u002F1.managing-warehouses",{"title":98,"path":99,"stem":100},"Stock & Inventory","\u002Fdocs\u002Fwarehouses\u002Fstock-and-inventory","docs\u002F11.warehouses\u002F2.stock-and-inventory",{"title":102,"path":103,"stem":104},"Warehouse Operations","\u002Fdocs\u002Fwarehouses\u002Fwarehouse-operations","docs\u002F11.warehouses\u002F3.warehouse-operations",{"title":89,"path":106,"stem":107},"\u002Fdocs\u002Fwarehouses\u002F_dir","docs\u002F11.warehouses\u002F_dir",{"title":109,"path":110,"stem":111,"children":112},"Products","\u002Fdocs\u002Fproducts","docs\u002F2.products\u002Findex",[113,114,118,122,126,130,134,138,142,146],{"title":109,"path":110,"stem":111},{"title":115,"path":116,"stem":117},"Adding and updating products","\u002Fdocs\u002Fproducts\u002Fadding-and-updating-products","docs\u002F2.products\u002F1.adding-and-updating-products",{"title":119,"path":120,"stem":121},"Bundles","\u002Fdocs\u002Fproducts\u002Fbundles","docs\u002F2.products\u002F10.bundles",{"title":123,"path":124,"stem":125},"Product details","\u002Fdocs\u002Fproducts\u002Fproduct-details","docs\u002F2.products\u002F2.product-details",{"title":127,"path":128,"stem":129},"Variants","\u002Fdocs\u002Fproducts\u002Fvariants","docs\u002F2.products\u002F3.variants",{"title":131,"path":132,"stem":133},"Product media","\u002Fdocs\u002Fproducts\u002Fproduct-media","docs\u002F2.products\u002F4.product-media",{"title":135,"path":136,"stem":137},"Inventory","\u002Fdocs\u002Fproducts\u002Finventory","docs\u002F2.products\u002F6.inventory",{"title":139,"path":140,"stem":141},"Pricing","\u002Fdocs\u002Fproducts\u002Fpricing","docs\u002F2.products\u002F7.pricing",{"title":143,"path":144,"stem":145},"AI-powered enrichment","\u002Fdocs\u002Fproducts\u002Fai-enrichment","docs\u002F2.products\u002F8.ai-enrichment",{"title":147,"path":148,"stem":149},"Import and export","\u002Fdocs\u002Fproducts\u002Fimport-and-export","docs\u002F2.products\u002F9.import-and-export",{"title":151,"path":152,"stem":153,"children":154,"page":87},"Orders","\u002Fdocs\u002Forders","docs\u002F3.orders",[155],{"title":156,"path":157,"stem":158},"Order Lifecycle","\u002Fdocs\u002Forders\u002Forder-lifecycle","docs\u002F3.orders\u002F1.order-lifecycle",{"title":160,"path":161,"stem":162,"children":163,"page":87},"Customers","\u002Fdocs\u002Fcustomers","docs\u002F4.customers",[164],{"title":165,"path":166,"stem":167},"Customer Profiles","\u002Fdocs\u002Fcustomers\u002Fcustomer-profiles","docs\u002F4.customers\u002F1.customer-profiles",{"title":169,"path":170,"stem":171,"children":172,"page":87},"Settings","\u002Fdocs\u002Fsettings","docs\u002F5.settings",[173],{"title":174,"path":175,"stem":176},"General Settings","\u002Fdocs\u002Fsettings\u002Fgeneral-settings","docs\u002F5.settings\u002F1.general-settings",{"title":178,"path":179,"stem":180,"children":181},"Categories","\u002Fdocs\u002Fcategories","docs\u002F6.categories\u002Findex",[182,183,187,191,195],{"title":178,"path":179,"stem":180},{"title":184,"path":185,"stem":186},"Managing categories","\u002Fdocs\u002Fcategories\u002Fmanaging-categories","docs\u002F6.categories\u002F1.managing-categories",{"title":188,"path":189,"stem":190},"Automatic categories","\u002Fdocs\u002Fcategories\u002Fautomatic-categories","docs\u002F6.categories\u002F2.automatic-categories",{"title":192,"path":193,"stem":194},"Category merchandising","\u002Fdocs\u002Fcategories\u002Fmerchandising","docs\u002F6.categories\u002F3.merchandising",{"title":196,"path":197,"stem":198},"Storefront settings","\u002Fdocs\u002Fcategories\u002Fstorefront-settings","docs\u002F6.categories\u002F4.storefront-settings",{"title":200,"path":201,"stem":202,"children":203},"Attributes","\u002Fdocs\u002Fattributes","docs\u002F7.attributes\u002Findex",[204,205,209,213,217],{"title":200,"path":201,"stem":202},{"title":206,"path":207,"stem":208},"Managing attributes","\u002Fdocs\u002Fattributes\u002Fmanaging-attributes","docs\u002F7.attributes\u002F1.managing-attributes",{"title":210,"path":211,"stem":212},"Attribute templates","\u002Fdocs\u002Fattributes\u002Fattribute-templates","docs\u002F7.attributes\u002F2.attribute-templates",{"title":214,"path":215,"stem":216},"Display groups","\u002Fdocs\u002Fattributes\u002Fdisplay-groups","docs\u002F7.attributes\u002F3.display-groups",{"title":218,"path":219,"stem":220},"Completeness","\u002Fdocs\u002Fattributes\u002Fcompleteness","docs\u002F7.attributes\u002F4.completeness",{"title":222,"path":223,"stem":224,"children":225},"Markets","\u002Fdocs\u002Fmarkets","docs\u002F8.markets\u002Findex",[226,227,231,235,239,243,247],{"title":222,"path":223,"stem":224},{"title":228,"path":229,"stem":230},"Creating a Market","\u002Fdocs\u002Fmarkets\u002Fcreating-a-market","docs\u002F8.markets\u002F1.creating-a-market",{"title":232,"path":233,"stem":234},"Market Settings","\u002Fdocs\u002Fmarkets\u002Fmarket-settings","docs\u002F8.markets\u002F2.market-settings",{"title":236,"path":237,"stem":238},"Market Pricing","\u002Fdocs\u002Fmarkets\u002Fpricing","docs\u002F8.markets\u002F3.pricing",{"title":240,"path":241,"stem":242},"Shipping Methods","\u002Fdocs\u002Fmarkets\u002Fshipping","docs\u002F8.markets\u002F4.shipping",{"title":244,"path":245,"stem":246},"Visibility Rules","\u002Fdocs\u002Fmarkets\u002Fvisibility-rules","docs\u002F8.markets\u002F5.visibility-rules",{"title":248,"path":249,"stem":250},"Business Units","\u002Fdocs\u002Fmarkets\u002Fbusiness-units","docs\u002F8.markets\u002F6.business-units",{"title":252,"path":253,"stem":254,"children":255,"page":87},"Storefront","\u002Fdocs\u002Fstorefront","docs\u002F9.storefront",[256,262,268,272,276,280],{"title":257,"path":258,"stem":259,"children":260},"How Indexing Works","\u002Fdocs\u002Fstorefront\u002Fhow-indexing-works","docs\u002F9.storefront\u002F1.how-indexing-works",[261],{"title":257,"path":258,"stem":259},{"title":263,"path":264,"stem":265,"children":266},"Managing Indexes","\u002Fdocs\u002Fstorefront\u002Fmanaging-indexes","docs\u002F9.storefront\u002F2.managing-indexes",[267],{"title":263,"path":264,"stem":265},{"title":269,"path":270,"stem":271},"Storefront Tokens","\u002Fdocs\u002Fstorefront\u002Fstorefront-tokens","docs\u002F9.storefront\u002F3.storefront-tokens",{"title":273,"path":274,"stem":275},"Warehouse Settings","\u002Fdocs\u002Fstorefront\u002Fwarehouse-settings","docs\u002F9.storefront\u002F4.warehouse-settings",{"title":277,"path":278,"stem":279},"Storefront API","\u002Fdocs\u002Fstorefront\u002Fstorefront-api","docs\u002F9.storefront\u002F5.storefront-api",{"title":252,"path":281,"stem":282},"\u002Fdocs\u002Fstorefront\u002F_dir","docs\u002F9.storefront\u002F_dir",{"id":284,"title":48,"body":285,"description":693,"extension":694,"links":695,"meta":696,"navigation":697,"path":49,"seo":698,"stem":50,"__hash__":699},"docs\u002Fdocs\u002F10.point-of-sale\u002F10.native-app.md",{"type":286,"value":287,"toc":676},"minimark",[288,305,310,368,371,375,378,424,428,431,543,547,558,565,572,575,582,585,590,593,600,603,620,624,628,631,634,637,640,643,647,650],[289,290,291,292,296,297,300,301,304],"p",{},"Avvyr POS runs as a native app on ",[293,294,295],"strong",{},"iOS",", ",[293,298,299],{},"Android",", and ",[293,302,303],{},"Windows",". This means you can deploy a tablet, phone, or PC as a dedicated cash register unit — with access to hardware features like receipt printers, barcode scanners, payment terminals, and customer-facing displays.",[306,307,309],"h2",{"id":308},"supported-platforms","Supported platforms",[311,312,313,329],"table",{},[314,315,316],"thead",{},[317,318,319,323,326],"tr",{},[320,321,322],"th",{},"Platform",[320,324,325],{},"Technology",[320,327,328],{},"Distribution",[330,331,332,345,357],"tbody",{},[317,333,334,339,342],{},[335,336,337],"td",{},[293,338,303],{},[335,340,341],{},"Electron",[335,343,344],{},"Installer (.exe) with automatic updates",[317,346,347,351,354],{},[335,348,349],{},[293,350,299],{},[335,352,353],{},"Capacitor",[335,355,356],{},"APK download from hosted storage",[317,358,359,363,365],{},[335,360,361],{},[293,362,295],{},[335,364,353],{},[335,366,367],{},"App Store \u002F TestFlight",[289,369,370],{},"All three platforms share the same codebase and UI. The native app wraps the same Avvyr interface you use in a browser, but adds direct access to device hardware.",[306,372,374],{"id":373},"why-use-the-native-app","Why use the native app?",[289,376,377],{},"The native app gives you capabilities that a browser cannot provide:",[379,380,381,388,394,400,406,412,418],"ul",{},[382,383,384,387],"li",{},[293,385,386],{},"Direct receipt printing"," — Print to network printers over TCP (port 9100) without a print dialog. Works offline.",[382,389,390,393],{},[293,391,392],{},"Barcode scanning"," — Use the device camera as a barcode scanner on mobile.",[382,395,396,399],{},[293,397,398],{},"Tap to Pay"," — Accept NFC contactless payments directly on an Android device, without an external payment terminal.",[382,401,402,405],{},[293,403,404],{},"Customer display"," — Show a customer-facing screen on a second monitor, via HDMI, AirPlay, Miracast, or USB-C.",[382,407,408,411],{},[293,409,410],{},"Local payment terminals"," — Communicate directly with Adyen payment terminals on the local network.",[382,413,414,417],{},[293,415,416],{},"Push notifications"," — Receive real-time notifications about orders, register events, and system alerts.",[382,419,420,423],{},[293,421,422],{},"Automatic updates"," — The Windows app checks for updates on launch and installs them automatically.",[306,425,427],{"id":426},"hardware-features-by-platform","Hardware features by platform",[289,429,430],{},"Not all hardware features are available on every platform:",[311,432,433,446],{},[314,434,435],{},[317,436,437,440,442,444],{},[320,438,439],{},"Feature",[320,441,303],{},[320,443,299],{},[320,445,295],{},[330,447,448,462,475,488,503,516,530],{},[317,449,450,455,458,460],{},[335,451,452],{},[293,453,454],{},"TCP receipt printing",[335,456,457],{},"Yes",[335,459,457],{},[335,461,457],{},[317,463,464,468,471,473],{},[335,465,466],{},[293,467,392],{},[335,469,470],{},"—",[335,472,457],{},[335,474,457],{},[317,476,477,482,484,486],{},[335,478,479],{},[293,480,481],{},"Tap to Pay (NFC)",[335,483,470],{},[335,485,457],{},[335,487,470],{},[317,489,490,494,497,500],{},[335,491,492],{},[293,493,404],{},[335,495,496],{},"HDMI \u002F multi-monitor",[335,498,499],{},"HDMI \u002F Miracast \u002F USB-C",[335,501,502],{},"AirPlay \u002F USB-C adapter",[317,504,505,510,512,514],{},[335,506,507],{},[293,508,509],{},"Local payment terminal",[335,511,457],{},[335,513,457],{},[335,515,457],{},[317,517,518,522,524,527],{},[335,519,520],{},[293,521,416],{},[335,523,457],{},[335,525,526],{},"Yes (FCM)",[335,528,529],{},"Yes (APNS)",[317,531,532,536,538,540],{},[335,533,534],{},[293,535,422],{},[335,537,457],{},[335,539,470],{},[335,541,542],{},"App Store",[306,544,546],{"id":545},"receipt-printing","Receipt printing",[289,548,549,550,553,554,557],{},"The native app generates ESC\u002FPOS commands and sends them directly to the printer over TCP — no print driver or dialog required. Supported printer brands include ",[293,551,552],{},"Epson"," and ",[293,555,556],{},"Star Micronics",".",[289,559,560,561,564],{},"Printing works ",[293,562,563],{},"offline",". The receipt is generated entirely on the device and sent directly to the printer on the local network. No backend connection is needed for the print itself.",[289,566,567,568,571],{},"See ",[569,570,64],"a",{"href":65}," for details on receipt content and printer setup.",[306,573,398],{"id":574},"tap-to-pay",[289,576,577,578,581],{},"On supported Android devices (Android 9+, NFC-capable), Avvyr supports ",[293,579,580],{},"Adyen Tap to Pay"," — accepting contactless card payments directly on the phone or tablet without an external payment terminal.",[289,583,584],{},"The device must be registered as a Tap to Pay terminal in Avvyr before use. Once registered, it appears alongside your physical payment terminals.",[289,586,567,587,589],{},[569,588,60],{"href":61}," for more about payment methods and terminal setup.",[306,591,404],{"id":592},"customer-display",[289,594,595,596,599],{},"The native app can drive a ",[293,597,598],{},"customer-facing display"," that shows the current cart, items, and totals in real time. The display syncs with the POS cart via WebSocket.",[289,601,602],{},"How the second screen connects depends on the platform:",[379,604,605,610,615],{},[382,606,607,609],{},[293,608,303],{}," — Second monitor via HDMI, DisplayPort, or USB-C.",[382,611,612,614],{},[293,613,299],{}," — External display via HDMI, Miracast\u002FCast, or USB-C DisplayPort.",[382,616,617,619],{},[293,618,295],{}," — External display via AirPlay or Lightning\u002FUSB-C Digital AV Adapter.",[306,621,623],{"id":622},"installing-the-app","Installing the app",[625,626,303],"h3",{"id":627},"windows",[289,629,630],{},"Download the installer (.exe) and run it. The app installs and launches automatically. When a new version is available, it is downloaded and installed in the background on next launch.",[625,632,299],{"id":633},"android",[289,635,636],{},"Download the APK from the provided URL and install it on the device. You may need to enable installation from unknown sources in the device settings.",[625,638,295],{"id":639},"ios",[289,641,642],{},"The app is distributed via the App Store or TestFlight. Install it from there and sign in with your Avvyr account.",[306,644,646],{"id":645},"dedicated-device-setup","Dedicated device setup",[289,648,649],{},"For deploying a device as a dedicated cash register (kiosk-style), consider:",[379,651,652,658,664,670],{},[382,653,654,657],{},[293,655,656],{},"Lock the device to the Avvyr app"," — Use guided access (iOS), screen pinning (Android), or kiosk mode (Windows) to prevent staff from navigating away from the POS.",[382,659,660,663],{},[293,661,662],{},"Disable sleep\u002Fscreen timeout"," — Keep the screen active during business hours.",[382,665,666,669],{},[293,667,668],{},"Connect to a stable network"," — A reliable Wi-Fi or Ethernet connection is required for payment processing and order sync.",[382,671,672,675],{},[293,673,674],{},"Pair peripherals"," — Set up receipt printers, payment terminals, and customer displays before going live.",{"title":677,"searchDepth":678,"depth":678,"links":679},"",2,[680,681,682,683,684,685,686,692],{"id":308,"depth":678,"text":309},{"id":373,"depth":678,"text":374},{"id":426,"depth":678,"text":427},{"id":545,"depth":678,"text":546},{"id":574,"depth":678,"text":398},{"id":592,"depth":678,"text":404},{"id":622,"depth":678,"text":623,"children":687},[688,690,691],{"id":627,"depth":689,"text":303},3,{"id":633,"depth":689,"text":299},{"id":639,"depth":689,"text":295},{"id":645,"depth":678,"text":646},"Deploy Avvyr POS as a dedicated cash register on iOS, Android, and Windows devices.","md",null,{},true,{"title":48,"description":693},"qEaCBaTZjwV649MdqiOx5IFbXtGJ90xYwoLITSWvfcM",[701,703],{"title":44,"path":45,"stem":46,"description":702,"children":-1},"Prerequisites for using Point of Sale and an overview of the two POS modes.",{"title":52,"path":53,"stem":54,"description":704,"children":-1},"Manage POS cash registers, register profiles, and understand register statuses.",1775754418666]