Skip to main content

01 — Product Overview

Companion: README · Service Index · Enterprise Architecture

This document is the canonical product overview for Ghasi Melmastoon. It establishes identity, problem framing, surfaces, personas, value propositions, feature surface area, competitive positioning, geographic strategy, operating modes, success metrics, and explicit out-of-scope boundaries. All downstream specs (architecture, microservices, frontend, journeys, roadmap, ADRs) inherit definitions from this document.


1. Identity & Naming

1.1 Name

Ghasi Melmastoon (Pashto: د غاسي ملمستون).

1.2 Tagline

Hospitality, locally rooted, globally ready.

1.3 Etymology of "melmastoon"

Melmastoon (ملمستون) is the Pashto word for guesthouse and, by extension, for the institution of hospitality itself. It derives from melma (ملمه, "guest") + the suffix -stoon (ـستون, "place of"). It is the lexical and cultural cousin of melmastia (ملمستيا) — the Pashtunwali obligation of unconditional hospitality to a guest, regardless of cost, identity, or circumstance.

The brand choice is deliberate. Hospitality is not a feature of this product. It is the operating ethos and the design constraint:

  • Defaults protect the guest experience. No automatic cancellation without operator confirmation; default grace periods on late checkout; AI suggestions are never auto-applied to guest-facing state.
  • The product respects local context before global convention — Pashto / Dari / Persian first, Hijri and Solar Hijri calendars first-class, cash-on-arrival as a real payment method, not a workaround.
  • The product respects the operator — touch-friendly affordances, undo-everywhere, voice-friendly labels, "Try this?" instead of "Apply this".

1.4 Elevator pitch

Ghasi Melmastoon is a multi-tenant hotel SaaS that fuses three things small/medium hoteliers in low-resource markets cannot otherwise get in one product: a consumer meta-search experience where travelers discover and book without leaving the platform, a tenant-branded booking experience generated from one shared codebase with per-tenant theming, and an AI-first, offline-first Electron desktop backoffice that runs the property's daily operations even when the internet does not.


2. Problem Statement

Small and medium hoteliers in Afghanistan, Tajikistan, and Iran — and in structurally similar markets across Central Asia, MENA tier-2, the Sahel, and South Asia — operate under conditions that mainstream hotel software does not solve for. The cumulative result is that the modal small/medium hotel in these markets uses WhatsApp, Excel, and a paper register as its operating system.

ConstraintField realityImpact on existing software
Unreliable internetFrequent outages, throttled bandwidth, expensive mobile data, hours-long blackouts in some districtsCloud-only PMS becomes unusable; staff fall back to paper, then re-key data hours later, with errors
Intermittent powerDaily load-shedding, generator-only nights, voltage spikes that crash servers and POS terminalsLong-running cloud sessions die mid-flow; on-prem servers are unaffordable and fragile
Mixed tech literacyOne generalist IT person across multiple properties (or none); staff trained on the previous PMS by roteImplementations stall; vendors require expensive consultants; new features go unused
Cash-heavy economyCard penetration is low; trust gates payment to physical handover; agents move cash physicallyCard-only payment systems exclude the majority of bookings; reconciliation is manual and lossy
RTL languages, mixed scriptsPashto, Dari, Persian, Arabic; staff switch between Pashto and Dari mid-task; numerals vary (Arabic-Indic vs European)English-only or partial Arabic UI; staff translate mentally on every screen; data-entry errors compound
Currency volatilityAFN, IRR, PKR move materially intra-day; guests pay in USD or EUR; OTAs settle in a third currencySingle-currency folios create reconciliation pain; reported revenue drifts from cash position
OTA fragmentationBooking.com, Agoda, Expedia, regional OTAs, local agents, walk-ins, calls — each with its own inventory and priceOverbooking, price leakage, no single source of truth; OTAs take 15-25% commission
Fragmented lock hardwareMix of mechanical keys, RFID cards, mobile credentials, and generic Wiegand controllers from cheap regional vendorsVendor-locked PMS support 1-2 lock brands; the rest stays manual
Per-room USD pricingMainstream PMS charge per-room/month in USD, billed annuallyUnaffordable for 8-50 room independents on thin local-currency margins
Disconnected meta-searchTrivago-style products list properties but hand the booking off to OTAsHoteliers cannot retain the guest relationship or the margin

