Calendar
The calendar shows all units as rows and days as columns — six weeks at a time, with today marked, weekends shaded and every booking as a colour-coded bar.
Reading the timeline
Section titled “Reading the timeline”| Colour | Meaning |
|---|---|
🔴 Coral #ff5a5f | Airbnb booking |
🔵 Navy #003580 | Booking.com |
🟢 Emerald #004937 | Website (direct online) |
🟡 Gold #b8860b | Direct (phone, walk-in, repeat guest) |
🟣 Purple #6a1b9a | Partner / local agent |
| ⬜ Grey | Block or maintenance |
| 🫒 Olive, green border | Owner stay |
- Striped bars are options/holds — tentative reservations that still occupy the nights.
- Faded bars are checked-out or closed stays. A green broom badge at the departure end of a bar means the turnover cleaning is confirmed — the unit is guest-ready.
- Each bar shows the guest name and pax; hover for dates, source and total.
- The bar starts mid-day of arrival and ends mid-day of departure — the classic hotel half-day look, so back-to-back turnovers are visible at a glance.
- ⚠ Turnover badges under a day number warn about same-day turnovers (checkout and check-in on the same unit that day): amber for one, red for several. Hover shows the affected units and their geographic spread (e.g. “up to 24 km / ~48 min drive apart”) — several same-day cleanings across town are a real logistics risk, so plan crews accordingly.
Navigation & filters
Section titled “Navigation & filters”- Today button, ‹ › paging (two weeks per step).
- Search filters units by name; area dropdown narrows the district; source chips show/hide channels.
- The occupied % chip recalculates for the current window and filters.
Creating a booking
Section titled “Creating a booking”- Click any free day on a unit’s row (or the New booking button).
- The dialog opens pre-filled with unit and dates. Choose the type:
- Guest booking — the normal case,
- Block / Maintenance / Owner stay — non-revenue periods.
- Pick the source and optionally the channel reference (Airbnb code, Booking number).
- Enter the guest (first/last name, contact optional) and pax.
- Price: leave the total empty and the quote engine calculates
nights × rate − long-stay discount + cleaning fee + Tourism Dirham + 5% VAT. Enter an amount to override (e.g. the gross amount from the OTA). - Create booking — the bar appears instantly.
If the nights are taken (someone else booked meanwhile, or an overlapping request), the dialog shows a conflict error and nothing is saved — double bookings are technically impossible.
“Guest will probably extend” warning
Section titled ““Guest will probably extend” warning”Monthly guests often announce in advance that they will probably extend. When the new booking falls into such an announced window right after another guest’s departure, the dialog shows a possible-conflict warning at confirmation instead of saving silently: who departs, how many extra days were announced, and until when the unit may still be needed. Nothing is blocked — the agent can Book anyway to override. The window comes from either:
- the Likely extension flag on the departing booking (see below), or
- the tenant-wide long-stay extension buffer (Pricing page): stays of at least N nights are
assumed to possibly extend by X days;
0days switches the rule off. A per-booking flag always takes precedence over the rule.
Working with a booking
Section titled “Working with a booking”Click a bar to open the details: guest & contact, dates, nights, source, status, total, notes.
Available actions (role-dependent):
- Check-in — from arrival day onwards.
- Check-out — ends the stay; the departure appears in today’s turnover list.
- Stay times — grant early check-in or late checkout (“HH:MM”; clear to return to the unit’s standard times). Saving validates against same-day turnovers: the departing guest’s checkout must not be later than the arriving guest’s check-in, otherwise the save is rejected with the reason. Granted options show as early/late chips and feed the cleaning schedule (a late checkout delays the cleanable-from time; an early check-in tightens the deadline).
- Mark cleaned — after checkout, admins, managers, back office and the cleaning team lead can confirm the turnover cleaning. The bar then carries a green broom badge at its departure end, so during multi-day vacancies everyone sees at a glance which units are already guest-ready. Undo cleaned reverts a mistaken confirmation.
- Likely extension — record that the guest announced a probable extension of N days beyond departure. The days after departure then trigger the possible-conflict warning when someone books into them (overridable, nothing is blocked). Shown as a +N days announced chip.
- Cancel booking — releases the nights immediately; the reason is stored.
Extending, shortening & relocating stays
Section titled “Extending, shortening & relocating stays”Change dates in the booking dialog updates a stay in place (atomically re-guarded). If the extension collides with the next booking, the error offers a one-click jump into the assistant:
Transfer unit opens the relocation assistant — all units free for the whole period, ranked:
- Same landlord first — the owner keeps the revenue (with ~150 units across ~40 landlords owning anywhere from 1 to 40 units, this protects owner income and trust),
- Same area — Marina stays Marina, Downtown stays Downtown,
- matching category & capacity, then smallest nightly-price difference.
Each candidate shows Same landlord / Same area badges and the Δ price per night. Picking one moves the booking atomically; the total is never changed automatically — the price note reminds the agent to adjust it deliberately. Housekeeping is notified automatically on every date or unit change (see Finance & daily planner).
Returning guests (Guest CRM)
Section titled “Returning guests (Guest CRM)”The system recognises returning guests and keeps their history connected:
- Typeahead in the booking dialog — search the guest file by name or e-mail; matches show their stay count (↺) and last stay. Selecting one links the existing guest instead of creating a duplicate. Typing a known e-mail links automatically, too.
- Returning badge — calendar bars of guests with 2+ stays carry a ↺ marker; the tooltip shows the total count.
- History in the details — opening a booking shows the guest’s previous stays (period, unit, source, amount) plus an ”↺ Nth stay” chip.
Seasonal regulars & the booking warning
Section titled “Seasonal regulars & the booking warning”Guests who arrived in the same seasonal window in two or more years are detected as seasonal regulars (arrival day-of-year ± 3 weeks, favourite unit = their most-booked apartment).
- The dashboard lists regulars who haven’t booked their upcoming window yet — with usual window (“second half of August”), favourite unit and predicted dates. Prepare option opens the booking dialog pre-filled as an option/hold.
- When you create a booking that takes a regular’s favourite unit inside their usual window for someone else, the dialog shows a non-blocking warning:
⚠️ Walter Huber usually arrives in the second half of August (2 stays, 2024/2025) and hasn’t booked yet — this booking takes their favourite apartment.
All of this is agency-only — landlords never see guest names, histories or CRM data.
The landlord’s calendar
Section titled “The landlord’s calendar”Owners see the identical timeline — reduced to their own units, with guest names replaced by “Guest”. Period, source colour and booking value stay visible, so owners can verify their revenue at any time without receiving guests’ personal data.
Landlords can block periods
Section titled “Landlords can block periods”Owners click any free day on their unit (or Block period) and choose:
- Own stay — they will use the apartment themselves (olive bar with green border), or
- Block — not rentable (grey bar).
The same overlap guard applies — existing guest bookings can never be overridden. Owners can remove their own future blocks from the bar’s detail dialog; past or running blocks are locked. The agency sees owner blocks live in the team calendar.