Leisure Land β€Ί Executive Summary
Product Requirements Document Β· Doc 01 Β· Galle, Sri Lanka

Leisure Land Digital Platform

A web and mobile-responsive platform covering the full guest lifecycle β€” from discovery and booking through payments, day-pass ticketing, room & dining management, loyalty, and a fully centralized operations system. Built to carry the brand from upper-middle to high-class.

Prepared by fern. β€” planning, design, implementation & operational execution

β—† At a glance

Executive Summary

A single-glance view of the program: scope, scale, priorities and the operational posture across two delivery phases and eleven product modules.

2Delivery phases
11Product modules
9+Third-party integrations
15System diagrams
3Payment gateways
<1sTarget page load
24/7Self-service booking
0WhatsApp manual bookings (post-launch)

The thesis. Leisure Land currently sells a premium nature-adventure experience through a non-premium channel β€” a WhatsApp number. This document specifies the platform that replaces it: Phase 1 ships a fast website with real online booking and three payment gateways (Koko, PayHere, Stripe); Phase 2 folds every operation β€” rooms, food, inventory, staff, finance and loyalty β€” into one centralized system with a single source of truth.

β—† Framing

Introduction & Business Objectives

Leisure Land is a nature-adventure destination in Galle β€” water slides, outdoor activities, riverside food and cabins. As construction completes and the brand repositions toward a high-class audience, six objectives frame every requirement in this document.

⚑

1. Speed & first impression

Rebuild the site for sub-second loads and strong SEO β€” the digital front door of a premium brand.

πŸ’³

2. Frictionless payment

Take money online instantly via the right gateway for each guest and product.

πŸ“…

3. Eliminate manual booking

Retire WhatsApp as a booking desk; make it a notification channel instead.

🧠

4. Own the guest data

Capture every guest into a CRM to enable loyalty, remarketing and upsell.

πŸ”—

5. Centralize operations

One system for bookings, rooms, F&B, inventory, staff and finance.

πŸ“ˆ

6. Move upmarket

Membership tiers, concierge and premium UX to attract a high-class clientele.

β—† Who it serves

Stakeholders & User Personas

Internal stakeholder groups who operate the platform, and the guest personas it must delight.

Internal stakeholders

πŸ‘‘

Ownership

Wants revenue, occupancy and brand-position visibility in real time.

πŸ›ŽοΈ

Front desk

Manages bookings, check-ins and guest queries from one screen.

🍳

F&B / kitchen

Receives orders, manages menu and stock without paper.

🧹

Operations & housekeeping

Room status, activity slots and on-site staffing.

Guest personas

πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦

Local family day-tripper

Books day passes for the slides. Price-sensitive β†’ loves Koko instalments & PayHere. Sinhala/English.

✈️

International tourist

Books a cabin + activities online before arriving. Pays via Stripe, expects multi-currency & English UX.

πŸ’

Premium couple / event

Wants curated packages, dining and concierge. The high-class segment the brand targets next.

🏒

Corporate / group organizer

Books in bulk for outings and team events; needs invoices and group rates.

🎁

Gifter

Buys gift cards & vouchers for friends and family.

πŸ”

Returning member

Loyalty-tier guest who books repeatedly and earns perks.

β–€ Fifteen views

System Diagrams

Fifteen interactive views of the same platform β€” each diagram exposes a different angle on the architecture, flow, hierarchy, data or constraints.

πŸ—οΈ Platform Architecture

A layered, modular architecture. Phase 1 ships the booking & payment slice; Phase 2 adds the centralized modules β€” but every block is independent and API-driven from day one.

DIAGRAM 01

Layered architecture (Phase 1 β†’ Phase 2)

Channels feed an edge/API layer, which orchestrates core services over a shared data layer and external integrations.
CHANNELS 🌐 Website πŸ“± Guest PWA πŸ›ŽοΈ Front desk 🍽️ POS / KDS πŸ› On-site QR 🏝️ OTAs πŸ“Š EDGE / API πŸ›‘οΈ CDN + WAF πŸ”Œ API Gateway Β· Auth Β· Roles 🌊 Event Bus (Phase 2) CORE SERVICES πŸ“… Booking EngineavailabilityΒ·holds πŸ’³ PaymentsroutingΒ·webhooks πŸ”” Notifications πŸ›οΈ PMS (P2)roomsΒ·housekeeping 🍽️ F&B / POS (P2)menuΒ·kitchenΒ·tabs πŸ‘₯ CRM / Loyalty πŸ“¦ Inventory (P2) πŸ’° Finance (P2) πŸ§‘β€πŸ€β€πŸ§‘ Staff/HR (P2) πŸ“£ Marketing πŸ“ˆ BI DATA LAYER πŸ—„οΈ PostgreSQL βš™οΈ Redis cache 🌊 Warehouse + Object store INTEGRATIONS 🟣 Koko πŸ‡±πŸ‡° PayHere 🌍 Stripe πŸ’¬ WhatsApp βœ‰οΈ SendGrid 🏝️ OTAs πŸ“Š GA4 Β· Metabase Β· Maps Β· Reviews
Core (Fern-built) Module / infra External integration P2 = arrives in Phase 2