Ghasi Melmastoon replaces that stack with one platform that respects these constraints rather than ignoring them.


3. Platform Surfaces

Ghasi Melmastoon ships four user-facing surfaces plus a small platform-staff control plane. All four surfaces share the design tokens (@ghasi/ui-melmastoon), the i18n bundle, the API contracts in docs/05-api-design.md, and the AI provenance contract enforced by ai-orchestrator-service.

#SurfaceAudiencePrimary techPrimary BFFOnline req.
1Consumer Meta WebGuests browsing across tenantsNext.js (App Router), TailwindCSS, Leaflet, React Query, PWA shellbff-consumer-serviceOnline (PWA browse cache)
2Consumer MobileGuests on phonesReact Native (single multi-tenant app)bff-consumer-serviceOnline (offline cache for last results)
3Tenant Booking Web/MobileGuests inside a tenant contextNext.js (web) + the same React Native app rendering the tenant themebff-tenant-booking-serviceOnline (graceful degradation on payment)
4Backoffice DesktopHotel staff and managementElectron (Node 20 main + Chromium renderer) + Vite + React + SQLite (better-sqlite3) + ONNX Runtime Nodebff-backoffice-serviceOffline-first, sync when online

3.1 Consumer Meta Layer (web + mobile)

A Trivago-style meta-search experience with one critical inversion: the booking does not leave the platform. Search inputs (location, check-in/out, guests, rooms, filter band) drive search-aggregation-service; results render in list view (provider, photo, min/max price, availability summary, rating) and map view (Leaflet pins with quick-info popovers). On selection, the user transitions into the tenant's themed booking flow inside the same app — same bundle, same session, swapped theme and policies. The URL changes to the tenant subdomain or path; the routing transition is mediated by bff-consumer-service and bff-tenant-booking-service.

What is unique: no OTA handoff, no commission, retained guest relationship for the hotelier, and a unified analytics surface across discovery and booking.

3.2 Tenant Booking Site (web)

A single shared Next.js codebase. Tenant theming is applied at runtime via theme-config-service — logo, color tokens, type ramp, layout preset, content blocks (about, policies, FAQs). Tenants pick presets, not arbitrary HTML. This protects accessibility, performance, and security; it also makes onboarding a configuration job, not an engineering job. Booking flow: room selection → rate selection → date / guest adjustments → special requests → payment method → confirmation → email / SMS / WhatsApp receipt + pre-arrival sequence. Full RTL/LTR. Locale-aware formatting for dates (Gregorian + Hijri + Solar Hijri presentational variants), currencies, and numerals.

What is unique: per-tenant brand experience without per-tenant forks, governed by a token + preset model.

3.3 Consumer Mobile App

A single React Native app, multi-tenant aware. Discovers across tenants, then renders the tenant booking flow under the tenant theme. Offline browse cache for the last set of results, but payment flows always require connectivity. Shares @ghasi/ui-melmastoon design tokens and the i18n bundle with the web surfaces — token changes propagate in one PR.

What is unique: one consumer app for the entire platform, not one per tenant.

3.4 Backoffice Desktop App (Electron, AI-first, offline-first)

The canonical operational surface for hotel staff and management. Built on Electron (Node 20 main process + Chromium renderer), Vite + React in the renderer, SQLite via better-sqlite3 as the local store, and ONNX Runtime Node for offline AI inference. Packaged with electron-builder, signed, and updated through electron-updater.

The desktop app mirrors the operational subset of platform state needed to run the property when the internet is off: reservations (current ± 30 days), guests, room status, housekeeping tasks, billing drafts, staff schedules, key/lock state snapshots. The sync engine speaks the platform's /sync/v1/pull|push protocol with idempotency keys and per-aggregate conflict policy — never last-write-wins for monetary or inventory state. ONNX models cover housekeeping order optimization, anomaly heuristics, and basic demand smoothing locally; heavier models route to ai-orchestrator-service when online.

What is unique: a real local DB with real conflict resolution and real edge AI — not a connectivity banner.

