A reference build: we made this ourselves to show how we work. It is not a client engagement, there is no customer to name, and there are no measured outcomes to report - so this page does not pretend to have any.
Sixty units, one changeover Saturday
A reference build: the back office for a managed villa portfolio - owner statements, changeover logistics, access codes and the compliance paperwork each booking generates.
- Client
- Reference build
- Sector
- Short-term rentals
- Year
- 2026
- Built with
- Next.js, Postgres, Flutter, TTLock, myDATA
The numbers
- 60
- Units under contract, most changing over on the same day of the week
- 1
- Ledger behind both the owner statement and the accounts, so the two agree by construction
- 0
- Manual filings, because the stay declaration goes against the right AMA when the booking confirms
The problem
A manager with sixty units under contract has a hard week every week: most changeovers land on the same day, cleaning crews have to be routed, keys or codes handed over, owners paid a share that differs per contract, and each booking generates a short-stay declaration against the property's AMA. All of it lived in three spreadsheets and a phone.
What we did
- 1
Changeover is modelled as its own scheduled object rather than as a property of a booking, because a cleaning crew's day is a routing problem across units and not a field on a reservation. Once it is an object, it can be assigned, reordered and marked done from a phone.
- 2
Owner statements are generated from the same ledger the bookings post into, so the number an owner sees and the number in the accounts are the same number by construction rather than by reconciliation.
- 3
Compliance is filed as a consequence of the booking, not a monthly chore: the short-stay declaration goes against the correct AMA when the booking confirms, which is also what the EU-wide registration requirement from May 2026 assumes.
- 4
Access codes are generated on confirmation and expire at checkout, which removed the physical key handover that caused most of the manager's evening phone calls.
Where it got to
The change worth describing is structural rather than numerical: the manager stopped being the integration between six systems. Nobody measured hours saved, so this write-up does not claim any.
A worked example
Changeover is its own scheduled object rather than a field on a booking, because a cleaning crew's day is a routing problem:
- Units
- 60
- Typical changeover day
- Saturday
- Each changeover generates
- clean, key, filing
- Owner splits
- differ per contract
No hours-saved figure appears because nobody measured one. What changed is structural: the manager stopped being the integration between six systems.