πŸ”„ Booking Workflow

The happy path from intent to ticket β€” fully automated, money settled before arrival.

DIAGRAM 02

End-to-end booking flow

Inventory is only confirmed after payment succeeds β€” no double-bookings, no chased deposits, no no-shows.
🧭Choosepass/room/slot πŸ“…Availabilitylive check ⏳Hold10-min πŸ’³Paygateway βœ…Confirmwebhook 🎟️TicketQR + WhatsApp πŸ”’ If payment fails or the hold expires, inventory is released automatically and the guest can retry.

⏱️ Payment Sequence

Message-level detail of a successful payment across the system actors.

DIAGRAM 03

Sequence β€” guest pays for a day pass

Lifelines run top-to-bottom; each arrow is a call or callback between actors.
πŸ‘€ Guest 🌐 Web πŸ”Œ API πŸ’³ Gateway πŸ—„οΈ DB πŸ”” Notify Tap β€œPay” POST /checkout create hold + reserve init payment intent redirect / payment sheet enter card / Koko approve webhook: paid βœ“ confirm booking, decrement stock send QR ticket WhatsApp + email confirmation

🏊 Swimlane Process

The same booking process, organized by who is responsible at each step.

DIAGRAM 04

Swimlanes β€” responsibility across actors

Four lanes: Guest, Platform, Payment, Operations. Notice how little falls to staff vs. today's WhatsApp model.
GUEST PLATFORM PAYMENT OPS Browse & pick Hold inventory Enter details Process payment Confirm + ticket Greet / check-in

πŸ” Booking State Machine

Every booking moves through a strict set of states β€” the system, not a person, enforces the transitions.

DIAGRAM 05

States & transitions of a booking

Terminal states are shaded. Timeouts and payment results drive automatic transitions.
Draft Held Pending Pay Confirmed Checked-in Completed Expired Cancelled Refunded add items checkout paid βœ“ arrive visit ends timeout guest cancels refund
Active states Positive terminal Cancellation paths

πŸ—„οΈ Data Model (ERD)

The core entities and how they relate β€” the foundation of the single source of truth in Phase 2.

DIAGRAM 06

Entity-relationship diagram

Simplified core schema; secondary attributes omitted for clarity.
Guest id (PK)name Β· email Β· phonetier_id (FK)created_at Booking id (PK)guest_id (FK)statusvisit_date Β· slottotal Β· created_at BookingItem id (PK)booking_id (FK)product_id (FK)qty Β· unit_price Product id (PK)type: pass/room/diningname Β· pricecapacity Β· slot_rules Payment id (PK)booking_id (FK)gateway: koko/ph/stripeamount Β· statustxn_ref MembershipTier id (PK)name Β· perkspoints_rate 1 β€” N 1 β€” N 1 β€” N N β€” 1 N β€” 1

🧠 Module Mind Map

Everything the platform contains, radiating from the core β€” a quick mental model of scope.

DIAGRAM 07

Capability mind map

Phase 1 branches in teal, Phase 2 branches in blue.
Leisure LandPlatform πŸ“… Booking πŸ’³ Payments πŸ”” Notifications πŸ‘₯ CRM πŸ›οΈ PMS 🍽️ F&B / POS πŸ“¦ Inventory πŸ’° Finance πŸ… Loyalty πŸ“ˆ BI / Analytics

🌳 Tree Decomposition

The system broken down hierarchically β€” useful for scoping and estimation.

DIAGRAM 08

Work breakdown structure

Platform β†’ domains β†’ sub-systems.
Leisure Land Platform Commerce Operations Guest & Loyalty Platform Services Booking Payments PMS F&B/POS Inventory CRM Loyalty Marketing Auth/API BI Infra

πŸ”— Dependency DAG

What must be built before what β€” the critical path through the program.

DIAGRAM 09

Build dependency graph