Desktop stack is fixed: Electron + Vite + React + SQLite (better-sqlite3) + ONNX Runtime Node + electron-builder + electron-updater. Substitutions require an explicit, unanimous ADR.

3.5 Control Plane (platform staff)

A small internal admin surface for Ghasi platform staff to manage tenants, plans, feature flags, theme reviews, and incident response. Lives behind bff-backoffice-service with stricter ABAC. Not a tenant-facing surface and not counted in the four primary surfaces above.


4. Personas

PersonaGoalsFrustrationsPrimary surfaceKey KPI
Hotel OwnerVisibility into revenue, occupancy, and staff performance across one or more properties; defensible margins; minimal vendor lock-inCannot trust the numbers; finance reconciliation takes days; OTA commissions eat margin; cannot benchmarkDesktop dashboards + scheduled reportsDirect-booking ratio; gross profit per available room (GPAR)
General ManagerCoordinated operations; rapid response to issues; data to make rate and staffing decisionsInformation arrives by phone; manual rate changes; no forecast; staff disputes shiftsDesktop (full backoffice)Forecast accuracy; alert response time; ADR vs market
Front DeskFast check-in/out; correct keys; correct folio; handle walk-ins; answer guest questionsSlow PMS, internet drops, paper backlog, double-booked rooms, key-encoder failuresDesktop (reservation + check-in board)Avg check-in time; walk-in conversion; zero double-booking days
Housekeeping LeadCoordinated room turnover; correct priorities; visibility into delays; clear maintenance escalationConflicting priorities from front desk and GM; no language support on existing toolsDesktop (housekeeping board)Turnover SLA hit-rate; rooms ready before check-in window
HousekeeperClear task list; correct order; mark rooms ready; report maintenance issuesPaper sheets, retraced steps, conflicting instructions, no Pashto/DariDesktop (focused task view) — large touch targetsRooms cleaned per shift; first-time-right ratio
MaintenanceTriaged work orders; parts visibility; preventive tasks not forgottenReactive only; no asset history; surprise OOS roomsDesktop (work-order queue)MTTR; preventive task completion; OOS hours avoided
Finance / AdminAccurate folios, reconciled cash, audited refunds, currency-aware reportsCash drawer drift, manual FX, scattered receipts, no audit trailDesktop (folio + EOD + reports)End-of-day variance; refund cycle time
Chain OperatorCross-property visibility; standardized operations; benchmarkingEach property runs differently; no aggregated view; consolidating data is manualDesktop (multi-property switcher) + portalCross-property KPI dashboard; standardization compliance score
GuestFind the right room at the right price; book confidently in own language; pay how they want; check in fastConfusing OTA-branded flows; unclear cancellation rules; payment gateways that fail; no Pashto/Dari supportTenant booking web/mobile + consumer mobileBooking completion rate; NPS; check-in time
Walk-in GuestGet a room tonight; pay in cash; minimal paperwork; trust the rateSuspicion of inflated walk-in rates; no receipt; no record of stayDesktop (front-desk walk-in flow)Walk-in conversion; receipt issuance rate
Marketing ReviewerApprove tenant-branded site changes (theme, content blocks, photos) before publishSlow review queues; no diff view; theme changes break accessibilityControl-plane theme reviewReview SLA; reject-and-republish ratio

Persona-specific journeys are detailed in docs/journeys/01-core-user-journeys.md. Permission models per persona are in docs/07-security-compliance-tenancy.md.

4.1 Operator skill profile

A non-trivial product constraint: the modal backoffice operator in target Phase 0 markets is not a digital native. The desktop app is therefore designed for: large touch targets, generous defaults, undo-everywhere, a "home" affordance always one tap away, voice-friendly labels, no hidden menus for primary tasks, and AI suggestions phrased as "Try this?" rather than as commands.


