Guest registration, with validation that can refuse
Every accommodation unit must register each guest on arrival, against an identity document. The accepted documents are a closed list — identity card, passport, driving licence for Romanian citizens, seaman's book and the rest — and validation can refuse, not merely warn: accommodating someone without a valid document is prohibited, so a warning is not enough.
Visitors who stay overnight are registered too, even when they are not on the reservation.
We deliberately do not store an image of the identity document: the data protection authority has repeatedly fined accommodation units for indiscriminate copying of identity papers.
The arrival sheet, designed for paper on a desk
The sheet is printed and left on a reception desk, so identifiers are masked — it is built from the stored last four digits, and the code that generates it cannot decrypt anything even by mistake. A full national ID number on a desk sheet is a breach waiting for a photograph.
If there are no guests, the sheet refuses to generate rather than printing an empty table. A form with nobody on it looks entirely official and records nobody — the operator believes they are covered.
Warnings print as words, not coloured badges: the sheet leaves the building on paper, very often monochrome.
Tourism tax, as reference data
The tax is modelled as versioned reference data keyed by locality code and year, not as a percentage written into the code — each local council sets its own rate and form by its own decision. The capital applies a flat per-person per-night amount from 2026; other localities use a percentage.
The tax is collected on behalf of the city hall and sits outside the VAT base. Folding it in over-collects VAT and inflates reported revenue — a bug we had and fixed explicitly.
Classification, per property, not per company
The classification certificate is issued by the ministry per accommodation structure, not per legal entity. That is how it is held here: one certificate per property.
Day-to-day operation
An occupancy calendar across rooms, room types with housekeeping status, deposits collected before arrival, occupancy and average-rate statistics, and a full reservation history — status changes, check-ins, check-outs, notes.
Worth knowing
No international PMS is going to maintain roughly 3,180 Romanian local-council decisions. The difference is not the reservation screen, which looks much the same everywhere — it is what happens at arrival and at billing.