All guides

Integrations

How to connect your Booking.com calendar to HazCheckin to receive your reservations

Step-by-step guide to sync your Booking.com calendar with HazCheckin through an iCal feed: export the calendar URL in the extranet, connect it to your property and learn how to confirm, split or dismiss each block of occupied days that comes in.

Updated on 16 July 2026

The Booking.com homepage seen through a pair of glasses

If you list your property on Booking.com, the dates that get booked there should show up on their own in HazCheckin, without you having to copy them by hand. That is what the calendar integration does: you connect your Booking.com listing calendar once and, from then on, HazCheckin reads it every hour, creates a reservation for each block of occupied days, and you decide in the dashboard whether that block is one reservation, several back-to-back stays or just a manual block. If you manage vacation apartments with online check-in, it’s the simplest way to automate registration without a PMS. This guide walks you through it step by step and, above all, explains how to read what Booking.com sends.

What the calendar sync does (and doesn’t do)

HazCheckin connects to your Booking.com calendar through an iCal feed: a URL that Booking.com publishes with your listing’s occupied dates. HazCheckin reads that feed periodically and creates a reservation for every new block it finds.

  • It imports occupied days automatically. Each block in your Booking.com calendar becomes a reservation in your dashboard, with its check-in and check-out dates.
  • It syncs on its own every hour. You don’t have to do anything; you can also trigger a manual sync whenever you like with the Sync now button.
  • It works with several channels. Besides Booking.com, you can connect Airbnb, Vrbo or any other channel that publishes an iCal calendar.

There are two important limitations worth understanding from the start, and both come from Booking.com, not from HazCheckin.

Booking.com’s calendar sends occupied days, not reservations. Unlike Airbnb, which publishes one entry per reservation, Booking.com publishes a single “closed” event for every run of consecutive unavailable days. That has two consequences:

  • It can’t tell a reservation from a block. A run of days you closed by hand in the extranet arrives exactly like a paid reservation.
  • It merges back-to-back stays into one block. If you have a reservation from the 6th to the 8th and another from the 8th to the 12th, Booking.com sends a single block from the 6th to the 12th. On a listing with near-daily arrivals and departures, one block can hide ten different guests.

That’s why every block imported from Booking.com arrives pending your review, and in the dashboard you can confirm it as a reservation, split it into stays or dismiss it as a block. We cover it in detail below.

Booking.com iCal feeds don’t include the guest’s contact details or identity. Booking.com only shares the dates. That’s why each imported reservation is created with a placeholder guest, and the real identity (name, document, signature) is captured when the guest completes the online check-in from the link you send them. That same check-in is what feeds the automatic submission of the guest report to SES.HOSPEDAJES.

If your property has many short back-to-back stays, the calendar connection will fall short: every block will ask you to split it. In that case we recommend connecting your PMS (Guesty, Lodgify, Cloudbeds, Smoobu, Hostaway, Mews or Amenitiz), which sends every reservation on its own and with the guest’s details. There’s no integration fee on our side.

Before you start

You need two things:

Step 1: export the calendar URL in the Booking.com extranet

Booking.com publishes each property’s calendar as a link ending in .ics. To get it:

  1. Sign in to the Booking.com extranet with your account.
  2. Go to Rates & Availability and open Sync calendars (or Calendar sync).
  3. Select the room or unit you want to connect.
  4. In the Export calendar section, Booking.com shows you a URL ending in .ics. Copy it to your clipboard.

That URL is the feed HazCheckin will read. If you have several rooms or units, each one has its own calendar URL: copy them separately.

iCal sync is available for apartments and self-contained properties. If you don’t see the export-calendar option in your extranet, your property type may not support it; in that case you’ll need to handle reservations manually.

Step 2: open the calendar integrations in HazCheckin

  1. In your HazCheckin dashboard, go to Properties and open the relevant property.
  2. On the edit screen, click the Calendar integrations button (top right).

You’ll land on the Calendar integrations screen, where all the feeds for that property are managed.

Step 3: add the Booking.com feed

In the Add a new feed section:

  1. In Channel, select Booking.com. You’ll see a note reminding you that Booking.com sends occupied days and merges back-to-back stays.
  2. In iCal URL, paste the .ics URL you copied from the extranet.
  3. Optionally, add a label to identify it (for example, “Booking double room”). Useful if you’re going to connect several feeds.
  4. Click Add feed.

The first sync runs automatically when you add the feed. From then on, HazCheckin re-reads the calendar every hour. In the Connected feeds list you’ll see, for each one, the last sync, how many blocks were imported and whether there was any error. When you want to force an immediate update, use Sync now.

Step 4: review each imported block

Every new block from your Booking.com calendar shows up under Reservations as a reservation in pending status, with a placeholder guest and a yellow notice: “Is this a real reservation?”. You have three options there, and it’s worth picking the right one before sending any check-in link:

  • It’s a real reservation. The block is a single stay with those dates. The reservation follows its normal lifecycle: check-in link, document capture and guest report.
  • Split into stays. The block groups several back-to-back stays. Clicking it shows a list with every night in the block and a toggle per night meaning “a new guest arrives that day”. They’re all on by default, i.e. one stay per night; switch off the nights where the same guest stays on to group them. On confirm, the original reservation keeps the first stay and HazCheckin creates a new reservation for each of the others, each with its own placeholder guest and its own check-in link.
  • It’s a calendar block. Dates you closed yourself in the extranet, with no guest. The reservation is cancelled without notifications and doesn’t count for check-in or SES.HOSPEDAJES.