5. Value Propositions

  1. Meta-search and direct booking, unified. Discoverability of an OTA, settlement economics of direct — the guest never bounces to a third-party site, and the hotelier keeps the relationship and the margin.
  2. Offline-first backoffice that actually works offline. Real local SQLite, real conflict resolution per aggregate, real edge AI via ONNX Runtime Node — not just a connectivity banner. The Electron desktop app is the canonical operational surface, designed for daily use without network.
  3. AI-assisted operations grounded in HITL. Demand forecasting, dynamic pricing suggestions, housekeeping schedule optimization, anomaly detection (suspicious bookings, payment outliers, lock-event anomalies, late-checkout trends), upsell recommendations, and multilingual message drafting — every AI action is suggested, logged, provenance-tagged ({ model, version, promptId, traceId, reviewedBy?, reviewedAt?, local }), and human-acceptable when the action is irreversible or guest-facing.
  4. Multi-tenant theming without per-tenant forks. Single shared codebase; runtime theming via theme-config-service; bounded customization that protects accessibility, performance, and security.
  5. RTL/LTR and localization-first. Pashto, Dari, Arabic, English, French day one; locale-aware dates (Gregorian + Hijri + Solar Hijri presentational), currencies, calendars, and numerals across every surface.
  6. Cost-efficient GCP-native architecture. Cloud Run + Cloud SQL + Pub/Sub + Memorystore sized for small/medium tenants, scaling per-service. No GKE tax, no heavyweight service mesh, no per-room pricing model.
  7. End-to-end lock integration with pluggable vendors. Adapters for TTLock, Salto, Assa Abloy, and a generic Wiegand/RFID adapter cover the long tail of regional hardware; the key lifecycle is driven by the reservation aggregate's state machine (issue on check-in, update on room change, revoke on early checkout) with vendor-specific failure handling.
  8. Cash-on-arrival as a first-class payment method. Reconciliation, cash-drawer accounting, and audit trail are core, not workarounds.
  9. Implementation-grade specs from day one. Every service has 17 standardized docs designed to be fed into AI coding tools (Cursor, Copilot, Claude) without re-explanation.

6. High-Level Feature Catalog

DomainCapabilityOwning service(s)
Discovery & BookingCross-tenant meta search (list + map)search-aggregation-service, bff-consumer-service
Tenant-branded booking flow (web + mobile)bff-tenant-booking-service, theme-config-service
Multi-currency presentation, FX snapshot at confirmpricing-service, billing-service
Pre-arrival messaging, confirmation, receiptsnotification-service
PMSProperty + room + room-type catalog, amenities, geoproperty-service
Reservation lifecycle (book → confirm → check-in → check-out → no-show / cancel)reservation-service
Walk-ins, group bookings, modifications, splitsreservation-service
Rate & InventoryRate plans (BAR, weekly, government, corporate, non-refundable), restrictions (MinLOS / CTA / CTD), seasonal calendarspricing-service
Availability, allocation, overbooking guard, stop-sellinventory-service
Room state lifecycle (clean / dirty / OOO / OOS)inventory-service, housekeeping-service
OperationsHousekeeping board + AI-suggested orderhousekeeping-service, ai-orchestrator-service
Maintenance work orders + asset registry + preventivemaintenance-service
Drag-and-drop room and task boards on the desktopbff-backoffice-service
Finance & PaymentsFolios, charges, taxes, invoices, refundsbilling-service
End-of-day reconciliation, cash-drawer accountingbilling-service
Pluggable payments (PayPal, Visa/Debit, cash-on-arrival, MFS)payment-gateway-service
Sharia-compliant payment policy per tenantpayment-gateway-service
Guest EngagementEmail / SMS / push / WhatsApp / Viber multi-channel notificationsnotification-service
Guest profiles, preferences, stay historyreservation-service, property-service
Post-stay feedback collectionnotification-service
AI-drafted multilingual messages with provenanceai-orchestrator-service + notification-service
Theming & ConfigurationBrand tokens, layout presets, content blockstheme-config-service
Per-tenant policy + content versioning with audittheme-config-service, tenant-service
Lock & KeyKey issuance, update, revocation tied to reservation statelock-integration-service, reservation-service
Vendor adapters: TTLock, Salto, Assa Abloy, generic Wiegand/RFIDlock-integration-service
Offline key snapshot for the desktop applock-integration-service, bff-backoffice-service
Reporting & AnalyticsTwelve canonical reports (occupancy, ADR, RevPAR, GPAR, channel mix, payment mix, EOD, audit log, …)reporting-service
Scheduled exports (PDF / CSV) and offline cachereporting-service
Cross-cutting KPI rollups, time-series, cohortsanalytics-service
AI ServicesDemand forecasting + dynamic pricing suggestionsai-orchestrator-service + pricing-service
Housekeeping schedule optimizationai-orchestrator-service + housekeeping-service
Anomaly detection (bookings, payments, lock events)ai-orchestrator-service
Upsell recommendationsai-orchestrator-service + reservation-service
HR-liteStaff profiles, roles, shiftsstaff-service
Lightweight time trackingstaff-service
IntegrationsLock vendor adapters (pluggable)lock-integration-service
Payment provider adapters (pluggable)payment-gateway-service
OTA channel manager (Phase 3+)reservation-service (channel port)
File storage (photos, invoices, IDs) with signed URLsfile-storage-service

