Skip to content

How to read and use the room calendar, and how to keep each unit’s calendar in step with Booking.com, Airbnb, Vrbo, Google Calendar and other platforms through iCal links – including completing platform stays with the guest and the money, handling possible double bookings and watching that sync keeps working.

The room calendar

Open Calendar → Rates & Availability. At the top left you switch between two views:

  • Rates grid – prices, restrictions and rooms to sell per room type and rate plan. It is explained on Rates & availability.
  • Room calendar – one row per unit (room, apartment, villa), with each reservation and each closed period drawn as a bar. This page covers this view.

The toolbar works the same in both views: ‹ and › move a whole period back or forward, the date field jumps to any start date, Today goes back to today, and the period list shows 2 weeks, 1 month or 2 months. Your choice of view and period is remembered in your browser.

In the room calendar each room type has a heading, then a Nightly rate row showing the lowest open rate for each night (a dash means no rate is open that night; prices are changed in the Rates grid), then one row per unit. The figure next to a unit’s name is its occupancy over the dates shown. If you use seasons, a coloured Season band runs under the dates.

Hover over any bar to see who or what it is. Click a reservation bar to open the reservation.

The room calendar with reservation bars, imported platform blocks and the legend below
The room calendar: one row per unit, reservations and closed dates as bars, the legend underneath.

Colours and the legend

The legend under the calendar explains the bar styles:

Legend label Looks like What it is
Website Solid violet bar A booking made by a guest on your own website.
Manual booking Solid dark (ink) bar A reservation you or your staff entered in the dashboard.
Friends & family / own use White bar with a dark outline Your own use of the unit, or a stay for friends and family.
Awaiting payment White bar with a violet outline A booking that is still pending: the guest is paying, has chosen bank transfer, or has not yet confirmed by e-mail.
External calendar Striped bar with a coloured left edge Dates another platform sent through its iCal link (“dates only”).
Closed Pale bar with a dashed outline, labelled Closed Dates you closed by hand (maintenance, owner stay…).
Possible double booking Red outline An imported stay that overlaps one of your bookings and does not look like an echo of your own dates. See Possible double bookings.

Platform colours on the left edge

Bars that come from a platform carry that platform’s colour as a thick stripe on their left edge – both the striped “dates only” blocks and reservations you have completed from them:

  • Blue – Booking.com
  • Pink-red – Airbnb
  • Teal – Vrbo, Expedia, Google Calendar and other calendars

An imported block also shows the platform’s name and the text the platform sent (for example Booking.com · CLOSED – Not available). Hovering shows which connection it came from, the platform’s own text and when that calendar last synced.

Dragging on the room calendar

The room calendar is built for a mouse or trackpad. Everything you can do by dragging can also be done from New reservation and from the reservation itself.

Drag across empty days: close dates or create a reservation

  1. Press on the first night in a unit’s row and drag to the last night, then release.
  2. A panel opens with the unit and the dates, for example Suite 2: 12 Jun → 15 Jun, and the number of nights and the check-out date.
  3. Choose Create reservation to open a new reservation with the room type, unit and dates already filled in, or type an optional note under Close these dates (maintenance, owner stay…) and click Close dates.

Closed dates are taken off your website at once and sent to every connected platform on its next read of your calendar link. To open them again, click the Closed bar and confirm Re-open these dates?

Drag a reservation: move or change dates

  • Move: press on a reservation bar and drag it to other dates, or to another unit of the same room type. A ghost bar shows the new dates while you drag.
  • Change check-in or check-out: drag the left or right edge of the bar.

When you release, a Move reservation? panel shows From and To. Click Move reservation to save. Before saving, availability is checked again. The price is not recalculated – change it in the reservation if needed. The guest is e-mailed about the new dates and connected calendars are updated. If the booking has several rooms, all of them move to the new dates.

Only reservations that are pending, confirmed or checked in and that have not yet ended can be dragged. A click without moving simply opens the reservation.

Important: imported platform blocks cannot be removed or moved here. Clicking one tells you to open the dates on that platform – they disappear here on the next sync. If you have the Platform reservations feature, clicking a platform block opens the form to complete it instead (see below).

How iCal sync works

