Skip to content

Point of sale

FINNS runs Shiji as its POS across its bars, restaurants and retail points (the brief notes the POS choice might change). This page records the two jobs the POS has in the brief and the integration shape we expect.

flowchart LR
  classDef ours fill:#13686C,stroke:#0B4A4D,color:#ffffff
  classDef ext fill:#F3ECDF,stroke:#B9A88B,color:#12191B
  classDef person fill:#E9724C,stroke:#C55A37,color:#ffffff

  g(["Guest"]):::person -- "shows payment QR<br/>or taps wristband" --> pos["Shiji<br/>workstation"]:::ext
  pos -- "1 · FINNS credit tender:<br/>authorise and capture" --> core["Core"]:::ours
  pos -- "2 · closed check:<br/>items and total" --> core
  core -- "earn points<br/>on spend" --> core
  pos -. "sales detail" .-> fin["NetSuite"]:::ext
  1. Spend FINNS credit: the guest pays with a QR from the app (or, later, an NFC wristband). The POS treats it as a FINNS Credit tender: it asks the platform to authorise the amount, then captures it when the check closes.
  2. Attribute spend: closed checks tied to a member let points be earned on in-venue spend, and give the CDP the purchase history it needs.

For discussion. The QR would follow the check-in pattern: short-lived, single-use, opaque, and only meaningful to core.

sequenceDiagram
  autonumber
  actor G as Guest
  box rgb(227,244,243) FINNS platform
    participant APP as Guest app
    participant CORE as Core
  end
  box rgb(243,236,223) Venue
    participant POS as Shiji
  end

  G->>APP: Pay with FINNS credit
  APP->>CORE: Issue payment QR
  CORE-->>APP: One-time QR (short-lived)
  G->>POS: Cashier scans QR, total IDR 450,000
  POS->>CORE: Authorise (QR, check id, amount)
  Note over CORE: nowrap:Consume QR, hold credit
  CORE-->>POS: Approved (auth id)
  POS->>CORE: Capture (auth id) when check closes
  Note over CORE: nowrap:Debit credit ledger,<br/>earn points on spend
  CORE-->>POS: Captured
  APP->>CORE: Refresh balances
Topic Note
Integration point To be confirmed with Shiji: whether a transaction API or a workstation extension carries the tender
Offline outlets What happens to tenders when the network or core is down: refuse, or allow a capped offline amount
Voids and refunds Reversing a captured tender back to credit
Earning on spend Earn rate by tier or category (brief §4.5), and whether earning applies to credit spend only or all attributed spend
Wristbands The brief’s NFC pilot needs reader hardware at each workstation and a token-to-member link

Internal and confidential. Share partner sections only as partner builds (pnpm build:partner).