Arrows mean β€œdepends on”. The Core/API and Database underpin everything.
DB + API Core Booking Engine Payments Website Notifications CRM PMS / POS Loyalty BI Dashboard

πŸ•ΈοΈ Integration Network

The platform sits at the centre of a network of third-party services. (Full per-integration diagrams further down.)

DIAGRAM 10

Integration network graph

Node size hints at criticality; colours group by integration category.
Platformcore Koko PayHere Stripe WhatsApp SendGrid OTAs GA4 Metabase Maps
Payments Messaging Distribution Analytics

πŸ“† Timeline / Gantt

When each workstream runs across the two phases (indicative).

DIAGRAM 11

Delivery Gantt

Phase 1 β‰ˆ weeks 1–8 Β· Phase 2 β‰ˆ weeks 9–22. Bars are relative durations.
W1W4W8W12W16W22

πŸ… Membership Tiers

A loyalty ladder built for the move upmarket β€” turns day-trippers into repeat premium guests.

DIAGRAM 12

Tier comparison

Illustrative structure β€” perks and thresholds finalized with the client.
Explorer

Free

  • Online booking
  • Digital tickets
  • 1Γ— points
Silver

3 visits / yr

  • 5% off passes
  • Priority slots
  • 1.5Γ— points
Gold

8 visits / yr

  • 12% off + dining perks
  • Free cabin upgrade*
  • 2Γ— points
Platinum

Invite / spend

  • Concierge & events
  • Private dining
  • 3Γ— points + gifts

πŸ“Š Distribution Charts

Projected mix of payments and bookings β€” to size gateway fees and capacity.

DIAGRAM 13a

Revenue by gateway (projected)

Drives fee negotiation & settlement planning.
πŸ‡±πŸ‡° PayHere
48%
🟣 Koko
27%
🌍 Stripe
25%
DIAGRAM 13b

Bookings by product type

Informs slot capacity & staffing.
πŸ› Day passes
62%
🍽️ Dining
20%
πŸ›οΈ Cabins
13%
🎁 Gift cards
5%

πŸ”» Conversion Funnel

Where visitors drop off and where the platform must perform β€” the metric the redesign is judged on.

DIAGRAM 14

Visitor β†’ confirmed booking funnel

Target conversion after launch β‰ˆ 4–6% (vs. the leaky manual WhatsApp flow today).
Visit site β€” 100%
View a product β€” 64%
Start checkout β€” 22%
Reach payment β€” 9%
Confirmed booking β€” 5%

πŸ—‚οΈ Delivery Kanban

A snapshot of how delivery is tracked β€” illustrative board for the Phase 1 sprint.

DIAGRAM 15

Sprint board

Each card is a shippable unit; columns flow left to right.
Backlog 4
Loyalty tiers Phase 2
OTA channel sync Phase 2
KDS for kitchen Phase 2
AI concierge Phase 2
To do 3
Gift cards & vouchers P1
Digital waivers P1
Review automation P1
In progress 3
Booking engine P1 Β· core
Payment routing P1 Β· core
Site rebuild P1 Β· core
Done 3
Discovery & brand P1
Sitemap & content model P1
Gateway accounts P1
β–Ά Live & clickable

Interactive Booking Demo

A working prototype of the Phase 1 guest experience. Pick items, choose a gateway, get a confirmation β€” no real charges, sample data only.

🌿 Leisure Land β€” Book your visit
DEMO Β· no real payment
1
Select
2
Date
3
Details
4
Pay
5
Done
πŸ›
Adventure Day Pass

All slides + activities

0
Rs 3,500
πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦
Family Bundle (4)

4 passes + lunch

0
Rs 12,000
πŸ›οΈ
Nature Cabin (night)

Sleeps 2 Β· breakfast

0
Rs 22,000
🍽️
Riverside Dining (2)

Set menu Β· evening

0
Rs 4,500
Rs 00 items
β–’ The product

Feature Modules

Eleven modules make up the platform. Each is tagged with the phase it ships in. Phase 1 modules form the revenue engine; Phase 2 modules centralize operations.

πŸ“…
Phase 1

Booking Engine

Real-time availability and reservations for day passes, cabins and timed activity slots, with holds and rules.

πŸ’³
Phase 1

Payments

One checkout, smart-routed across Koko, PayHere and Stripe, with webhooks, refunds and reconciliation.

πŸ””
Phase 1

Notifications

Automated WhatsApp & email confirmations, QR tickets, reminders and review requests.

πŸ‘₯
Phase 1