iCal is the calendar format that almost every booking platform can read and write. It works in two directions, per unit:

  • Import – you give JetBookIn the platform’s calendar link. JetBookIn reads it regularly and closes those dates on your website.
  • Export – you give the platform JetBookIn’s calendar link for that unit. The platform reads it on its own schedule and closes the dates booked or closed with you.

You need both directions for a two-way sync. iCal carries dates only: no prices, no guest names, no payments.

Your export link for a unit contains:

  • every booking on that unit that holds the dates, including bookings waiting for payment;
  • dates you closed by hand, and dates imported from your other platforms;
  • days the whole room type is closed in the Rates grid (closed, or 0 rooms to sell), up to Export closures up to (days ahead) (default 730);
  • the Preparation days between stays set on the room type, so platforms cannot sell your cleaning days;
  • if set, the last-minute cut-off for that platform (see Close on this platform … days ahead).

Every block in the export reads Not available; guest names are never published.

The Channels screen

Open Calendar → Channels. It lists your room types, each unit, and under each unit its calendar connections. For each connection you see:

  • Unit / platform – the platform and your optional label.
  • Status – Syncing, Last sync failed, Failing, Waiting for first sync, Export only (no import link) or Paused, with the last error in red if there is one.
  • Last import – when the platform’s calendar was last read, how many events it contained, a custom interval or cut-off if set, and a row of small ticks for the latest imports (green = fine, amber = waiting for confirmation, red = failed). Under it, Platform fetched ours says when the platform last read your link. It turns red with a hint if the platform has not read it for over 12 hours, or never.
  • Export link (paste into the platform) – the link for this connection, with Copy.
  • Actions: Sync now, Edit, Log, What we sent, Pause / Resume, New link, Remove.

At the top: Sync log (all connections), Sync all now, Connect many… and Connect a calendar.

The Channels screen with units, their platform connections, status, last import and export links
Calendar → Channels: each unit with its platform connections.

Connection export link or master export link?

Each connection has its own export link. It leaves out the dates imported from that same connection, so a platform never gets its own reservations echoed back. Always paste this link into the matching platform.

Each unit also has a Master export link (all bookings and blocks) in its row. Use it only for read-only calendars where an echo does not matter – for example your cleaner’s phone calendar.

Connecting a unit to a platform

  1. Go to Calendar → Channels and click Connect a calendar (or Connect in the row of a unit that has no connection yet).
  2. Unit – choose the unit, shown as Room type – Unit.
  3. Platform – Airbnb, Booking.com, Vrbo / HomeAway, Expedia, Google Calendar or Other. The help text under each step changes with the platform.
  4. Label (optional) – e.g. Airbnb listing 12345. Useful when a unit has more than one listing.
  5. Step 1 – Import: paste the platform’s calendar link (it usually ends in .ics). Leave it empty if you only want to send your calendar to the platform.
  6. Set the two sync options if needed:
    • Import every – Default (the site-wide interval), or 5, 10, 15, 30 minutes, 1, 2 or 6 hours. Choose a shorter interval for platforms with many last-minute bookings.
    • Close on this platform … days ahead – 0 to 60, default 0 (off). Closes the next days on this platform only, because it syncs slowly; your website and other platforms stay open. Example: 2 on Airbnb means nobody can book tonight or tomorrow on Airbnb, but they still can on your site.
  7. Click Connect. JetBookIn tries the first import straight away; if it fails you see Saved, but the first sync failed: … with the reason.
  8. The panel stays open and now shows Step 2 – Export with your export link. Click Copy and paste it into the platform.

A unit can have several connections – for example one to Booking.com and one to Airbnb. Each connection has its own export link.

The Connect a calendar panel with unit, platform, import link, export link and sync options
Connecting a unit: import their link (step 1), give them yours (step 2).

Step by step: Booking.com

Platform screens change from time to time; the names below are the ones Booking.com’s extranet uses at the time of writing.

  1. Sign in to the Booking.com extranet and open Rates & Availability → Sync calendars.
  2. Start a new calendar connection for the room that matches your JetBookIn unit.
  3. Booking.com shows its export link for that room. Copy it.
  4. In JetBookIn, Calendar → Channels → Connect a calendar: choose the unit, platform Booking.com, paste the link under step 1 and click Connect.
  5. Copy JetBookIn’s export link from step 2.
  6. Back in the same Booking.com screen, paste it as the calendar to import, give it a name (e.g. JetBookIn) and save.
  7. In JetBookIn, wait for Platform fetched ours to show a time. The first read can take a few hours.

