A Night Cap Is an Accounting Problem, Not a Calendar Problem
Every article about night caps tells you the limit. Almost none tells you the harder thing, which is this: if someone asks you to prove your number next year, today’s calendar cannot answer.
That is not a software complaint. It is a property of calendars.
Checked 27 September 2026. Short-term letting rules move fast — Paris cut its cap in January 2025 and Amsterdam cut parts of the city in April 2026. Verify against the authority before you act on anything here. This is general information, not legal advice.
Why today’s calendar cannot evidence last March
A booking calendar is current state. It tells you what is true now, and it is designed to be edited.
- Block a week today, and those days now read “blocked” — including in March, when they were wide open and a guest could have booked them.
- Delete a block, and days that were genuinely closed reappear as though they were always available.
- Disconnect a channel feed, and every block that feed created leaves with it.
None of that is a bug. It is what “current state” means. But it does mean the calendar cannot be evidence of a past date, because the past is rewritten every time you touch the present.
Now put that against the actual question. Cape Town’s draft by-law asks what proportion of your room-nights were available over a rolling year. London asks how many nights were let in the calendar year. Both are questions about days that have already gone.
The accountant’s answer
Accountants solved this centuries ago, and the answer is not a better calendar. It is a ledger: an append-only record of what was true on each day, written on that day, and never retroactively edited.
So that is what we built. Once a night’s tracking is on, Airflow writes one row per property per night, every night, recording:
- what state the night was in — open, booked, blocked by you, blocked by a channel feed, or unpublished
- whether it was ever offered, and whether it was ever booked
- how many bedrooms the property had at the time, and whether the listing was live
Note ever offered. Once a night has passed, what it was — offered or not, booked or not — is fixed, and no later edit changes it. A night still in the future is different: close it and it comes out of the count, which is exactly what makes closing nights useful. The ledger is final looking back and live looking forward, which is precisely the protection a retroactive change defeats.
This is the one part that cannot be backfilled. We reconstruct history as best we can when you first switch it on — and we label every reconstructed day as reconstructed rather than passing it off as observed — but a day that passed before you started tracking is a day nobody recorded. Which is the argument for starting now rather than when a letter arrives.
The modelling decision everything rests on
Here is the question that decides whether your number is right, and it is not obvious.
Is a booked night “available”?
We say yes. A night that sold was, by definition, on the market — that is how it sold. Only a genuine host block reduces availability.
Get this backwards and an availability cap becomes unbreachable: every booking would reduce your availability, so a fully booked year would read as low availability. Which is nonsense, and would tell a Cape Town host they were comfortably under while they were comfortably over.
Channel-feed blocks are the genuinely ambiguous case. A block arriving from an Airbnb feed usually means “sold somewhere else” — offered, then taken. But some feeds also carry owner blocks, and they look identical. We count them as offered by default and let you change it, because the honest answer is it depends on your feed, and a setting you can see beats a guess you cannot.
What it gets you
A number, with the working attached. Not “you are compliant” — we never say that, because compliance is a legal conclusion and we are a measurement. What you get is: over this window, on this rule, this is your figure, and here is every night that makes it up.
A date, before it arrives. On the calendar as it stands, this is the day you would cross. A warning in month four is worth something; a breach discovered in month eleven is worth nothing.
A statement you can hand over. Every night in the period, its state, the bedroom count at the time, the rule in force, and an honest split between days we observed and days we reconstructed.
The least painful way back under. If you are heading over, the nights you close should be the ones you were least likely to sell well — so the recommendation ranks your own year by your own rate card and closes upward from the cheapest, leaving a protected horizon so it never touches the next few months.
The bit hosts resist, and the reason they shouldn’t
Most hosts do not keep accounting records of their letting. They keep a calendar and a bank statement, and at the end of the year they add things up.
That worked while nobody was counting. From 20 May 2026, platforms report host activity to national authorities every month across the EU. Cape Town’s draft by-law assumes the City receives availability data from platforms continuously.
The counting is happening. The only open question is whether you have your own figure, or only theirs.
And the useful thing — the reason this is not just more admin — is that it is the same record either way. The ledger that proves your night count is the ledger that tells you which weeks earn their keep, what your real occupancy is by season, and where next year’s rate card should move. You were going to want that anyway. The compliance case is just what finally makes it urgent.
What to do this week
Knowing the number is not the same as being able to prove it, and the proof is the part that takes months to accumulate. It is worth starting before you need it.
- Create an account — start free; a card is needed at sign-up.
- Import your booking history. Paste your Airbnb or Booking.com iCal link, or upload a CSV. Past bookings come in too, so the counter is right from the first day rather than from today.
- Turn on the letting limit for the property and pick your city’s rule from the list. It is four settings — what you count, per night or per room-night, over which window, up to what limit — and the presets fill them in.
- Add your registration number once. It renders on your listing wherever Airflow publishes it.
Then leave it alone. It counts every night, tells you the date you are forecast to cross, and can close the least valuable nights automatically to keep you under.
Related: Short-Term Rental Rules by City, 2026, From 20 May 2026, Your Platform Reports Your Nights For You, and Occupancy Was 78%. So Why Was It a Bad Year?.