Field Stories10 min read

23:40, a Family of Four, and a Police Report Due in 24 Hours

By Ergini, Software & AI Developer

A composite story. The company and the people in it are invented. The problem, the rules and the system are real, and the full blueprint is in the use case library.

TL;DR

A composite story: a group with small hotels in Lucca and Florence and apartments in Valencia and Seville registers late guests from photocopies and phone photos, and types the police reports in the next morning. The workflow I would build collects each guest's data through a pre-arrival form, reads the passport's machine-readable zone and verifies its check digits, validates every record against the country's rules, reports to Alloggiati Web or SES.HOSPEDAJES when the stay starts and puts the tourist tax on the folio. The desk handles refusals, rejections and identity checks.

Room 14, 23:40

The taxi from Pisa stops outside the hotel two hours behind the family's flight. Davide, the night porter, has the key to room 14 on the counter and a registration card ready. Two adults, two children, three nights, the younger one asleep on her father's shoulder.

Before anyone goes upstairs, Davide needs their documents. Italian law makes the hotel identify its guests and report them to the police, and on this desk that means the photocopier behind him. The father's passport goes on the glass, then the mother's. Then the question every night porter hates asking at midnight: the children's documents too, please. The mother searches two bags for them while the older child sits on the suitcase. Davide copies all four, because nobody has ever written down which ones he actually needs.

The booking says Anna de Vries. Her passport says Anna Jansen, her birth name. Davide writes both on the card with a question mark, and at five past midnight the family goes upstairs. The copies go in the drawer under the counter, with the night's three other arrivals.

The group is invented: ten properties, small hotels in Lucca and Florence that came with an acquisition, and the apartment buildings in Valencia and Seville the group started with, on two different PMS. Every arrival in every one of them carries three obligations: identify each guest, report them to the police within 24 hours, and charge the city's tourist tax.

The handover book, 06:50

At ten to seven Davide writes the handover for Chiara, who runs the morning desk, in the lined notebook the hotel has used for years:

14: 4 pax, NL, arr. 23:40, copies in drawer. Booking name not the same as passport (de Vries / Jansen). 9: 2 pax, only one passport, the lady says tomorrow. 3: no-show. Alloggiati to do.

Chiara gets to the drawer at ten, between checkouts. She types each guest into Alloggiati Web by hand: surname, name, sex, date and place of birth, citizenship, document type, number and place of issue. The portal accepts only today or yesterday as the arrival date, and the 24 hours the law allows for room 14 end at 23:40 tonight anyway. She enters the mother under the name at the top of the card, which is the booking name, not the one on the passport. The second guest in room 9 never brings her document down, and nobody notices until the evening.

In Seville, the apartment office closed at eight. Three guests there sent passport photos by WhatsApp to the work phone, where the photos will stay in the gallery for as long as the phone lasts, and the morning team types them into SES.HOSPEDAJES from the screen. It all holds together, until a Friday with forty arrivals.

One page of the notebook

Marta runs operations for the group from Valencia. She gets in touch after a police check at the Florence hotel asks for the receipts of last month's reports, and it takes two people most of a day to find them across two portals and a filing cabinet.

On our first video call I ask her to photograph one page of the Lucca handover book, guest names covered, and send me that. It tells me more than any process document would. Almost every line is registration: who is missing a document, whose name does not match, which report has not gone yet. The night desk is doing police paperwork, spread across a notebook, a drawer, a phone gallery and two government portals.

What surprises me is how much the group collects that nobody asked for. The photocopier takes every document; the phone in Seville keeps every photo. Neither police system wants an image of a document, only its data. And there is no single place where anyone can see which of last night's guests were reported and which were not.

I also tell Marta early what the system will not do. It will not decide what happens to a guest who refuses to give their details; that is the property's call under its country's law. It will not correct a record the police have already accepted; a person does that through each system's own procedure. And it does no face matching. Whether the guest is the person in the passport photo is for Davide to see.

Arithmetic first, then a shorter form

The first piece I build reads documents without any AI. A few days before arrival, the lead guest gets a link by WhatsApp template or email, in the booking's language, with one short form per guest and the guest count taken from the reservation. Each guest photographs the side of their document with the machine-readable zone, the two or three lines of letters and chevrons that passports and most ID cards carry. OCR reads it, and code verifies its check digits as ICAO Doc 9303 defines them, along with the expiry date and document type. A failed check digit means a misread or the wrong page, and the guest is asked for another photo. For most guests, no model is involved at all.

A vision model reads only what that zone leaves out, into a strict schema, and the guest confirms every value on screen. Addresses and phone numbers are typed by the guest, never inferred. The model's other job is answering questions about the form in the guest's language, from a fixed set of facts, introducing itself as automated.

The form asks each guest only for what their property's country requires. The Italian record needs document details from the head of the family only, with the children reported as family members linked to him. Spain asks for more: both surnames, the document's support number, a home address, phone and email, and each minor's relationship to the adult, with payment details taken from the PMS rather than from the guest. Because the legal basis is the reporting law rather than consent, the form explains why each field is needed instead of asking for a consent the guest could refuse.

