Communications
Given-name greeting
Guest greetings now use the guest's given name (first name), not the full display name or the surname.
Before
Booking channels return the guest name in different formats:
- Booking.com sometimes returns
Petr Simun(given + family) - Hospitable sometimes returns
SIMUN, PETR(LASTNAME, FIRSTNAME) - Airbnb sometimes returns just first name, sometimes full
Historical greeting logic picked whichever the first-word-in-name-field was — for SIMUN, PETR that meant greetings said "Hi SIMUN". For calendar labels, same issue.
After
At reservation ingest, the platform:
- Runs a deterministic given-name detector (regex + LASTNAME-FIRSTNAME pattern + comma splits + capitalization heuristic).
- Stores the resolved given name on
guests.givenName. - Every outbound greeting + calendar label + task overview uses
guests.givenName, not the raw name field.
Where the given name is used
- Welcome message — "Hi Petr" instead of "Hi Petr Simun" or "Hi SIMUN".
- Send Check-in — same.
- AI Suggest drafts — same greeting rules.
- V28 calendar chips — display given name (concise).
- Cleaner plán — same.
- Pulse UNANSWERED tiles — same.
Guest displays vs internal fields
guests.name— the raw full name as it arrived from the channel (unchanged, for records).guests.givenName— the parsed first-name for greetings.- V28 reservation drawer shows both when they differ.
Ratchet
A CI ratchet pins that the greeting resolver reads givenName, not name. If a future refactor accidentally reverts to the raw name field, CI fails.
Source: the FlatsBratislava operator manual.