by Intelliverse X

First-time install manual — for the operator or their employee

Illustrated installation atlas — Android basics, every APK role and cabinet checklist.

Who this is for: the person standing next to a new cabinet at the venue — the operator who owns it, or an employee doing it for them. Goal: from crate to an installed, tested cabinet visible in Operator X. Allow time for site, hardware, payment and access issues; complete required acceptance before opening to shoppers.

Both hardware families are covered: ZHZN (CSM, T3568 board, ZHZN KioskX app) and Reyeah (RK3288, Kiosk X app). Steps that differ are marked.

Approved release prerequisite: use coordinated cabinet, gateway and operator builds containing the audit repairs and reviewed-address flow. The dated demo at the end is historical; version labels alone do not prove the current source is installed. Follow the current visual atlas and the operator interface comparison for supported controls.

The shape of the job. The cabinet introduces itself to the cloud once correctly provisioned and connected. You complete Claim → Locate → Payments → First fill → Go live in Operator X or web field setup, including separate on-site installation confirmation and the physical/payment acceptance checks below.

Identify the actual cabinet, distinguish its vending APK from the staff operator app, and verify the approved build.


0. Before you leave the depot

Bring Why
Operator X sign-in with install rights Claiming, binding a reader and going live need an account that can write to the operator's fleet (machines:write). Use your own named account and verify its authorized tenant, machine list and write scopes. Crew membership alone does not grant all setup actions. If an action is unavailable, have an authorized owner perform it or grant supported access; do not share the owner's password or MFA codes.
The serial Printed on the cabinet and on the crate. ZHZN serials look like 1A8B08520A50; Reyeah like 866903013700033.
The factory traveller (ZHZN) The sheet the factory put in the crate: manual-vend result, Nayax 16-digit Device Number, power-bank door id.
Venue Wi-Fi name + password, or a SIM already in the cabinet Initial cloud setup and verification require working network access; offline-payment support is a separately qualified cabinet policy.
Your product list and prices New cabinets come with a placeholder planogram (Aurora Water, Summit Coffee, …). You replace it.
Stock for the first fill And a phone with a card wallet for the first paid vend.

1. Place and power (5 min)

  1. Inspect delivery damage and install the cabinet level with the clearance, anchoring, ventilation and power requirements in its actual manufacturer manual. A generic against-the-wall placement is not suitable for every cabinet.
  2. Plug in. The vending screen must come up by itself, with no touch. If it does not, the cabinet was not locked to the app at the bench — call support, do not fix it here.
  3. Leave it on. Do not power-cycle in the next ten minutes; first boot is when the cabinet registers itself.

2. Network (5 min)

Join the intended venue network through authorized Android settings, then verify gateway connectivity separately.

ZHZN

  1. Tap the top-left corner 7 times within 5 seconds.
  2. Enter the authorized cabinet admin PIN. Use the machine's approved provisioning/hand-over record; do not copy a default from an old guide. A cloud PIN save must reach the actual cabinet before it changes local access.
  3. Service menuExit kiosk (Android Settings) → Wi-Fi → join the venue network.
  4. Press Home. The kiosk returns on its own.

Reyeah

Enter the Kiosk X manager password → Android Settings → Wi-Fi → back to the app.

What happens by itself

After the installer has provisioned the correct machine identity, gateway and device authentication, the cabinet registers and heartbeats. Confirm a fresh matching cloud record. Network connectivity or an operator serial claim alone does not provide a cabinet credential; an enrolment response waiting for arming requires the authorized arming procedure.

ZHZN cabinets that were factory-tested arrive already knowing their vend-board port and tray type: the factory certificate is what /zhzn/register hands back as serialPort and module on first boot. Nobody guesses wiring in the field.


3. Field setup in Operator X (10 min)

Open https://operator.kiosk-x.ai/machines/setup (the Operator X phone app has the same wizard, with a QR scanner for the serial). Five pills across the top show where you are.

Compare the exact cabinet and account, review the address match, then separately confirm on-site installation.

Step What you do What the cloud does
Claim Type or scan the serial; optional name (e.g. Tower A lobby). Tap Claim machine. POST /api/v1/machines/register moves the serial from the unclaimed pool into your fleet. 409 if another operator already owns it. The lifecycle starts at onboarding.
Locate Flutter: Check machine address → Check address → Choose this match → Confirm selected address → Done → Continue. Web: review/select the returned candidate → Confirm selected address match → Continue with confirmed address. Structured address checks and explicit match confirmation save reviewed address evidence. A label or GPS pin alone is insufficient.
On-site installation At the actual cabinet, type its exact machine number and precise placement, read and select the physical-presence declaration, then Flutter Confirm installation or web Confirm installation as operator. Records the authorized operator's observation separately from geocoding, factory QA and physical vending tests. It does not verify postal deliverability or act as remote hardware proof.
Nayax Type the 16-digit Device Number from the reader sticker (keep the leading zero). Bind reader. Or Continue without binding a reader for an approved, configured QR-only cabinet. POST /api/v1/machines/{no}/nayax. Refuses the 9-digit Machine ID. 409 if that reader is already bound to another cabinet.
First fill Confirm the product/lane map and prices, physically load the selected low aisles to their configured capacity, then Confirm N aisles filled. Use per-aisle counts for partial fills. POST /api/v1/inventory/machines/{no}/restock records selected quantities. Wait for success and read back saved stock; empty/unavailable inventory is not completed setup.
Go live Wait for "Gateway checks are green", then Go live. Address and on-site installation evidence and readiness checks (below) must pass; POST /api/v1/machines/{no}/lifecycle/onboarding/complete moves the cabinet to live.

The five checks behind Go liveGET /api/v1/machines/{no}/lifecycle shows them:

