Host operations

How to manage Airbnb, Booking.com, and direct reservations in one calendar

Checking three extranets to answer 'is this unit free?' Build one master calendar with the right fields, source-of-truth rules, and a daily check.

Published 27 September 2026 Β· By the BookBed Team
How to manage Airbnb, Booking.com, and direct reservations in one calendar

A guest emails asking about the second week of October. Before you can answer, you open the Airbnb calendar, then the Booking.com extranet, then the spreadsheet or inbox where your direct bookings live. Three tabs, three logins, and at the end you still aren't fully sure, because one of them might not have refreshed yet.

That's the real job a master calendar has to do: answer "is this unit actually available?" in one look, and be right. Start by deciding which system is allowed to be the answer. The fields, rules, and daily routine below follow from that one decision.

What should a master reservation calendar actually show?

A trustworthy master calendar shows every reservation per unit with its source, dates, status, payment state, and the time each channel last synced, so you can trust it without opening an extranet.

Most calendars stop at coloured blocks on dates. That works until two blocks overlap, or a block turns out to be an owner stay, or a cancelled booking is still sitting there. Then you're back in the extranets.

Here's the minimum each entry needs. If your current setup can't show a field, write down where you'd have to go to find it. That list is your daily tab count.

FieldWhy you need itWhere it comes from
UnitStops bookings landing on the wrong roomYour own unit list
SourceTells you which platform owns changesChannel or "direct"
Channel reservation IDMatches the entry to the extranet recordThe OTA or your own numbering
Guest nameLinks the dates to a real conversationReservation record, not iCal
Check-in and check-outThe dates you're sellingReservation record or feed
StatusSeparates confirmed, pending, cancelledSource platform
Payment stateFlags unpaid direct bookingsPayment provider or OTA
Last sync timeTells you how stale the view isThe tool doing the sync
Conflict flagSurfaces two stays on one unitCalculated by the calendar

Two of those rows do most of the work. The reservation ID keeps you from treating a modified booking as a new one. The last-sync time tells you whether "free" means free, or free as of three hours ago.

Three coloured isometric corridors in purple, amber, and teal converging into one tiled room lit by a single lamp

Why isn't overlaying Google Calendars the same as managing inventory?

An overlay displays copies of each channel's availability, but it can't tell a reservation from a blocked night, can't write back to any channel, and refreshes on someone else's schedule.

Subscribing to each channel's iCal export in one personal calendar is the usual first attempt. It looks like a master calendar. Here's what it misses.

It mixes bookings and blocks. Airbnb's calendar sync page says its export includes nights blocked for "availability settings, preparation time, advance notice, and minimum stays," as well as booked nights. In a plain overlay, a prep-time block and a paying guest can look identical.

It isn't the inventory. Blocking a date in your personal calendar closes nothing on Airbnb or Booking.com. The channels only read each other's feeds, and Booking.com's partner guide states it currently has no sync option for Google Calendar at all.

It's slow by design. Airbnb says it updates imported calendars every 3 hours, with a manual Refresh it can only request so many times. Booking.com says updates can take up to two hours and that sync "doesn't happen in real time." Your overlay then adds its own refresh delay on top.

We infer the practical result from those documented intervals: an overlay is fine for glancing at the week, but it shouldn't be what you check before confirming a direct booking.

Which system is the source of truth for each reservation?

The platform where the guest booked owns that reservation; your master calendar mirrors it, and you make changes at the source, never only in the mirror.

This rule sounds obvious. Most calendar mess comes from breaking it. Someone shortens a stay in the master calendar, but the Airbnb reservation still runs to the original date, and the next sync puts the old dates back.

Use four rules:

  1. Airbnb and Booking.com bookings: change dates, cancel, or refund only in that platform. Let the change flow into the master calendar.
  2. Direct bookings: your booking system is the source. It creates the record, and every OTA receives it as a blocked period.
  3. Owner stays and maintenance: create them in one place only, the master calendar or the tool feeding it, so every channel receives one block.
  4. Manual blocks during an emergency: allowed anywhere, but note them and remove them once the real reservation appears on its own.