Some features that competitors highlight are deliberately simplified or absent — see § 11 (Out of Scope).


7. Competitive Positioning

CapabilityCloudbedseZee AbsoluteHotelogixRoomRaccoonRMS CloudTrivagoBooking.comGhasi Melmastoon
Meta + direct booking unified (no OTA handoff)NoNoNoNoNoMeta only (handoff)OTA modelYes
Offline-first backofficeNoNoNoNoNoN/AN/AYes (Electron + SQLite + sync engine)
AI-native ops (forecast, pricing, anomaly, upsell)Partial add-onLimitedLimitedLimitedLimitedN/AInternal onlyNative, provenance-tagged, HITL
RTL + Pashto/Dari first-classNoPartial ArabicNoNoNoPartialPartialYes
Multi-tenant theming (no fork)LimitedLimitedLimitedLimitedLimitedN/AN/AYes (theme-config-service)
Low-resource cost fit (per-room USD model)Per-room USDPer-room USDPer-room USDPer-room USDPer-room USDOTA commissionOTA commissionTiered SaaS sized for SMB
Lock integration (multi-vendor)1-2 vendors1-2 vendors1-2 vendors1-2 vendors1-2 vendorsNoneNonePluggable (TTLock, Salto, Assa Abloy, Wiegand)
Tenant customizability without engineeringLimitedLimitedLimitedLimitedLimitedN/AN/APresets + blocks + tokens
Cash-on-arrival as first-classWorkaroundWorkaroundWorkaroundWorkaroundWorkaroundN/ALimitedFirst-class with reconciliation
Designed for unreliable network / powerNoNoNoNoNoN/AN/ADesigned for it

The defensible wedges are: (a) meta + direct booking unified, (b) genuine offline-first backoffice on Electron with edge AI, (c) Pashto/Dari/RTL leadership, (d) pluggable locks across the long tail of vendors actually present in target markets, (e) AI-native with HITL, and (f) cost fit for SMB independents. No incumbent has more than two of these.


8. Geographic Strategy

PhaseGeographyDominant currencyPayment railsLock vendor availabilityLanguage priorityTax modelRegulatory note
0 — BeachheadAfghanistanAFN (USD widely used)Cash-on-arrival dominant; Hawala for cross-border; some PayPal for diaspora; cards rareTTLock common (mobile-credential), generic Wiegand controllers, mechanicalPashto + Dari first; English secondProvincial bed-tax + service charge; receipts often hand-written todayNo formal hospitality data-protection regime; design to GDPR-class baseline
0 — BeachheadTajikistanTJS (USD/RUB used in tourism)Cards growing in Dushanbe; cash dominates regions; M-Pesa-like local rails emergingTTLock + Salto in newer builds; mechanical elsewhereDari/Tajik (Persian script variant) first; Russian second; English thirdVAT 14% (varies); tourism-zone exemptionsTourism push from government; data localization not strict
0 — BeachheadIranIRR (USD-pegged informal pricing)Domestic payment rails (Shaparak/Sadad); international cards effectively unusable; cash + bank transferLocal + Salto + Assa Abloy in mid-tier; mechanical elsewherePersian (Farsi) first; English second; Arabic thirdVAT 9%; tourist tax in select citiesSanctions-aware payment routing; local-only rails by default; CMEK on PII
1 — Near-term regionalPakistan, Iraq, Egypt secondary citiesPKR, IQD, EGP (USD used)JazzCash, Easypaisa (PK); Fawry (EG); cash-heavy in IQTTLock + Salto + genericUrdu (PK), Arabic dialects (IQ, EG); EnglishVAT/GST varies; tourism leviesCountry-specific KYC for payments
2 — Mid-termGCC (UAE, KSA, Oman, Bahrain), South Asia (Nepal, Bangladesh), Sahel + East AfricaAED, SAR, OMR, BHD, NPR, BDT, XOF, KESCards mainstream in GCC; M-Pesa, Wave in EA; mobile money in SahelSalto + Assa Abloy mainstream in GCC; mixed elsewhereArabic + English (GCC); Bengali, Nepali, French, SwahiliVAT 5-15%; tourism dirham/levy in someUAE PDPL, KSA PDPL, regional data residency
3 — LaterEurope + North America (independents and small chains)EUR, GBP, USD, CADCard-mainstream; Apple/Google Pay; SEPASalto + Assa Abloy + Onity + KabaEN, FR, DE, ES, ITVAT/GST country-specific; city tourist taxGDPR (EU/UK), CCPA (CA), PIPEDA (CA); SOC 2 expected