Review gateway readiness, witness physical payment and delivery, then complete the separate acceptance records.

Check Green when
claimed The serial is in your fleet
online A heartbeat in the last few minutes
paymentsReady The gateway confirms the configured payment mode is ready: real reader binding or a supported live QR route. This configuration check does not prove processor settlement.
planogramLoaded At least one aisle has stock
boardCanDispense The vend board is not in a blocked state

Do not force incomplete checks green. The normal operator setup path requires readiness, a confirmed address and separate on-site installation evidence for the same serial. Correct failures and verify the returned live status; a saved request or timeout is not proof that the cabinet went live.

Set your real products before First fill and Go live

Inspect the actual catalog. A cabinet may carry a placeholder/demo planogram (Aurora Water, Summit Coffee, Trailblazer Mix, …); those rows and any reported stock are not evidence of your physical products. Open the machine page → Aisles and set each aisle's product, price and capacity to what you loaded. Until you do, the screen shows the placeholders.


4. Prove it sells (5 min)

  1. On the cabinet screen, pick a product → Pay nowScan & Pay → pay the QR with your phone.
  2. The product drops. (ZHZN: the storefront vend rides the cabinet's normal pending queue; Reyeah: /apk/createOrder.)
  3. In Operator X → machine page → Sales the order appears within a minute, and the aisle count is one lower.
  4. If a Nayax reader is fitted, tap once on the reader too. The tap must settle against this serial (Operator X → machine → Nayax).

If the product does not drop, stop and read §6 — do not leave a cabinet that takes money and drops nothing.


5. Leave-site checklist

Inspect cabinet condition, installed placement and power requirements against the actual handover evidence.

Check Where to see it
Cabinet shows Online Operator X → Machines → the row
Lifecycle stage Live, all five checks green Machine page → Lifecycle card
Real products and prices on every aisle Machine page → Aisles
One paid vend delivered; order visible; stock decremented Machine page → Sales
Reader bound and one tap settled (if fitted) Machine page → Nayax
Reviewed address and separate on-site installation confirmation for this exact serial, venue time zone and host arrangement verified Machine → address/installation panel; commercial host record separately
Admin PIN known to the operator (not written on the cabinet) Machine page → Admin PIN
Power-cycle once: the kiosk screen returns by itself On the cabinet
Walk-up sensor greets you when you step in front of the camera (ZHZN) On the cabinet

Gateway readiness, an address match and the saved operator statement do not observe physical delivery, bank settlement or safe installation. Record the actual on-site evidence for these checks.


6. If something is wrong

Symptom Cause Fix
Cabinet never appears in Operator X No network, or it is online but you are looking at the wrong operator Check Wi-Fi on the cabinet; the serial is only visible to you after Claim
Claim says 409 already registered to another operator Wrong serial, or a reused demo serial Read the sticker again; ask support to release it
Nayax says 409 already bound to machine … That reader was bound at the factory or to another cabinet Read back the saved binding and compare it with this cabinet's fitted reader; continue only when both match. Have an authorized owner resolve a different-machine binding
Go live stays grey on online No heartbeat in the last minutes Inspect connectivity and fresh health. Resolve any in-flight purchase or queued command before an approved restart
Product does not drop (ZHZN) Wrong tray module or serial port Machine page → Factory test card shows the attested port and tray type; compare with Vend board on the same page
Product drops, stock does not move The command/order may be a service test or its report may be pending Retain its reference, inspect the actual outcome and reconcile counted stock; do not create another paid order to explain the first
Screen shows Aurora Water etc. Placeholder planogram §3 — set your products
Reader does not activate Wrong number (9-digit Machine ID) or reader not on MDB Use the 16-digit Device Number; see /manual/nayax-zhzn

7. Access and interface boundaries

  1. Use a named account with verified setup scope and assigned-machine access. Native Android opens Full console for expanded setup, crew and refund operations; do not substitute shared credentials.
  2. Configure actual products and physically verify quantities before first fill. A placeholder catalog or a green stock check is not physical stock evidence.
  3. Cabinet credentials are separate from phone registration. ZHZN enrolment waiting to be armed must follow the authorized device-credential procedure; do not assume a fleet-secret fallback makes a cabinet ready.
  4. Operator receipt acceptance is the web machine Build & factory QA → Accept this machine action. Flutter's factory signature is the manufacturer's separate record. Perform the physical checks first.
  5. Remote test dispensing actuates real hardware. Use the approved supervised service procedure and resolve an existing command/payment before another command. API or UI availability is not permission to test an unattended cabinet.

Appendix — the calls behind the wizard

Step Call
Cabinet first contact ZHZN POST /zhzn/register, then POST /zhzn/heartbeat; Reyeah /apk/getEquipment
Claim POST /api/v1/machines/register {machineNo, name?}
Address review POST /api/v1/machines/{machineNo}/address/check, then POST /api/v1/machines/{machineNo}/address/confirm after reviewing the returned candidate
On-site installation statement POST /api/v1/machines/{machineNo}/address/installation after observing the exact cabinet and confirming its placement
Nayax POST /api/v1/machines/{no}/nayax {terminalId}
First fill POST /api/v1/inventory/machines/{no}/restock {aisles:[…]}
Checks GET /api/v1/machines/{no}/lifecycle
Go live POST /api/v1/machines/{no}/lifecycle/onboarding/complete
Factory handoff read GET /api/v1/machines/{no}/factory-certificate

Historical example, not approval of the current candidate: validated live 2026-09-05 on ZHFTDEMO0905B through the Operator X wizard: claim → locate → Nayax 409 on a reader bound elsewhere, then 200 on the right one → first fill (10 aisles) → checks green → Machine is live.