Skip to content

Sync Booking, Airbnb and VRBO with iCal for Spanish Rentals

Updated Clara BajoClara Bajo
A manager waters the geraniums on her terrace under an arch, coastal town and sea beyond; on the table a tablet shows the bookings calendar with blue-shaded squares while a cat sleeps nearby

The same night booked on Booking. Another on Airbnb. Another direct through WhatsApp. And the constant fear of a double booking.

That fear has a concrete cause: every portal keeps its own calendar and none of them knows what just happened next door. Working faster doesn’t fix it, because the problem isn’t your typing speed, it’s that your availability lives in four places at once. The standard the industry uses to pull it together is called iCal.

What an iCal is and why it prevents double bookings

iCal (.ics format, RFC 5545) is an open standard for exchanging calendar information1. Each event is described with fields: start date, end date, title, description, and a unique identifier.

Applied to the accommodation world, an iCal is a URL (something like https://ical.booking.com/v1/export?token=...) that returns a text file with the property’s reservations. Any software that reads it can import them and keep them up to date. Being an open standard, it depends on no commercial agreement between portals: Google Calendar, Outlook, Apple Calendar and almost any PMS understand it, and you need no API and no keys, just the URL.

What it does not do is write. The export is read-only: it tells your software what has been sold, it does not block dates on the source portal.

What data an iCal carries and what it does not

A portal iCal carries little, and almost always the same things:

  • Check-in date and check-out date (DTSTART and DTEND, the fields RFC 5545 defines).
  • Unique reservation identifier (UID).
  • Status: confirmed or cancelled.
  • Sometimes the guest name, partial or full, and the reservation code.

It carries no DNI, no passport, no date of birth, no address. An iCal flags that there is a stay; it does not give you the guest report. You still collect the personal data from the guest, and what changes is that the reservation already exists in your system, so all that is left is sending the check-in link.

Not everything it carries is a reservation either. The calendar Airbnb exports also includes the nights blocked by your availability settings, preparation time, advance notice and minimum stay2. If you see occupied gaps with no guest behind them, that is the reason.

Where the export iCal URL is on each portal

RegistroViajero imports from eight: Booking.com, Airbnb, VRBO, Expedia, Tripadvisor, Google Calendar, Holidu and Rentalia. The route to the URL differs on each one, and every portal documents its own in its help centre3245.

PortalRoute to the export URL
Booking.comExtranet → Rates & Availability → Sync calendars → Add calendar connection → Skip to export → Copy link
AirbnbCalendar → the listing → Availability → Connect calendars → Connect to another website
VRBOOwner Dashboard → Calendar → Settings → Availability tab → Calendar sync → Connect calendars → Export calendar → Copy URL
Google CalendarSettings → Settings for my calendars → the calendar → Integrate calendar → Secret address in iCal format
HoliduOwner Portal → the property → calendar → iCal sync section
Expedia, Tripadvisor, Rentaliahost dashboard → the listing → calendar → sync or iCal feed section

Two checks before you copy. The URL is per listing, not per property: the same apartment published twice means two URLs, and on Booking.com there is one per room type. And the export URL contains /ical/ or ends in .ics; if it doesn’t, you have copied the import one.

VRBO also offers a checkbox to include tentative bookings in the feed. Tick it and stays that may still fall through will land in your dashboard.

Booking.com does not enable iCal for every property

Booking requires five conditions before the option appears in the Extranet:

  • The property is open and bookable.
  • Your user has Rates & Availability permission.
  • The property has 20 room types or fewer.
  • Each room type has a single unit.
  • You don’t use a connectivity provider.

The fourth condition rules out most small hotels: five identical double rooms are one room type with five units, and that no longer qualifies. The fifth explains why a channel manager and iCal sync are alternatives rather than complements.

How to connect an iCal to RegistroViajero

In RegistroViajero calendars are connected property by property:

  1. Open Properties and select the property.
  2. On the Calendar feeds card, click Add feed.
  3. Pick the platform, add a label if you are connecting several calendars to the same property, and paste the iCal URL.
  4. Save. The first sync runs immediately and from then on the feed is polled every 15 minutes, with the option to force a manual one.

The platform selector holds those eight names, and the URL field accepts any calendar that exports .ics. Each new event in the feed becomes a reservation with its dates and its check-in link, ready for you to send the guest. If the portal moves the stay to different dates, the reservation is updated in place instead of duplicated.

How long a Booking or Airbnb reservation takes to appear

Two clocks add up: how long the portal takes to publish the change in its feed, and how long your software takes to read it again. The feed delay is what we see in the calendars we sync; the import cadence is what each portal documents32.

PortalTypical delay in its feedHow often it imports what you connect
Booking.com30 minutes to 2 hoursEvery 2 hours
Airbnb2 to 4 hoursEvery 3 hours
VRBOsimilar to Booking.comnot published
Google Calendaralmost instantnot applicable

With RegistroViajero’s 15-minute polling, the worst Airbnb case puts the reservation in your dashboard a little over four hours after it was made. Before writing it off, force a manual sync and wait one cycle.

What happens in the iCal when a guest cancels

When a reservation is cancelled on the portal, it stops appearing in the feed. That is all an iCal communicates: an absence, never a cancellation notice.

Which is why an absence is not taken at face value. RegistroViajero lets two hours pass from the last time it saw the reservation before acting, because a portal can serve an incomplete feed on one cycle and be back to normal on the next. Once that window is up:

  • If the guest report had not been submitted yet, the reservation is archived.
  • If the report is already with the Ministry, nothing is archived: the reservation is flagged and you get an annulment-required notice. Retracting a submission is signed by a person, not by a polling job.

Some portals don’t drop the entry immediately either, and others serve the file from a cache, so the same URL can keep returning the previous version for a while. If a cancelled reservation is still in your dashboard, force a manual sync and look again half an hour later.

Blocking the same dates on Booking and Airbnb at once

A reservation arriving from Booking does not block availability on Airbnb by itself. The iCal you export to your software runs one way only, and there are two ways to close the loop.

Crossed iCal. You import the Airbnb calendar into Booking and the Booking one into Airbnb. It works, but with a lag: Booking imports connected calendars every two hours and Airbnb every three, so a window of hours remains with the same dates open on both sides. Booking.com also does not accept Google Calendar as a source, so manual blocks you keep there never reach the Extranet.

Channel manager. An API connection, almost instant, and more expensive. It has a side effect: a property with a connectivity provider stops meeting the requirements for Booking’s iCal sync, so you cannot have both.

At low volumes crossed iCal is usually enough, and the risk sits in that window of hours. At high volumes, go with a channel manager.

Several portals on one property: what to watch

  • Every URL to the same property. The whole apartment on Booking and the same one on Airbnb are two feeds and a single property in your dashboard.
  • One apartment, one property. If the listing is “Centro 1A” on one portal and “Downtown Apartment 1A” on another, it is still the same property. Creating two is what produces duplicate reservations.
  • Re-check the URL after every password change. Portals regenerate the link during security resets. RegistroViajero warns you when a calendar can’t be synced.

When the Booking iCal is not syncing: what to check

Typical symptom: you add the feed, hours go by, and the dashboard is still empty. Check, in this order:

  1. That the URL is the export one and not the import one: look for /ical/ or an .ics ending.
  2. That the property has confirmed reservations inside the range the portal exports.
  3. That the URL is still alive. After a password change you have to go back to the Extranet and create the connection again.
  4. That your software can reach that domain. Force a manual sync and read the log.

If all four are fine and still nothing lands, open a ticket with your provider.

Why the reservation shows up with an extra night

Some portals give the end date as the day after checkout (the “up to but not including” convention) and others as the checkout day itself. The software should normalise this. If you see an extra night, the suspect is that convention or the feed’s time zone.

Why the iCal doesn’t carry the guest’s name

Many portals omit the name for privacy, and the one they do carry can arrive truncated. The real holder data comes in when the guest fills in the check-in link, which is where the Annex I details of RD 933/2021 are collected6.

Why the iCal brings in reservations from months ago

Most feeds export a wide window, months ahead and sometimes a few behind. That is normal, and nothing is imported blindly: only future or in-progress stays create a new reservation.

The iCal doesn’t replace the report: two RD 933/2021 deadlines

Connecting a calendar complies with nothing on your behalf. The duty to file is still yours, and the decree sets not one deadline but two:

“Esta comunicación se realizará de manera inmediata, y en todo caso en un plazo no superior a 24 horas, respectivamente, a partir de los siguientes momentos: a) Al realizar la reserva o la formalización del contrato o, en su caso, su anulación. b) Al inicio de los servicios contratados.”

