Add retail catalog apps: shop, POS sync, events, shipping #5

Closed
opened 2026-09-06 04:29:38 -07:00 by westfarn · 0 comments
Owner

Summary

Add four optional catalog apps so client sites can run in-house retail (3D-print shop, TCG/comic shop) without Shopify, matching the data-ownership promise.

Apps / flags

Catalog item Flag App Requires
E-commerce storefront FEATURE_SHOP shop email/SMS + payments
POS API sync FEATURE_POS_SYNC pos_sync shop
Event ticketing FEATURE_EVENTS events email/SMS + payments
Shipping automation FEATURE_SHIPPING shipping shop

Scope

  • Public /shop/ catalog, session cart, Stripe Checkout, confirmation email
  • Portal product/inventory (stocked + made-to-order print-minute queue) and orders
  • POS inbound webhook decrements SKU stock; paid online orders enqueue outbound POS reserves via dispatch_due
  • Public /events/ with capacity-limited tickets + confirmation email
  • Portal shipping: EasyPost rates/labels when configured, otherwise stub rates + Pirate Ship CSV export
  • Feature-flag isolation, validate-env.sh deps, tests

Company-site /web_design catalog rows are tracked separately: ai_ml_operations/company_site#31

Test plan

  • FEATURE_SHOP without email/SMS or payments fails settings + validate-env
  • POS/shipping without shop fails the same way
  • Events without email/SMS or payments fails
  • Shop cart, inventory decrement on paid, portal stock adjust
  • POS inbound webhook + outbound enqueue on paid order
  • Event capacity + ticket email
  • Shipping stub label + Pirate Ship CSV
  • Full manage.py test
## Summary Add four optional catalog apps so client sites can run in-house retail (3D-print shop, TCG/comic shop) without Shopify, matching the data-ownership promise. ## Apps / flags | Catalog item | Flag | App | Requires | |---|---|---|---| | E-commerce storefront | `FEATURE_SHOP` | `shop` | email/SMS + payments | | POS API sync | `FEATURE_POS_SYNC` | `pos_sync` | shop | | Event ticketing | `FEATURE_EVENTS` | `events` | email/SMS + payments | | Shipping automation | `FEATURE_SHIPPING` | `shipping` | shop | ## Scope - Public `/shop/` catalog, session cart, Stripe Checkout, confirmation email - Portal product/inventory (stocked + made-to-order print-minute queue) and orders - POS inbound webhook decrements SKU stock; paid online orders enqueue outbound POS reserves via `dispatch_due` - Public `/events/` with capacity-limited tickets + confirmation email - Portal shipping: EasyPost rates/labels when configured, otherwise stub rates + Pirate Ship CSV export - Feature-flag isolation, `validate-env.sh` deps, tests Company-site `/web_design` catalog rows are tracked separately: https://git.aimloperations.com/ai_ml_operations/company_site/issues/31 ## Test plan - [ ] `FEATURE_SHOP` without email/SMS or payments fails settings + validate-env - [ ] POS/shipping without shop fails the same way - [ ] Events without email/SMS or payments fails - [ ] Shop cart, inventory decrement on paid, portal stock adjust - [ ] POS inbound webhook + outbound enqueue on paid order - [ ] Event capacity + ticket email - [ ] Shipping stub label + Pirate Ship CSV - [ ] Full `manage.py test`
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: westfarn/web_django_template#5