Each phase entry condition is documented in docs/roadmap/01-product-roadmap.md and gated by readiness criteria, not calendar dates.


9. Operating Modes

The platform — and especially the Electron desktop app — is designed to remain useful across five operating modes. Each mode has explicit user-facing semantics, sync behavior, and AI behavior.

ModeTriggerWhat worksWhat degradesSync behaviorAI behavior
Fully OnlineStable connectivity, all platform services healthyEverything: meta search, booking, full PMS, full AI, real-time analytics, lock operationsContinuous; outbox flushes immediatelyCloud models via ai-orchestrator-service (Vertex AI); HITL on irreversible actions
Degraded OnlineConnectivity flaky, one or more services slow / down (e.g., payment provider down, lock vendor API down)Browsing, reservation reads, housekeeping updates, EOD prepAffected service-specific actions queue (e.g., key-issuance retry, payment retry)Outbox queues failed mutations with backoffCloud models still attempted; fallback to edge models on timeout
Fully OfflineNo connectivity from the desktop appDesktop reads from SQLite snapshot: reservations (± 30 days), guests, room status, housekeeping tasks, billing drafts, staff schedules, key/lock state snapshot. New mutations queued in the outbox. Cash-on-arrival check-in/out works end-to-end including key issuance against cached vendor credentials where the lock vendor supports offline issuanceCard payments (degrade to cash-on-arrival or held-for-later); any cross-tenant operation; live AI cloud callsOutbox accumulates; UI shows clear sync state and pending countEdge ONNX models only (housekeeping order, anomaly heuristics, basic forecasting smoothing); cloud calls are silently deferred, never silently fabricated
Sync RecoveryConnectivity restored after offline periodBackground reconciliation: pull server-state delta, push outbox in order, apply per-aggregate conflict resolution; UI surfaces conflicts that need operator decisionAffected screens may briefly show "reconciling" statesPer-aggregate merge rules (never last-write-wins for monetary or inventory state); idempotency keys ensure safe replayEdge AI continues; cloud AI resumes; provenance tags include local: true → false transition where applicable
AI Degradedai-orchestrator-service unhealthy, model provider rate-limited, or moderation provider downAll operations work without AI assistance; explicit "AI suggestions unavailable" affordance shown; no auto-applied AI stateAI suggestions, drafted messages, anomaly callouts, dynamic pricing suggestionsUnaffectedUI hides AI affordances or shows "Try again later"; never substitutes a fabricated suggestion

Sync, conflict resolution, outbox semantics, and idempotency keys are specified in detail in docs/05-api-design.md (sync contract) and docs/04-event-driven-architecture.md.


10. Success Metrics

10.1 North Star

