Skip to content
App Crafters
All projects

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. 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. 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. 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. 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.