Skip to main content

BUSINESS.md: Hotel8:Loyalty — Business Requirements & Functionality

Audience: product owners, business analysts, and anyone evaluating what Hotel8:Loyalty does for the business. For architecture read README.md; for wire-level detail read DESIGN.md.

1. Business Purpose​

  • Grow repeat business with a programmable rewards program: earn on stays, redeem across hotel and restaurant touchpoints.
  • Make program economics (tiers, rates, catalog) tenant-authored data.
  • Reward stays automatically the moment the stay completes.

2. Business Scope (What the Service Provides)​

CapabilityDescription
ProgramsMultiple reward programs per tenant with authored economics
EnrollmentMember enrollment with loyalty numbering
Member linkageMember ↔ PMS guest-profile linking (via PMS)
Stay pointsAutomatic earning from PMS check-out by tier rules
LedgerAppend-only point transactions (earn/redeem/adjust/expire/transfer)
TiersThreshold-based progression with per-tier earn multipliers
Redemption catalogAdmin-curatable rewards with point costs
RedemptionsRedeem rewards (catalog and POS table-side)
ExpiryProgram-authored expiry windows
Admin consoleRFW pages incl. shared Shield admin

What the service does NOT own (business boundary)

ConcernOwning service
Guest identitySentin8:Auth
Guest profiles & stayshotel8:pms
Reward usage at the tablehotel8:pos
Offer/upsell economicshotel8:upsell
Notification deliverySentin8:Post
Money movement of any kindBill8:Payments / Bill8:Ledger

3. Business Capabilities​

AreaBusiness rule
EnrollmentA member belongs to a program and carries a unique loyalty number; identity linkage to an auth user is recorded when the member signs in.
EarningStay points accrue by tier rule × folio spend; awarded exactly once per checked-out stay.
TieringTiers progress by program-authored thresholds over earned value; multipliers increase with tier.
RedemptionA reward redeems only with sufficient balance; redemption is a ledger movement, never a balance edit.
AdjustmentsService recovery adjustments carry the adjusting identity and reason.
ExpiryPoints expire by program window; expiry is a ledger movement, preserving history.
TransferPrograms may permit member-to-member transfers under policy.
CatalogAdmin-curated reward items with costs and availability.

4. Business Events (Outbound)​

EventFires when
hotel8:loyalty:program:created, tier:configuredProgram configuration
hotel8:loyalty:member:created / linkedEnrollment and profile linkage
hotel8:loyalty:points:earned / awarded / adjusted / redeemed / expiredLedger movements
hotel8:loyalty:reward:created / updated / deleted / redeemedRedemption catalog and usage
hotel8:loyalty:tiers:reviewedTier review pass

Inbound (consumed): hotel8:pms:reservation:checked_out — awards stay points.

5. Business Rules & Invariants​

  1. A member's balance is the sum of their ledger; it can never go negative.
  2. Points earned from a stay are awarded exactly once per stay.
  3. Tier progression follows program thresholds automatically.
  4. Every ledger movement records its actor and business reason.
  5. Redemption at POS deducts loyalty first-class — the guest never double-pays.
  6. Program rules changes affect future movements only.

6. Target-User Roles & Use Cases​

PersonaUse
Guest/memberView balance & history; redeem rewards
Front desk / service recoveryAdjust points with reason
Program managerPrograms, tiers, catalog authoring
MarketingCampaign-linked earn rules
Hotel adminPolicy admin for the surface

7. KPIs / Success Criteria​

  • Member enrollment vs completed stays ratio.
  • Redemption rate and catalog health (no out-of-stock surprises).
  • Zero negative balances; zero duplicate awards.
  • Stay points awarded without agent action (auto-adjudication rate).

8. Dependencies & Reliance on Other Services​

RelianceFor
hotel8:pmsStays, folio snapshots (event payload), profile linkage
hotel8:posTable-side redemption initiation
Sentin8:Auth + ShieldIdentity; tier-aware adjust authority (ABAC)
Sentin8:Busloyalty stream + PMS intake
Sentin8:SysAudit ingestion
Sentin8:PostMember communications

9. Acceptance Criteria​

  1. A checked-out stay with a linked member auto-awards points per their tier.
  2. A redemption cannot overdraw a balance.
  3. A program's tier rules can be authored with no code change.
  4. A redemption performed at the restaurant reduces the member balance once.
  5. Point history is complete and auditable from the ledger alone.

10. Open Business Questions​

  • Partner transfers (airlines/retail).
  • Benefit catalogs beyond point economics.

Design attribution: hotel8:loyalty and its underlying concepts were designed by Hamid Jahanzad Hamid@Jahanzad.com.