POS Extension
The POS (Point of Sale) extension enables retail staff to create and manage subscription orders directly from Shopify POS. This extension provides multiple UI components that integrate subscription functionality into the point of sale workflow, allowing in-person subscription sales.Extension Configuration
extensions/pos-extension/shopify.extension.toml
Extension Targets
The POS extension integrates at four key touchpoints:Cart Line Item Menu
Target:
pos.cart.line-item-details.action.menu-item.renderAdds a “Subscriptions” button to cart line item action menusLine Item Modal
Target:
pos.cart.line-item-details.action.renderFull modal for selecting subscription options on cart itemsHome Tile
Target:
pos.home.tile.renderDashboard tile on POS home screen for quick accessHome Modal
Target:
pos.home.modal.renderModal opened from home tile for subscription managementComponents
Home Tile
Displays subscription information on the POS home screen:extensions/pos-extension/src/Tile.tsx
Menu Item
Adds subscription action to cart line items:extensions/pos-extension/src/MenuItem.tsx
Version Support
The extension checks POS version compatibility:extensions/pos-extension/src/constants/constants.ts
extensions/pos-extension/src/utils/versionComparison.ts
Features
Subscription Selection
Staff can select subscription options for products in the cart:Cart Integration
The extension monitors cart state:Selling Plan Selection
Display available selling plans for a product:POS-Specific Components
The extension uses POS-specific Smart Grid components:- s-tile
- s-modal
- s-list
Modal Implementation
The line item modal allows selling plan selection:extensions/pos-extension/src/MenuItemModal.tsx
Tile Modal
The home screen tile opens a modal with subscription management:extensions/pos-extension/src/TileModal.tsx
Localization
Support multiple languages for POS staff:extensions/pos-extension/locales/en.json
Error Handling
Handle common POS scenarios:Testing
Test the POS extension on actual POS devices or the POS simulator:
Test Scenarios
- Version Compatibility: Test on minimum and latest POS versions
- Cart States: Empty cart, cart with eligible/ineligible items
- Network Issues: Handle offline mode and API failures
- Multiple Selling Plans: Products with single and multiple plan groups
- Mixed Cart: Cart with subscription and one-time purchase items
Best Practices
Clear Labeling
Use clear, concise labels for subscription options visible on small screens
Quick Selection
Optimize for speed - retail staff need quick workflows
Visual Feedback
Show immediate confirmation when subscription is applied
Error Prevention
Disable options that aren’t available rather than showing errors
Offline Support
POS extensions should handle offline scenarios:Customization Examples
Custom Tile Styling
Plan Recommendations
Related Extensions
Admin Actions
Create selling plan groups available in POS
Buyer Subscriptions
Customer portal for managing POS-created subscriptions
Requirements
- POS Version: 10.14.0 or higher
- Hardware: Compatible POS devices (iPad, Android tablets)
- Network: Internet connection for initial setup (offline support for operations)
- Permissions: Staff must have cart modification permissions