Phase 1 — Free single-device POS + Inventory

Usable offline POS + Inventory on one active operational device. No backend required. Inventory is a first-class core domain, not merely a secondary checkout feature. Clients: Android, iOS, macOS, and Windows — all released together per phase milestone (ADR-003).

IDSpecSummary
POS-001merchant-setupLocal merchant / store setup
POS-002productsProduct catalogue
POS-003inventoryLocal inventory
POS-004cartCart
POS-005saleComplete Sale (cash / EDC / QRIS manual)
POS-006transaction-historyLocal transaction history
POS-007receiptsReceipt generation (view + share)
POS-023thermal-receipt-printThermal print — invoice/struk via ESC/POS (58/80mm)
POS-008local-backupBackup & Restore: free local + Personal Cloud Backup

POS-008 — Backup & Restore commercial boundary

Personal Cloud Backup (Drive Backup) is part of the main Phase 1 feature set, not a future/TBD roadmap item. POS-008 has two entitlement paths:

CapabilityBoundary
Manual local backup / restoreFree; no purchase required
Personal Cloud Backup / Drive BackupOne-time non-consumable purchase (indicative ≈ Rp100.000) or included while Pro is active
Provider (Android + iOS)Google Drive, merchant-owned Google account/storage (not iCloud; not Lakuyo-hosted)
Backup payloadLocal SQLite data + product images (and related assets defined by POS-008)
Storage quotaFollows the merchant’s Google Drive plan
Manual cloud backupBack Up Now
Automatic cloud backupIncluded; ON by default after Google Drive authorization; user can turn OFF
Restore PurchaseRequired on unlock UI; restores prior one-time store ownership, not backup data
Lakuyo backendNot required
Coordinated multi-device syncNo
Lakuyo-managed cloud backupNo — that remains POS-014 / Pro

POS-008 must also define purchase restoration, Pro downgrade behavior, a versioned Google Drive backup format shared by Android and iOS, restore safety, backup lineage, and one active Personal Cloud Backup writer per backup lineage.

When a backup is restored onto another installation, the user must explicitly confirm that the new installation becomes the active cloud-backup writer. The old installation may continue local operation, but Personal Cloud Backup writes from it must stop until writer ownership is explicitly reclaimed. This protects against accidental multi-device overwrite without turning the local plan into backend-enforced DRM.

Phase 1 ships the agreed core domain tree — POS + Inventory only. Full Order Management is a separate domain that expands later. In canonical terminology, a Sale is the completed transaction produced by checkout/payment; an Order is a customer request that may exist before checkout. See Product/Domain Terminology.

Phase 2 — Commercial boundary

Account, subscription, and Lakuyo-operated cloud/multi-device capabilities.

IDSpecSummary
POS-009authenticationAccount / authentication
POS-010subscriptionSubscription entitlement
POS-011device-registrationDevice registration
POS-012cloud-syncCloud sync
POS-013multi-deviceMulti-device operation
POS-014cloud-backupLakuyo-managed cloud backup

Phase 3 — Expansion

Order Management and restaurant workflows expand here, while preserving the Order ≠ Sale distinction.

IDSpecSummary
POS-015qrisIntegrated PSP / QRIS (optional; manual QRIS is POS-005)
POS-016restaurant-tablesRestaurant tables
POS-017waiter-orderingWaiter / Sales order-taking
POS-018kitchen-workflowKitchen / fulfilment workflow
POS-019multi-outletMulti-outlet
POS-020advanced-reportsAdvanced reports
POS-021employee-rolesEmployee roles
POS-022stock-transferStock transfer
POS-024customer-membershipCustomer membership — member pricing, admin discounts, member purchase history

Phase 1 ships first. POS-008 must fully specify and accept both free local backup and Personal Cloud Backup before Phase 1 acceptance is complete. Phase 2/3 specs exist as stubs until their phase begins; do not implement stub behaviour without expanding the stub into a full spec.

Delivery order within a phase

All four clients (Android, iOS, macOS, Windows) must pass acceptance before a phase is publicly released. Internal development may lead on one platform for domain proof, but marketing, early access, and store listings ship together. See Collaboration.

Future products (not scheduled)

Founders also discussed other apps after Lakuyo’s merchant commerce product (e.g. gym class/membership management as a standalone product). Those remain out of scope for this control plane until a separate product decision opens a new spec tree.

In scope for Lakuyo POS: merchant customer membership (pelanggan member toko) — member vs walk-in pricing, admin-configurable membership discounts, and per-member purchase history — see POS-024. This is distinct from gym/class membership apps and from Lakuyo Pro subscription.