One Database Per Room as an Operational Model
The counter-intuitive approach: instead of a single monolithic property management database where every booking for every room lives together, you run a separate Memento library for each room. Room 02 has its own database. Room 07 has its own. The booking history for any given room — its occupancy record, its revenue history, its guest register — lives entirely in that room's file.
This architecture makes immediate sense for a small guesthouse or boutique property where each room has a distinct rate, a distinct occupancy pattern, and distinct physical characteristics the staff tracks. Querying Room 02's complete history is a zero-friction operation: open the Room 02 database. There's no room-number filter to apply, no risk of accidentally viewing another room's records, no sorting required.
The trade-off is cross-room reporting: seeing total property occupancy across all rooms simultaneously requires exporting or aggregating across libraries. For a property with 8-12 rooms where the owner-operator manages their own front desk, the per-room model reduces daily cognitive load considerably.
The Billing Logic Embedded in Every Record
Every booking record in the Room 02 database carries a complete billing calculation. NUMBER OF DAYS fires datediff(check out date, check in date) the moment both dates are populated. The VAT field calculates ((room charges + extra person) × VAT%) / 100, using the integer percentage entered per booking — which can change if the property straddles a tax rate change mid-season. TOTAL PRICE multiplies the per-night total (base rate plus extra person supplement plus VAT) by the calculated number of days.
The Extra person field as a separate integer from ROOM CHARGES is the structural decision that captures the most commonly missed revenue item at small properties. Room 02 has a standard rate for single or double occupancy; anything beyond that triggers a per-person-per-night supplement. Entering that supplement as a distinct field — not absorbed into a manually adjusted room charge — means the supplement appears explicitly in every record, creating a paper trail that shows exactly how often it was charged versus waived.
The OTR Number — the OTA booking reference from Booking.com, Airbnb, or whatever channel originated the reservation — links the Memento record back to the channel's own booking record for reconciliation. When the channel's payout statement arrives and doesn't match what the property received for a booking, the OTR number is the key that connects the two systems.
The Register as a Legal Document
Dual guest name fields and dual ID number fields capture both adult occupants of the room, not just the person who made the reservation. In Sri Lanka and in many South and Southeast Asian jurisdictions, the requirement to register every adult guest with a government-issued identity document — passport, national ID card, driving licence — applies to all occupants regardless of who booked. A room 02 record that shows only GUEST NAME and a blank GUEST NAME 2 field is an incomplete register for a double-occupancy booking.
The check-in and check-out time fields, separate from the date fields, record the precise arrival and departure times. For a small property where the owner personally manages transitions, knowing that the previous guests departed at 14:30 and the incoming guests are arriving at 15:15 compresses the window for room preparation to 45 minutes. Both timestamps in the record make that calculation immediate.
The booking manager attribution — Name Of Booking SM, selecting from Surendra, Kamal, or Nimal — records which staff member processed the booking. At month end, filtering by staff member shows each person's booking volume and flags any pattern where bookings attributed to one person show systematically higher rates of missing fields or billing discrepancies.