Real Decreto 933/2021, artículo 6.37

The communication must be sent immediately and in any case within 24 hours of two separate moments: when the reservation or contract is made or cancelled, and when the contracted services begin. Each moment carries its own 24-hour clock, and neither waits for the guest to ring the bell. That is where the real value of an iCal sits, and it is not saving you typing. It is having the stay in your system on the day it is booked, with room to request the data, instead of discovering it on the morning of check-in.

With the calendar connected, the sequence looks like this:

  1. The stay is created with its dates as soon as the portal publishes it in the feed.
  2. The check-in link already exists on the reservation and you only have to send it to the guest.
  3. When the guest fills in their data and signs, the report is generated and submitted to the Ministry.
  4. If the reservation disappears from the feed and the report was already sent, you get the notice to annul it.

Without iCal, step 1 is yours to do by hand, reservation by reservation, before you can do any of the other three.

After the iCal sync: what to set up next

Want to see it working end to end? See how RegistroViajero works: connect your iCal calendars and the reports go out on their own.


Portals rename their menus every few months. If a label doesn’t match, look inside the listing for the calendar sync section: that is where the export URL lives.

Sources

  1. RFC 5545, Internet Calendaring and Scheduling Core Object Specification (iCalendar), September 2009 (IETF). ↩

  2. Sync your home host calendar to other websites, help centre (Airbnb), accessed 8 September 2026. ↩ ↩2 ↩3

  3. How to synchronize your calendars across channels, Partner Help (Booking.com), accessed 8 September 2026. ↩ ↩2

  4. Export your property’s reservation calendar, help centre (VRBO), accessed 8 September 2026. ↩

  5. Sync your calendar with computer programs, Google Calendar Help (Google), accessed 8 September 2026. ↩

  6. Real Decreto 933/2021, Annex I, consolidated text (BOE). ↩

  7. Real Decreto 933/2021, Article 6.3, consolidated text (BOE). ↩

More related guides and news on tourist accommodation

Let's talk

Got questions, or want a demo of RegistroViajero? Pick how you would like to reach us.

Or write to us here

Message sent

Thanks for reaching out. We'll get back to you as soon as possible.

We'll do our best to get back to you as soon as possible. Spanish business-hours restrictions apply.