Skip to main content

Phase 1 — Mobile Acceptance Checklist

Task: E4 — Real-device mobile testing Scope: Single-page sign-off for QA lead to gate Phase 1 launch (Apr 14, 2026) Companion docs: phase1-mobile-device-test-plan.md, phase1-mobile-device-matrix.md

This checklist is the final go/no-go for mobile. Every box must be checked (or explicitly waived with a Phase 2 ticket number) before QA lead signs off.


0. Pre-testing gates​

  • EAS account logged in (npx eas-cli whoami succeeds) — BLOCKS EVERYTHING
  • All 4 preview APKs built and downloaded to shared location
  • APK application-label verified as "KeyNova …" (not "HMP …") via aapt dump badging
  • All 4 physical devices provisioned per device matrix section 1.5
  • QA backend reachable from test devices (curl http://43.204.247.178/api/health returns 200)
  • Test credentials verified (admin / manager / frontdesk / hk)
  • Shared artifact folder created: hmp-docs/docs/testing/phase1-mobile-artifacts/<date>/

1. Per-app smoke (must pass on all 4 devices)​

1.1 KeyNova Housekeeping​

DeviceInstallsLoginTask acceptPhoto uploadOffline syncReal-timeLogout
Galaxy A23 (A13)[ ][ ][ ][ ][ ][ ][ ]
Pixel 6 (A14)[ ][ ][ ][ ][ ][ ][ ]
S23 Ultra (A14)[ ][ ][ ][ ][ ][ ][ ]
Tab A8 (A11)[ ][ ][ ][ ][ ][ ][ ]

1.2 KeyNova Manager​

DeviceInstallsLoginDashboard KPIsOperations tabApproveReportsLogout
Galaxy A23 (A13)[ ][ ][ ][ ][ ][ ][ ]
Pixel 6 (A14)[ ][ ][ ][ ][ ][ ][ ]
S23 Ultra (A14)[ ][ ][ ][ ][ ][ ][ ]
Tab A8 (A11)[ ][ ][ ][ ][ ][ ][ ]

1.3 KeyNova F&B​

DeviceInstallsLoginTables planOrder + modifierSend KOTReal-time KOTClose table
Galaxy A23 (A13)[ ][ ][ ][ ][ ][ ][ ]
Pixel 6 (A14)[ ][ ][ ][ ][ ][ ][ ]
S23 Ultra (A14)[ ][ ][ ][ ][ ][ ][ ]
Tab A8 (A11)[ ][ ][ ][ ][ ][ ][ ]

1.4 KeyNova Guest​

DeviceInstallsLoginMy StayPre Check-InRoom ServiceRequestLogout
Galaxy A23 (A13)[ ][ ][ ][ ][ ][ ][ ]
Pixel 6 (A14)[ ][ ][ ][ ][ ][ ][ ]
S23 Ultra (A14)[ ][ ][ ][ ][ ][ ][ ]
Tab A8 (A11)[ ][ ][ ][ ][ ][ ][ ]

2. Cross-app scenarios (sample on 1 phone + 1 tablet)​

ScenarioHKManagerF&BGuest
Battery ≤ 15% drain/hour (F&B ≤ 20%)[ ][ ][ ][ ]
WiFi → cellular handoff mid-action, no duplicate[ ][ ][ ][ ]
Cold start branded splash visible[ ][ ][ ][ ]
Warm start resumes previous screen[ ][ ][ ][ ]
Readable in low-light (back-of-house)[ ][ ][ ][ ]
No crash on rotation (portrait locked)[ ][ ][ ][ ]
TalkBack navigation works on login + primary CTA[ ][ ][ ][ ]
Android large text (largest) — no critical truncation[ ][ ][ ][ ]
One-handed thumb reach (HK / Guest only)[ ]——[ ]

3. Branding verification​

CheckHKManagerF&BGuest
Launcher icon is KeyNova K-leaf placeholder[ ][ ][ ][ ]
Launcher name starts with "KeyNova "[ ][ ][ ][ ]
Splash background is navy #0A1628[ ][ ][ ][ ]
Header bar navy with gold accents[ ][ ][ ][ ]
Primary CTAs gold on navy[ ][ ][ ][ ]
Zero "HMP" text anywhere in UI[ ][ ][ ][ ]
Deep link scheme keynova-*://[ ][ ][ ][ ]

4. Known placeholder items — waive for Phase 1 (must all be acknowledged)​

ItemAcknowledgedPhase 2 ticket
Logo SVG is RN-rendered placeholder (design pending)[ ]____________
Satoshi font not loaded (system font fallback)[ ]____________
Splash PNG is old Expo art (navy background masks)[ ]____________
Launcher icon is placeholder[ ]____________
Notification icon is placeholder (Manager only)[ ]____________
iOS builds not configured[ ]____________
Guest app has no push notifications[ ]____________
Guest app is English-only[ ]____________
F&B payment collection is view-only (no Razorpay SDK yet)[ ]____________
Pre Check-In has no ID photo upload[ ]____________

5. Blockers found (list here — must be empty to launch)​

<one row per blocker>
Severity | Device | App | Check ID | Description | Owner | Status

6. Degraded items shipped (document in release notes)​

<one row per degraded item>
Device | App | Description | Impact | Phase 2 ticket

7. Final sign-off​

  • All Section 1 smoke checkboxes ticked (or explicitly waived with P1 ticket)
  • All Section 2 cross-app scenarios passed
  • All Section 3 branding checks passed
  • All Section 4 placeholder items acknowledged with Phase 2 ticket numbers
  • Section 5 blockers list is empty
  • Section 6 degraded items are in the Phase 1 release notes

QA lead sign-off:

Name:  __________________________
Date: __________________________
Time: __________________________
GO / NO-GO: __________________________
Comments: __________________________________________
__________________________________________
__________________________________________

Mobile team lead sign-off (acknowledges placeholder items + Phase 2 backlog):

Name:  __________________________
Date: __________________________
Signature: _____________________

Release manager sign-off (authorizes production APK distribution):

Name:  __________________________
Date: __________________________
Signature: _____________________

8. Appendix — Quick reference​

8.1 Android version / device quick-reference​

SlotDeviceAndroidPrimary for
1Galaxy A2313Budget phone coverage
2Pixel 614Stock Android baseline
3S23 Ultra14Phablet / manager
4Tab A811Older Android / tablet

8.2 Test credentials quick-reference​

RoleEmailPassword
Adminadmin@hmphotel.com<REDACTED>
Managermanager@hmphotel.com<REDACTED>
Front deskfrontdesk@hmphotel.com<REDACTED>
Housekeepinghk@hmphotel.com<REDACTED>

8.3 Backend URLs​

EnvURL
QA (Apr 7-10)http://43.204.247.178/api
Prod (Apr 11+)https://api.keynova.in/api (TBD — update eas.json + rebuild)

8.4 APK install quick command​

adb install -r keynova-<app>-preview-YYYYMMDD-HHMM.apk

8.5 Emergency rollback​

If a P0 blocker emerges mid-launch-day:

  1. QA lead notifies #keynova-phase1-launch Slack channel
  2. Mobile on-call rolls APK back via hmp-infrastructure/releases/phase1-mobile/previous/
  3. Property staff re-install previous APK per sideload instructions
  4. Incident recorded in hmp-infrastructure/incidents/phase1-mobile-<date>.md