While a block is pending review it doesn’t block the property’s calendar: if you’d rather create the real reservations by hand from New reservation, you can do so even if they overlap it, and then mark the block as a block.

In the calendar view of Reservations you’ll see every block and every stay as a bar per property; blocks pending review carry a question-mark icon so you can spot them at a glance.

What happens to each confirmed reservation

Once confirmed or split, each reservation behaves like any other in your dashboard:

  • It has its check-in and check-out dates and the Booking.com channel.
  • You can send the guest their online check-in link; when they complete it, their data and signature are recorded, and HazCheckin handles sending the guest report to the Ministry on time. This send can be automated too: add the property check-in link to your Booking.com message templates and every guest will receive it on their own.

Date changes, modifications and cancellations

Booking.com regenerates the block whenever anything changes inside it: an extra night, an early departure, a cancellation. HazCheckin detects it on the next sync and acts cautiously:

  • If the block is still pending or confirmed and only the dates change, the new dates are applied automatically.
  • If you had already progressed that reservation (the guest checked in, or you already submitted their data), HazCheckin won’t change it without your permission. The change appears in the Changes needing review section, where you choose Accept dates or Keep mine.
  • If you had split the block or corrected its dates by hand, the feed no longer overrides those reservations: your stays are kept as they are and HazCheckin won’t re-import the block as long as your reservations cover those nights.
  • If a block changes so much that Booking.com publishes it as a new one, you’ll get another reservation pending review with the new dates. Review it and mark the old one as a block if it no longer applies.
  • Cancellations aren’t applied automatically. Since the calendar can’t tell a cancellation from a modification, HazCheckin never cancels a Booking.com reservation on its own. If a guest cancels, the reservation stays in your dashboard until you cancel it.

Avoid overbooking: export your calendar too

On the same screen you have Calendar export: HazCheckin can publish this property’s booked dates as a private URL you can paste back into Booking.com (in the same Sync calendars section of the extranet, importing an external calendar). That way, a reservation coming in through one channel automatically blocks those dates on the others and you avoid double bookings. Enable it and copy the URL from the Calendar export section.

Connect the rest of your channels

The process is identical for other portals. Repeat Step 3, selecting the matching channel:

  • Airbnb — copy the export-calendar link from your listing and add it with the Airbnb channel. Airbnb does publish one entry per reservation, so you don’t need the review step. See the Airbnb guide for the details.
  • Vrbo — copy its calendar link and add it with the Vrbo channel.
  • Other — any channel that offers an iCal feed.

Each property typically has one feed per channel.

Common issues and how to fix them

  • “Enter a valid http(s) URL”. Make sure you paste the full link that starts with https:// and ends in .ics. Copy and paste it straight from the extranet so you don’t lose any character.
  • No blocks appear after connecting. Check that the feed is enabled and press Sync now. If your Booking.com calendar is empty for the coming weeks, there’s nothing to import either.
  • I get a reservation spanning many nights that is really several guests. That’s Booking.com’s normal behaviour: it merges back-to-back stays. Open the reservation and use Split into stays.
  • Dates I closed by hand show up as reservations. Also normal: the calendar can’t tell reservations from blocks. Mark them as a calendar block.
  • The last sync shows an error. Go back to the extranet, generate the Export calendar URL again and update the feed: calendar links can expire or change.
  • The guest’s details are missing. That’s expected: the Booking.com feed doesn’t include them. They’re filled in when the guest completes the online check-in.

Frequently asked questions

How often is the calendar updated?

Automatically every hour. In addition, you can trigger a manual sync at any time with Sync now.

Why does HazCheckin ask me whether it’s a real reservation?

Because Booking.com’s calendar publishes occupied days without saying whether there’s a reservation, several back-to-back stays or a manual block behind them. Only you know, and with one click you make clear what each block is.

Why does an imported reservation group several stays?

Because Booking.com merges every run of consecutive unavailable nights into a single event. Use Split into stays to create one reservation per guest; each gets its own check-in link and its own guest report.

Why doesn’t the imported reservation include the guest’s name?

Because the Booking.com calendar only shares the dates, not the identity. HazCheckin creates a placeholder guest and the real identity is captured when the guest completes the online check-in.

Can I connect several rooms or units?

Yes. Each room or unit has its own calendar URL; add one feed per unit on the corresponding property.

Does connecting prevent double bookings?

The import brings what’s occupied on Booking.com into HazCheckin. To block those dates on other channels too, enable Calendar export and paste that URL into the rest of your portals.

What happens if a reservation is cancelled on Booking.com?

Nothing automatic. The calendar doesn’t announce cancellations, it just stops showing those dates, and the same happens when a reservation is modified. To avoid cancelling live reservations by mistake, HazCheckin never cancels anything coming from Booking.com on its own: cancel the reservation yourself from the dashboard once you’ve confirmed it.

When should I connect the PMS instead of the calendar?

When you have many short back-to-back stays, or you want the check-in link to go out on its own without the block review. Connecting your PMS brings every reservation separately and with the guest’s contact details, and there’s no integration fee on our side.

GDPR compliant

We comply with the European Union's General Data Protection Regulation (GDPR). Your data — and your guests' data — stays safe.