Tip: Booking.com sends the same text (CLOSED – Not available) for real reservations and for dates closed by hand, so JetBookIn cannot tell them apart. Check the extranet when a Booking.com block appears.

Step by step: Airbnb

  1. On Airbnb, open the listing and go to its availability settings, then Connect calendars (sometimes shown as Sync calendars).
  2. Choose Export calendar and copy the link.
  3. In JetBookIn, Calendar → Channels → Connect a calendar: choose the unit, platform Airbnb, paste the link under step 1, and consider Import every 10 or 15 minutes. Click Connect.
  4. Copy JetBookIn’s export link from step 2.
  5. Back on Airbnb, choose Import calendar (or Connect another website), paste the link, name it (e.g. My website) and save.

Airbnb marks dates closed by hand as Not available and reservations as Reserved; JetBookIn uses that difference when it looks for double bookings.

Vrbo, Expedia, Google Calendar and others

The connection panel shows a short hint for each platform:

  • Vrbo: Calendar → Import & export → Export calendar (copy) / Import calendar (paste ours).
  • Expedia: Partner Central → Rooms and rates → iCal for the export link; paste ours as the import calendar.
  • Google Calendar: Settings → Integrate calendar → Secret address in iCal format to import; Other calendars → From URL to show ours.
  • Other: any platform that offers an iCal / .ics link. Paste theirs in step 1 and ours as their import calendar.

Connecting many calendars at once

For a hotel or an agency with many units, Connect many… saves time:

  1. Paste one calendar per line: unit, platform, calendar link, optional label. Commas, semicolons or tabs all work, so you can paste straight from a spreadsheet. The unit can be its name, Room type / Unit or its ID. The platform can be left out – it is recognised from the link.
  2. Set Import every and Close on this platform … days ahead for all of them.
  3. Click Check. A preview lists each line with its unit and platform, or the problem in red (no link, unknown unit, a unit name used twice, a link already connected).
  4. Click Connect N calendars.
Suite 1, airbnb, https://www.airbnb.com/calendar/ical/…
Suite 2, booking, https://admin.booking.com/hotel/hoteladmin/ical.html?t=…

You still need to copy each new export link into its platform afterwards.

How often calendars sync

Import (their calendar into JetBookIn)

  • The default interval is set in Settings → Calendar sync → Import every (minutes): default 15, minimum 5. 10–15 suits most properties. Each connection can override it.
  • When a booking is made, changed or cancelled on your website or in the dashboard, JetBookIn re-reads that unit’s platform calendars straight away, so a clash with a booking made elsewhere shows up within minutes.
  • Sync now and Sync all now import immediately.
  • If a calendar fails more than twice in a row, JetBookIn waits longer between attempts (up to 6 hours) until it works again.

Syncing runs in the background through WordPress’ scheduled tasks. On a site with little traffic, make sure WordPress cron runs (your host can set up a real cron job); Settings → System shows Background jobs are not running on time when they are late.

Export (your calendar into the platform)

The platform decides when it reads your link. As a guide, Airbnb reads it roughly every 2 hours and Booking.com roughly every 1–2 hours. JetBookIn cannot make them read it sooner. This delay is the main reason to use Close on this platform … days ahead for last-minute dates.

Safety checks

  • If a platform’s calendar suddenly comes back empty while you had at least two upcoming blocks from it, JetBookIn does not free the dates at once. It waits for the next import to confirm (amber tick, Empty calendar received; will confirm on next sync).
  • A link that returns an error or a login page never deletes anything.
  • Your export link is never cached by page-cache plugins, and if your database has a problem while a platform reads it, the platform is asked to try again later rather than being shown an empty calendar.

“Dates only” blocks

Everything a platform sends through iCal arrives as a dates only block: a striped bar with the platform’s colour on the left. It closes the unit on your website for those dates, and it is passed on to your other platforms.

  • When the platform moves the stay, the block moves on the next import.
  • When the platform removes it (cancellation, dates reopened there), it disappears on the next import.
  • Past blocks are kept as history; only current and future ones are updated.

To open a platform’s dates, open them on that platform. If you remove a connection, the dates imported from it are released.

