Keep Airbnb, Booking.com and direct availability aligned
Morasel syncs availability with Airbnb and Booking.com over iCal — the calendar feed each platform publishes. Dates booked anywhere block everywhere, every twenty minutes. It is calendar sync, not a channel manager, and this page is explicit about the difference.
Discover
Convert
Order
Fulfil
Support
Retain
Feedback
One unit, three calendars, and no single source of truth
A guest books 7–10 October on Airbnb. Someone else asks for the same nights on WhatsApp, and the person answering has no way to know. The unit is double-booked before anyone notices, and somebody has to be moved or refunded.
- Availability lives in the OTA extranet, a spreadsheet, and whoever answered the phone last.
- Direct bookings are the ones that cost no commission — and the ones most likely to collide.
- A manual re-check is only ever as fresh as the last time somebody did it.
What a calendar link actually is
Airbnb and Booking.com each publish a unit's booked dates as an iCal feed — a document at a URL, readable by anything that speaks the calendar format. Morasel reads theirs and publishes its own, so each side can block the other's dates. That document is the whole channel: it carries dates, and nothing else.
- What Morasel imports
- Booked date ranges from each linked Airbnb or Booking.com calendar
- What Morasel exports
- Every active booking for the unit — WhatsApp, staff and other OTAs alike
- How often
- Every twenty minutes, in both directions
- What it is not
- A partner API, a channel manager or a PMS. iCal has no write operation.
How a linked unit stays aligned
Set up once per unit, per platform. After that it runs on its own.
Paste the platform's calendar URL
Copy the iCal export link from the Airbnb or Booking.com listing and add it to the unit in Morasel. Morasel validates the feed before saving it, so a wrong link fails at setup rather than silently syncing nothing.
Give the platform Morasel's link
Each unit publishes its own tokenised calendar URL. Paste it into the OTA's calendar-import field so your direct and WhatsApp bookings block those dates on their side too.
Availability reconciles every twenty minutes
New reservations appear as confirmed bookings on the unit. Cancelled ones release their dates. A booking taken anywhere blocks the same nights everywhere.
You fill in the guest, once
The feed carries no contact details, so the booking arrives with dates and no guest. Add the phone number from the OTA's extranet and the guest's WhatsApp messages attach to that booking from then on.
What the guest experiences once contact is filled in
The calendar feed cannot tell Morasel who booked. The moment you add the number, the thread and the booking are the same record.
What your team sees
One availability picture per unit, whichever channel filled it, with the OTA-origin bookings clearly marked as belonging to the platform that owns them.
- Every active booking on one calendar, regardless of where it came from.
- OTA-origin bookings are marked, so nobody edits dates the platform controls.
- A feed that stops responding is reported rather than silently ignored.
- Calendar holds raise no cleaning or check-in tasks — there is no guest to serve yet.
Why Morasel refuses some edits
If a reservation came from Airbnb, Airbnb owns its dates. Morasel will not let you move them, and that refusal is deliberate.
- An owner moved an Airbnb reservation from 7–10 to 8–11 in Morasel. Twenty minutes later the sync put it back — correctly, because the guest still held 7–10 and keeping the edit would have double-booked the 7th.
- The edit could never have reached Airbnb: iCal is a published document, not an API, and no calendar feed can say “move reservation X”.
- So Morasel now refuses the change outright instead of accepting work it cannot deliver and losing it silently.
- Change the dates in the platform's own extranet; the next sync brings them across.
What syncs, and what does not
Dates sync. Nothing else does, and no amount of configuration changes that — the OTAs deliberately withhold the rest. A real Booking.com calendar entry contains the start date, the end date, an identifier, and the words “CLOSED - Not available”. There is no guest name, no phone number, no email address, no price and no channel to send one. Morasel therefore imports dates and leaves the guest fields empty rather than filling them with placeholder text. Rates, inventory, promotions and guest messaging on the OTA remain entirely in the OTA. Morasel is not a channel manager and does not present itself as one.
Stop re-checking three calendars
Link each unit once and let availability reconcile itself, while direct bookings arrive in the same place as the rest.
Questions about calendar sync
Is this an official Airbnb or Booking.com API integration?
No. It is iCal calendar sync — the availability feed each platform publishes for exactly this purpose. Morasel is not a channel manager and holds no partner API access, so rates, content and inventory stay in the platform.
What data actually syncs?
Booked date ranges, in both directions. Nothing else. The OTAs withhold guest details from their calendar feeds on purpose, so no name, phone number, email or price crosses over.
How often does it run?
Every twenty minutes, in both directions. A booking taken on any channel blocks those nights on the others within that window.
Can I change the dates of an Airbnb booking inside Morasel?
No, and this is deliberate. The platform owns that reservation and iCal cannot carry a change back to it, so Morasel refuses the edit rather than accepting work that would be silently overwritten at the next sync. Change it in the platform's extranet instead.
Does guest contact information come across?
It cannot. A calendar entry from Booking.com reads “CLOSED - Not available” where a guest name would be. Add the phone number from the platform's extranet once, and from then on the guest's WhatsApp messages attach to that booking.
Will an imported booking trigger cleaning or check-in tasks?
Not until it has a guest. A calendar hold is a blocked date with nobody attached, so Morasel does not raise service tasks against it. Bookings with a real guest behave normally.
What happens if a feed stops working?
The link is validated when you add it, and a feed that stops responding is surfaced rather than failing quietly. Existing bookings are not removed on the strength of one bad fetch.