Cancellations deserve extra care. In the iCalendar standard, RFC 5545, an event can carry a STATUS of CANCELLED, and every event needs a unique UID so readers can match later changes to the original. Channels differ in how they publish a cancellation: some mark it, some simply drop the event. Airbnb also notes that nights blocked on another calendar "may or may not" be blocked on Airbnb. So after any cancellation, open the unit on each channel and confirm the dates reopened where they should, and stayed closed where they shouldn't.

How does the daily workflow change from one unit to five?

With one unit, you can check a single calendar each morning; at five units, you need fixed rules, conflict flags, and a sync-time check, because manual scanning stops catching overlaps.

The comparison below is a worked example, not a benchmark. Consider a host with one apartment on Airbnb plus direct bookings, and a host with five units across Airbnb, Booking.com, and direct.

TaskOne unit, two sourcesFive units, three sources
Morning checkScan one calendarScan by unit, then by conflict flag
Before confirming directLook at the one date rangeCheck sync time, then the unit row
CancellationConfirm on one channelConfirm on every channel for that unit
Owner stayBlock once, check feedBlock once in master, verify each channel
Weekly auditOptionalMatch reservation IDs against each extranet

The shift isn't the number of bookings. It's the number of places a single change has to arrive. One unit on two sources means two places. Five units on three sources means fifteen unit-and-channel pairs where a missed update can hide.

When this advice does not apply

If every channel connects to your system through a two-way API integration instead of iCal, reservations arrive as full records with guest and payment details, and several steps above shrink. The source-of-truth rules still hold. See channel manager vs PMS for where those roles split.

If you rent rooms inside one property as separate units, overlapping stays on the property are normal. The conflict check has to run per room, not per building.

And if you only sell on one platform, that platform's own calendar already is your master calendar. Adding another layer adds a place to be wrong.

What to do next

  1. List every place a reservation can be created for each unit, including your inbox and phone.
  2. Fill in the field table above for your current setup and mark every field you can't see.
  3. Write your four source-of-truth rules down and share them with anyone who edits calendars.
  4. After your next cancellation, check every channel for that unit and note how long the dates took to reopen.
  5. If you sell on three or more channels, read our multi-channel distribution guide and how to avoid double bookings before adding another.

FAQ

Can I share a master calendar with my cleaner?

Yes, but share a read-only view that shows check-in and check-out per unit. Cleaners don't need guest payment state, and they shouldn't be able to move a booking.

Should direct bookings be entered on Airbnb and Booking.com by hand?

Only if nothing syncs them. If your direct booking system publishes a feed or connects to the channels, let it block the dates, so there's one record instead of three.

How often should I compare the master calendar against each extranet?

At multiple units, a weekly check of reservation IDs per channel catches drift that daily glances miss. At one unit, a quick look after each cancellation is usually enough.

About BookBed: BookBed shows Airbnb, Booking.com, and direct bookings for all your units in one multi-unit calendar, so the daily availability check happens in one place. Changes to OTA reservations still happen in each OTA, and the plan you need depends on your unit count. See BookBed pricing

Sources

  • Airbnb Help Center, "Sync your home host calendar to other websites" β€” Verified 2026-09-27
  • Booking.com for Partners, "How to synchronize your calendars across channels" β€” Verified 2026-09-27
  • IETF, RFC 5545 "Internet Calendaring and Scheduling Core Object Specification (iCalendar)", UID and STATUS properties β€” Verified 2026-09-27
  • BookBed, product capabilities and plan unit limits at /pricing and /llms-full.txt β€” Verified 2026-09-27
Try BookBed

14-day free trial. No card. We'll migrate your data for free.

See BookBed pricing