Completing a platform reservation Pro

With the Platform reservations module (JetBookIn Pro, on by default in Settings → Modules) you can turn a dates-only block into a full reservation with the guest, what they paid, the platform’s commission, taxes and your payout. The reservation then appears in your reservations, arrivals, reports and e-mails like any other.

Paste from Booking.com

  1. In Calendar → Rates & Availability → Room calendar, click the platform block. A panel titled e.g. Booking.com reservation opens with the dates and number of nights.
  2. In the Booking.com extranet, open the reservation, select the whole page (Ctrl/Cmd + A) and copy it.
  3. Paste it into Paste the reservation from Booking.com and click Fill in the form.
  4. JetBookIn fills in what it recognises – guest name, e-mail, phone (and the country from the dialling code), adults and children, the reservation number, total price, commission, preferred language, the date it was booked and whether Booking.com took the payment – and tells you how many fields it filled. The extranet can be in Greek, English, German, French, Italian or Spanish.
  5. Check every field, correct anything that is wrong, and click Save reservation.

For Airbnb and other platforms you can paste too, but fewer fields may be recognised; type the rest.

The panel for completing a Booking.com reservation, with the paste box, guest fields and the money receipt
Completing a Booking.com stay: paste, check, save. The receipt shows total, commission and your payout.

The fields

  • First name, Last name, E-mail, Phone, country and language, Adults, Children.
  • Booking.com reservation number (the label follows the platform).
  • Booked on Booking.com – the date the guest booked there, so lead time and booking-pace reports count from that day.
  • Total paid by the guest.
  • Commission to Booking.com – as an amount, or switch to % and enter the rate (e.g. 15).
  • Taxes included in the total – e.g. ΤΑΚΚ or a city tax the platform collected with the price. If your property has taxes set up (Tourist taxes module), the ΤΑΚΚ for these nights is filled in for you and the VAT and municipal fee inside the price are shown below.
  • Who took the guest’s payment?
    • Booking.com (pays me out) – the platform charged the guest (for example Payments by Booking.com). The guest owes you nothing; the platform’s payout (total minus commission) is shown as still to come. When the money arrives, open the reservation and click Payout received.
    • The guest pays me – you collect the money yourself. Enter what you have already received in Already received by you, or leave it empty.
  • Internal notes.

The receipt under the money fields shows Total, − Commission to …, the taxes inside it, and Your payout.

What happens afterwards

  • The reservation is confirmed and linked to its block. It is not sent back to the platform it came from.
  • If the platform moves the stay, the reservation moves with it. If the new dates are taken, the reservation is flagged instead: … moved this stay to …, but the unit is taken on those dates.
  • If the platform no longer lists the stay (usually a cancellation there), the reservation is not cancelled automatically – a feed can be wrong for an hour. It shows Booking.com no longer lists this stay (since …). It was probably cancelled there. with Keep the reservation and Cancel reservation.

Completed stays keep following the platform’s calendar even if the module is later turned off.

Possible double bookings

When an imported stay overlaps one of your bookings, JetBookIn checks whether it is real. Platforms re-export the dates you sent them (an “echo”), so an overlap alone is not enough. A stay is flagged only when at least one of its nights is not something JetBookIn told that platform about, and the platform did not mark it as a simple closure.

When that happens:

  • the block gets a red outline in the room calendar (Possible double booking);
  • you receive an e-mail ⚠ Possible double booking – [unit];
  • Today (the Home screen) shows a Possible double bookings card with the unit, platform, dates and the booking it overlaps;
  • the sync log records the event.

How to resolve it

  1. Check both sides: the reservation in JetBookIn and the one in the platform’s extranet.
  2. Decide who stays. If you have another free unit of the same room type, drag your booking to it in the room calendar. Otherwise contact one guest and cancel or relocate that booking on the side where it was made.
  3. Close the dates on the platform if they should not have been open.
  4. On Today, click Mark resolved.

Tip: most double bookings happen in the window before a platform reads your link again. For units that sell a lot at the last minute, set Close on this platform … days ahead to 1 or 2 on the slower platform.

Logs, “What we sent” and sync alerts

Sync log

Log on a connection (or Sync log at the top for all) lists errors, warnings and changes, with the events behind a possible double booking. Unchanged imports are not logged.

