Every inquiry — from the website form, the online store, a rental portal, the office entering it by hand, or plain email — becomes one client file that follows the reservation from first contact to final balance through a declared sequence of eleven states, each step recorded with its author and its reason.
Inside the file: the full conversation history, a contract built from the data already there and filed back once signed, charges tracked line by line — deposit, balance, city tax, damage deposit, extras — each with its own open amount and settled by bank transfer, the guest records Italian law requires before arrival, and a private area the client reaches through a personal link, with no password to remember, in Italian or English, readable on a phone.
Around the files, the system keeps the villa’s daily machine running: availability held in step with the website calendar and the external portals, automatic replies and follow-ups, a queue of outgoing messages that retries what fails, staff tasks with checklists and recurring rules, a wedding album and a dedicated mini-site for each couple, and a full-screen command centre that opens on what needs doing today.
The screens were never the hard part. The same stay can arrive from four channels at once, so the system keeps unique links and external identifiers and refuses to create a duplicate. External services resend the same notification, so every incoming event is checked for authenticity and executed exactly once. Deposits arrive in instalments and cannot be recorded twice. A guest double-clicking an extra never produces two orders. One malformed message can no longer block the mailbox reader for good. Guest document data is encrypted at rest and revealed only where it is needed. And a reservation cannot be closed while money is still open.
Roughly 90,000 lines of custom code across seven programs that behave as one: the public site, the booking system, the office command centre, operations and maintenance, the wedding album and direction room, the couples’ mini-sites, and the guest welcome guide. The booking system keeps a database of its own — 37 tables sitting alongside the website’s rather than rewriting them — versioned through fifty numbered migrations and refined over 542 recorded changes.