Once a guest confirms the extracted data, the photo is deleted. The Spanish records are kept for the three years Royal Decree 933/2021 sets, the Italian receipts are kept as proof, and everything is hosted in the EU. The full comparison of the two systems is in the blueprint for guest registration in Spain and Italy.

Room 14, the second time

Now the same family, booked the same way. Anna fills in the form on Wednesday evening, on her phone, for herself, Jeroen and their older daughter. She skips the younger one; it is late, and the form will remind her. This is what the build does with it:

GuestFrom the formChecked by codeWhat reaches Alloggiati Web
JeroenPassport photo, zone read by OCRCheck digits valid; surname matches the bookingHead of family, with his document details in the police codes
AnnaPassport photo, zone reads JANSENSurname differs from the booking: to the desk, with the reasonFamily member, under her passport name, once Davide confirms
Older daughter, 9Name and date of birth, typed by AnnaLinked to the head of familyFamily member, no document details
Younger daughter, 5MissingBooking says four guests, the form has threeCollected at the desk, on the same validated screen

The records are built and run through Alloggiati Web's Test method on Wednesday, which checks them without sending. Then they wait, because the service accepts only today or yesterday as the arrival date.

At 23:40 on Friday, Davide's screen shows room 14 with two exceptions instead of four documents. He looks at the passports and the faces, confirms that Anna is reported under Jansen, types in the younger daughter's name and date of birth, and records check-in in the PMS. That triggers the Send. Each record goes under a key built from guest and stay, so a retry after a timeout cannot report anyone twice, and the result for every record is stored against the booking. The tourist tax has been on the folio since Wednesday, calculated per guest and night from the city's rules. The family is upstairs before the younger one properly wakes up, and in the morning the receipt for Friday's reports is fetched with the Ricevuta method and attached to the booking.

Where Davide stays in charge

The desk keeps everything that involves the law and, usually, a guest standing in front of it. A guest who will not use the link gives the same data at the desk, on a screen with the same validation: the link is a convenience, the duty is not. A guest who refuses entirely is a decision for the property under its country's law. A record the police system rejects lands in one queue with the reason and the guest's thread, a person corrects it through that system's own procedure, and each type of rejection becomes a new validation rule for next time.

Outages get a rule too. If a police system times out or is down, reports queue and retry under the same keys, and before sending anything again the build checks its own log and, for Italy, the per-record results. When the deadline is a few hours away and the system is still unavailable, the desk gets an alert with the records ready for a manual upload, and the outage is logged as the reason for any delay. The approval pattern behind all of this is the one in human-in-the-loop AI: the software prepares, a person decides wherever the law is involved.

The handover book, a month on

The notebook is still on the counter, and Davide still writes in it at ten to seven. The registration lines are gone, because the screen already knows who is registered, who is missing and why. What is left is the hotel: a guest who wants breakfast at six, a radiator in room 6 that knocks. The drawer under the counter holds no photocopies.

In Seville the work phone's gallery is empty, and reports go out when each stay starts instead of on the next morning's shift. Finance gets the tourist tax per city in the format it files the returns in. And when the next police check asks for last month's receipts, Marta opens one view across both countries: every report, every result, every receipt, and the reason behind every late one.

Price a check-in tool before you build

For many properties a tool is enough. Chekin sends guest reports to the authorities, calculates the tourist tax during online check-in, offers identity verification and integrates with dozens of PMS, and other registration tools and PMS modules do similar work country by country. A single-country operator on a supported PMS should buy one.

A build earns its place for groups like this one: two countries, two PMS, house rules the tools do not model, and a finance team that wants returns per city in its own format. Often the answer is a hybrid, a check-in tool where it fits and a thin custom layer that reconciles every property's reports and receipts into one audit view. Either way it is usually a multi-step AI workflow automation project. The guest registration blueprint has the flow and the edge cases, and guests' questions about the form reuse the setup from multilingual customer support.

Frequently asked questions

How do I automate Alloggiati Web reporting for late arrivals?

Through the Alloggiati Web service. Credentials and a WSKEY give a temporary token, the Test method checks records without sending them, Send reports and accepts only valid records, and Ricevuta returns the day's receipt. Because only today or yesterday is accepted as the arrival date, records are validated before arrival and sent once check-in is recorded in the PMS, inside the 24 hours article 109 TULPS allows.

What does SES.HOSPEDAJES require from hotels and apartments in Spain?

Royal Decree 933/2021 requires lodging businesses to send booking and traveler data electronically, immediately and at most within 24 hours of the booking or the start of the stay, and to keep the records for three years. Each traveler's record includes both surnames, document type, number and support number, nationality, date of birth, home address and contact details, plus the relationship of any minor to the adult.

Is reading passports at hotel check-in a job for AI?

Mostly not. The machine-readable zone on passports and most ID cards is read by OCR and verified with the check digits defined in ICAO Doc 9303, which catches misreads. A vision model helps only with documents that have no such zone, or with required fields printed outside it, and the guest confirms every value. Checking a face against the document stays with a person at the desk.

What does a guest registration workflow cost?

It usually fits the multi-step tier of AI workflow automation. The price moves with the number of countries and reporting systems, how many PMS the group runs, how many cities have tourist tax rules and exemptions, and extras such as arrival identity checks. Running costs are small: most guests need no model at all, plus WhatsApp template fees and a small EU server.