What we sent

What we sent shows each version of your calendar that the platform read from your link: when, how many times, which periods were closed in it, and which program read it. Pick a date under Check a date to see whether it was closed in each version. Use it when a platform says a date was open: it shows whether your calendar had it closed when they read it.

E-mails when sync fails

  • All plans: after three failed imports in a row you get Calendar sync failing – [unit].
  • Pro Sync alerts: on Calendar → Channels, the Sync alerts card has E-mail me when a calendar has not synced for 3, 6, 12 (default), 24 or 48 hours, or Never (off). It watches both directions: JetBookIn could not read the platform’s calendar, or the platform has not read your link – which no error message shows. You get one e-mail when it stops (⚠ Calendar sync stopped) and one when it works again (Calendar sync working again), sent to your notification address. The module can be turned off in Settings → Modules (Calendar sync alerts).

Other actions

  • Pause stops importing for that connection, and the platform can no longer read that connection’s export link until you click Resume.
  • New link creates a new export link. The old one stops working immediately, so paste the new one into the platform at once.
  • Remove deletes the connection and releases the dates imported from it. Remove the JetBookIn link on the platform too.

The Channels report Pro

Revenue → Reports → Channels (module Channels & commission) shows where your nights came from and what the platforms cost you, for a period you choose:

  • Booked direct (share of nights), Commission paid to platforms, Saved by booking direct and Direct revenue.
  • Where your nights came from – a bar in each channel’s colour.
  • By channel – bookings, nights, what guests paid, commission, what you received and the average per night. Stays that are still dates only appear as Booking.com (calendar sync) etc., without money.

“Saved by booking direct” uses the average commission the platforms actually took on your completed reservations in the last 12 months, or 15% until you have entered commissions. You can enter your own rate and click Use this rate. The figures are only as good as the commissions you enter when completing platform reservations.

The Channels report with direct share, commission paid, savings and the by-channel table
Reports → Channels: direct share, commission and payouts per platform.

Limits of iCal

  • Delay. Platforms read your link on their own schedule (often 1–2 hours). A booking on your site can stay open on a platform until then, and the other way round until JetBookIn’s next import.
  • Dates only. No prices, rates, restrictions, guest details or payments travel through iCal. Prices on each platform are set on that platform.
  • Whole units. One link is one calendar for one unit. iCal fits best when each platform listing or room maps to one JetBookIn unit.
  • No reasons. Some platforms (Booking.com) send the same text for a reservation and a manual closure.

Common mistakes

  • Only one direction set up. Importing their link without pasting yours into the platform means bookings on your site never close dates there. Watch Platform fetched ours.
  • Pasting the master link into a platform. Use the connection’s own export link, or the platform sees its own reservations echoed back.
  • Connecting a link to the wrong unit. Check the unit name in both places, especially in hotels with similar room names.
  • Clicking “New link” and forgetting the platform. The old link stops at once.
  • Trying to delete a platform block in JetBookIn. Open the dates on the platform instead.
  • Page caching the calendar link at the CDN. JetBookIn tells WordPress cache plugins not to cache it, but a CDN rule that caches everything can still serve an old calendar. Exclude /jbi-ical/ from CDN caching.

Questions

A guest booked on Airbnb but the dates are still open on Booking.com. Why?

Two delays add up: JetBookIn has to import Airbnb’s calendar (your import interval), then Booking.com has to read your link (its own schedule). Use Sync now on the Airbnb connection to speed up the first half.

Can I change a platform stay’s dates in JetBookIn?

Change them on the platform. A completed platform reservation follows the platform’s calendar, and dates-only blocks cannot be moved here.

A 3-apartment villa in Crete on Booking.com and Airbnb – how many connections?

Six: one per apartment per platform. Each apartment is a unit, and each connection has its own import link and export link.

Does pausing a connection keep the platform blocked?

No. While paused, the platform cannot read that connection’s export link and JetBookIn stops importing theirs. Resume as soon as possible.

Why does “Platform fetched ours” say “never”?

The link has not been pasted into the platform yet, or the platform has not read it the first time (this can take a few hours).

Do I need Pro for calendar sync?

No. Import, export, the room calendar and double-booking detection are in Core. Completing platform reservations, sync alerts and the Channels report are Pro.