CRM & Loyalty

Every guest captured into a profile; loyalty tiers, points and gift cards layered on top.

πŸ›οΈ
Phase 2

Property Mgmt (PMS)

Room inventory, rates, housekeeping status and check-in/out from the front desk.

🍽️
Phase 2

F&B / POS + KDS

Menu, table & tab management, and a kitchen display system for the restaurant.

πŸ“¦
Phase 2

Inventory

Stock for F&B and retail, low-stock alerts and supplier tracking.

πŸ§‘β€πŸ€β€πŸ§‘
Phase 2

Staff / HR

Rostering, shifts, attendance and payroll inputs tied to operations.

πŸ’°
Phase 2

Finance

Invoicing, tax, daily revenue reconciliation across all channels.

πŸ“£
Phase 2

Marketing Automation

Win-back, birthday and seasonal campaigns triggered from CRM data.

πŸ“ˆ
Phase 2

BI & Analytics

Owner dashboard: revenue, occupancy, popular activities and staff KPIs in real time.

✨
Add-on

Premium add-ons

QR wristbands, dynamic pricing, AI concierge, digital waivers, OTA channel manager β€” see roadmap.

πŸ”Œ Plugs into

Integration Map

Nine third-party services across four categories. Each one is wired through the platform's integration layer, never directly into the front-end β€” so any provider can be swapped without a rebuild.

IntegrationCategoryDirectionPhasePurpose
🟣 KokoPaymentsOut β†’ callbackP1BNPL instalments for day passes
πŸ‡±πŸ‡° PayHerePaymentsOut β†’ callbackP1Local cards & wallets (LKR)
🌍 StripePaymentsOut β†’ webhookP1International cards & Apple/Google Pay
πŸ’¬ WhatsApp BusinessMessagingOutP1Tickets, confirmations, reminders
πŸ“² TwilioMessagingOutP1SMS / OTP fallback
βœ‰οΈ SendGridMessagingOutP1Transactional & marketing email
🏝️ Booking.com / Airbnb / AgodaDistributionTwo-way syncP2Channel manager for cabins
πŸ“Š GA4 + MetabaseAnalyticsInP1Web analytics & BI dashboards
πŸ—ΊοΈ Google Maps / ReviewsOpsTwo-wayP1Location, directions & reputation

πŸ’³ Payments β€” Koko Β· PayHere Β· Stripe

Three gateways behind a single Payment Service. The service chooses the rails based on product type and guest location, then listens for the callback/webhook before confirming the booking.

INTEGRATION Β· PAYMENTS

Payment routing & settlement

Solid = request out Β· dashed = confirmation back. The booking is only confirmed on a verified callback.
πŸ›’ Checkoutone UI πŸ’³ Payment Servicerouting + reconcilewebhook handler 🟣 Koko β€” BNPLday passes Β· pay in 3 πŸ‡±πŸ‡° PayHerelocal cards Β· LKR 🌍 Stripeglobal Β· multi-currency 🏦 Bank payoutsettled to LL

Koko

  • BNPL, interest-free splits
  • Lifts AOV on bundles
  • LL paid upfront, Koko carries risk

PayHere

  • Visa/Master/Amex in LKR
  • eZ Cash & local wallets
  • Low domestic fees

Stripe

  • Global cards + wallets
  • Multi-currency display
  • Strong fraud tooling

πŸ’¬ Messaging β€” WhatsApp Β· Twilio Β· SendGrid

WhatsApp flips from a booking desk to an automated notification channel. Events in the platform fan out to the right messaging provider.

INTEGRATION Β· MESSAGING

Event-driven notifications

A single Notification Service subscribes to booking & payment events and dispatches across channels.
πŸ“… Booking event πŸ’³ Payment event ⏰ Reminder job πŸ”” Notification Svctemplates Β· routing πŸ’¬ WhatsApp Business API πŸ“² Twilio SMS / OTP βœ‰οΈ SendGrid email πŸ‘€ Guest

🏝️ Distribution β€” OTA Channel Manager Phase 2

Cabins are sold not just on the website but across online travel agencies. A channel manager keeps one calendar in sync so a room can never be double-sold.

INTEGRATION Β· DISTRIBUTION

Two-way OTA sync

Availability & rates push out; bookings pull back in β€” all reconciled against the central PMS.
πŸ›οΈ Central PMSsingle calendar πŸ”„ Channel Managerrates Β· availability Β· res 🌐 Booking.com 🏠 Airbnb ✈️ Agoda two-way