Gross booking volume retained in-platform per tenant per month (in tenant's settlement currency, FX-snapshot at confirm). This single metric captures the product's central wedge: the meta layer drives discovery, and the booking completes in-platform — the hotelier keeps the relationship and the margin.

10.2 Supporting metrics

MetricOwner surface / serviceHealthy directionWhy it matters
Meta-layer conversion rate (meta search → booking confirmed in-platform)bff-consumer-service, bff-tenant-booking-serviceValidates the unified meta + direct value prop
Direct-booking share (% of confirmed reservations from direct + meta vs OTA + agent)reservation-service (channel attribution)Proves we are reducing OTA dependency for tenants
Sync conflict rate (conflicts requiring operator decision per 1k synced mutations)bff-backoffice-serviceValidates per-aggregate merge rules and offline-first design
Sync latency p95 (time from offline mutation to server-side apply once online)bff-backoffice-serviceOperational health of the sync engine
Key-issuance success rate (per vendor, per attempt)lock-integration-serviceValidates the lock-port abstraction and vendor adapters
AI suggestion acceptance rate (per surface: pricing, housekeeping, message-drafting, upsell)ai-orchestrator-service↑ over time, with provenance reviewProves AI is useful, not noise; gates Phase 2 capabilities
AI HITL bypass attempts (irreversible actions where HITL was required and skipped)ai-orchestrator-service= 0Compliance + safety guardrail
Time-to-check-in (front-desk start → key issued)desktop app + lock-integration-serviceFront-line operational quality
End-of-day variance (cash drawer expected vs counted)billing-service→ 0Finance trust signal
Provider-onboarding time (kickoff → first live booking)tenant-service + control planeDistribution velocity
NPS / guest CSAT (post-stay)notification-service (collection), analytics-service (rollup)Brand-level signal

The full metric catalog with computation, owning service, and dashboard placement lives in docs/observability/01-observability.md and analytics-service's bundle.


11. Out of Scope (Initial Spec)

Explicit boundaries — these are not addressed by the current specification set and must not creep into service designs without an ADR:

  • Full revenue management beyond suggestions. AI proposes rates; tenants accept or reject. Full automated yield management is deferred until forecast accuracy on real tenant data clears the readiness bar in docs/08-ai-architecture.md.
  • Full HR / payroll. staff-service covers profiles, shifts, and lightweight time tracking. Tax, payroll, benefits, performance management, and HRIS integration are out of scope.
  • Restaurant POS. Out of scope. Phase 3+ may integrate via a thin POS adapter; no in-platform POS is planned.
  • Spa / activities / experiences booking. Out of scope; design hooks exist in pricing-service for future ancillary inventory.
  • OTA channel manager. Phase 3+. The reservation aggregate exposes a channel port and Phase 0/1 only ship direct, meta, front-desk, and agent channels. OTA adapters (Booking.com, Expedia, Agoda) are not in scope now.
  • Deep accounting integration. Phase 3+. EOD exports (CSV) and per-tenant invoice templates are in scope; QuickBooks / Xero / Zoho Books / SAP B1 connectors are not.
  • Loyalty / rewards programs. Out of scope for Phase 0/1; reservation-service carries a loyaltyId field reserved for future use.
  • Native mobile backoffice app. The Electron desktop app is the canonical staff surface. A phone-form-factor staff app is deferred; the consumer mobile app is unrelated to staff workflows.
  • Custom HTML in tenant theming. Tenants choose presets and content blocks. Arbitrary HTML/CSS is explicitly disallowed to protect accessibility, performance, and security.
  • Self-serve tenant onboarding without human review. Phase 0/1 onboarding is assisted (KYC, payment setup, theme review). Fully self-serve is a Phase 2+ outcome.
  • Cross-chain enterprise consolidation. Multi-property is supported (a tenant can own many properties); cross-chain enterprise-grade consolidation (corporate hierarchies, brand families, master-data governance) is deferred.

12. Glossary Refresher

The canonical short glossary lives in the README. It defines the non-negotiable terms used across this overview and every downstream spec: Tenant, Property, Room, Rate Plan, Reservation, Booking, Folio, Channel, Lock Adapter, Key Credential, Backoffice Operator, Guest, Provider Site, PMS, Melmastoon.

For the long-form glossary (including AI provenance, sync vocabulary, payment vocabulary, and lock vocabulary), see docs/standards/NAMING.md.


13. Cross-References