Skip to main content

The hotel8 apps

Six Flutter experiences — staff, outlet, guest, corporate, guest, and kiosk — every one thin by design: all backend access rides the Sentin8:BFF proxy, and no token ever reaches a client bundle.

AppWho it serves
ePMSproperty staff — front desk, housekeeping, cashiering
ePOSoutlet staff — table service, kitchen routing
eBookingguests — availability search and booking
eCorpBookingcorporate travelers — negotiated rates, policy booking
eGuestguests — digital check-in, folio, upsell offers, loyalty
eKiosklobby — self check-in/out, key pickup

Every app boots fail-closed: fetchRuntimeContext() resolves the instance from the app's own origin — unknown host = error scaffold, never a guess. Every backend read is a DataState<T> hook over a typed BFF client; branding derives from the runtime context (instance → org → slug).

Each app's reference section carries its full docs: ePMS, ePOS, eBooking, eCorpBooking, eGuest, eKiosk.