πŸ“Š Analytics & Ops β€” GA4 Β· Metabase Β· Maps Β· Reviews

Behavioural and operational data flows into analytics; location and reputation services flow both ways.

INTEGRATION Β· ANALYTICS & OPS

Insight & reputation loop

GA4 captures web behaviour, Metabase reads the warehouse, Maps & Reviews close the on-site loop.
🌐 Website πŸ—„οΈ Platform + Warehouseevents Β· bookings πŸ“ˆ Google Analytics 4 πŸ“Š Metabase BI πŸ—ΊοΈ Maps & Reviews πŸ‘‘ Owner dashboard
β—· Ship in slices

Phased Rollout

Each phase is independently shippable β€” Phase 1 delivers visible revenue wins fast; Phase 2 builds the long-term platform on top without throwing any of it away.

Phase 1 Β· β‰ˆ 6–8 weeks

Foundation β€” site, booking & payments

W1–2Discovery, brand, content model, gateway accounts
W3–5Site rebuild, booking engine, 3 gateways, notifications
W6QA, security review, staff training
W7–8Launch, monitor, optimize conversion

Acceptance: a guest can book & pay online end-to-end; WhatsApp manual bookings β†’ 0.

Phase 2 Β· β‰ˆ 10–14 weeks

Centralization β€” one system

W1–3Core platform, data model, roles, dashboard shell
W4–8PMS, POS/KDS, CRM, inventory on shared data
W9–11Loyalty, channel manager, BI, marketing automation
W12–14Migrate Phase 1, full QA, staff onboarding, cut over

Acceptance: all operations run from one dashboard with a single source of truth.

β—· Infrastructure

Hosting Evolution

Infrastructure grows with the product β€” start lean and cheap, scale only when traffic and modules demand it.

HOSTING

Phase-by-phase infrastructure

Same cloud provider throughout; capacity and services expand per phase.
PHASE 1 β€” LEAN ⚑ CDN (Cloudflare)πŸ–₯️ 1 app server (container)πŸ—„οΈ Managed Postgres (small)βš™οΈ Redis Β· object storage PHASE 2 β€” SCALED ⚑ CDN + WAFπŸ–₯️ Auto-scaling app clusterπŸ—„οΈ Postgres + read replica🌊 Warehouse + event busπŸ“Š Monitoring Β· backups Β· CI/CD FUTURE β€” HA 🌍 Multi-AZ redundancyπŸ“ˆ Horizontal scalingπŸ›‘οΈ DR & SLA hardening
βš™ Quality bar

Non-Functional Requirements

The constraints that govern how the product performs, not just what it does.

⚑

Performance

<1s LCP on 4G, Core Web Vitals green, image optimization, CDN edge caching.

πŸ”’

Security

PCI-DSS via gateways (no raw card data stored), encryption at rest & in transit, RBAC, audit logs.

β™Ώ

Accessibility

WCAG 2.1 AA, keyboard navigable, semantic markup, sufficient contrast.

πŸ“ˆ

Scalability

Stateless services, horizontal scaling, queue-backed jobs for peak weekends.

πŸ“±

Devices

Mobile-first responsive, installable PWA, tested across iOS/Android & desktop.

πŸ›Ÿ

Reliability

99.9% uptime target, daily backups, monitoring & alerting, graceful degradation.

βš™ Self-serve

Admin & CMS Requirements

So Leisure Land staff can run the platform day-to-day without engineering involvement.

  • Manage products, prices, packages & promo codes
  • Open/close activity slots and set capacity
  • Edit website content, pages, banners & gallery
  • View, search, refund & modify bookings
  • Manage rooms, rates & availability (Phase 2)
  • Menu & inventory management (Phase 2)
  • Staff accounts & role-based permissions
  • Export reports (CSV / PDF) & view dashboards
  • Configure notification templates
  • Manage loyalty tiers & gift cards
βš™ Judged by

Success Metrics & KPIs

The numbers the platform is measured against once shipped.

4–6%Visitor β†’ booking conversion
<1sPage load (LCP)
0Manual WhatsApp bookings
<10%No-show rate (prepaid)
+25%Avg. order value via bundles & upsell
30%+Repeat guests via loyalty (P2)
<2 minFront-desk check-in time
4.6β˜…Target avg. review rating

Next steps. On sign-off, Fern kicks off Phase 1 discovery: brand & content workshop, gateway account setup (Koko, PayHere, Stripe), and a clickable design prototype within two weeks. This document is a living artefact β€” it updates as the build progresses.