Skip to content

How Synchronization Works

The Channel Manager keeps your hejGuide listings in sync with connected OTA platforms. Availability, rates, bookings, messages, and reviews flow automatically between systems so you do not have to update each platform manually. This page explains the sync mechanisms in detail, what data flows in which direction, and how to troubleshoot issues.

What gets synchronized

The following table shows every data type that syncs, the direction it flows, and how fast changes propagate.

Data typeDirectionSpeedNotes
AvailabilityPush and pullInstant (webhook) + 30-min safety netBookings block dates; cancellations unblock
RatesPush to OTAsInstant on save + 30-min safety netNightly rates, min stay, seasonal adjustments
Rate plan variantsPush to OTAsInstant on saveCancellation policy variants with discount percentages
BookingsPull from OTAsInstant (webhook)Guest name, contact, dates, guests, price, payment status, special requests
MessagesPush and pullInstant (webhook) + 5-min pollingBooking.com and Airbnb; appears in unified inbox
ReviewsPull from OTAsPeriodic syncView and reply to Booking.com and Airbnb reviews from hejGuide
Property detailsPush to OTAsInstant on saveName, description, type, capacity, photos, amenities

Availability

When a booking is created, modified, or canceled in hejGuide, the updated availability pushes to all connected channels. Likewise, when a guest books on an OTA, the blocked dates appear in hejGuide and are pushed to your other connected channels. This two-way sync is the core feature that prevents double bookings.

Rates and rate plans

Rate sync is one-directional: hejGuide is your source of truth, and rates push outward to connected OTAs. This includes:

  • Nightly rates -- your base price per night
  • Minimum stay rules -- minimum night requirements per season or date range
  • Seasonal adjustments -- higher rates for peak season, lower for off-season
  • Rate plan variants -- different pricing tiers tied to cancellation policies

How rate plan mapping works

Each hejGuide rate plan maps to a corresponding rate plan in the Channel Manager. If you offer multiple cancellation policy options, each one becomes a rate plan variant:

hejGuide policyChannel Manager variantTypical adjustment
Flexible (free cancellation)Default rate planBase price
Moderate (partial refund)Moderate variantSame price or small discount
Strict (non-refundable)Non-refundable variante.g., -5% discount

When you save a rate plan in hejGuide, the mapped variants push to all connected OTAs automatically. You can see the mapping in your listing's Sync tab under rate plan details.

TIP

Set your rates in hejGuide and let them push outward. Do not set rates directly on Booking.com or Airbnb -- those changes will be overwritten on the next sync cycle.

Bookings

New reservations made on connected OTAs are pulled into hejGuide automatically. Each booking includes:

  • Guest name and contact information
  • Check-in and check-out dates
  • Number of guests
  • Total price and payment status
  • Special requests or notes from the guest
  • The source OTA (Booking.com, Airbnb, etc.)

Bookings from the Channel Manager are tagged with their source in the calendar, so you can always see where a reservation originated.

Messages

Guest messages from Booking.com and Airbnb appear in your hejGuide unified inbox. Replies you send from hejGuide are delivered back to the guest on the original platform. Each conversation is linked to its booking, so you have full context when responding.

Messages are identified by source type:

  • Booking.com messages -- appear with the Booking.com label in your inbox
  • Airbnb messages -- appear with the Airbnb label in your inbox
  • System messages -- automated notifications from the OTA platform (e.g., booking confirmations)

Booking.com's no reply needed flag is supported: if a message does not require a response, you can mark it accordingly in the inbox without affecting your response rate metrics.

TIP

Email automations (payment reminders, confirmation emails) are automatically skipped for bookings that come through the Channel Manager. The OTA handles those communications, so hejGuide will not send duplicate emails to the guest.

Reviews

Reviews left by guests on Booking.com and Airbnb are pulled into hejGuide. You can read them and write replies from the Reviews section without switching between OTA dashboards. For Airbnb, you can also submit guest reviews with category ratings (cleanliness, communication, house rules).

The three sync mechanisms

Synchronization uses three complementary mechanisms to ensure data is always current. Understanding these helps you know what to expect after making a change.

1. Instant webhooks (real-time)

When certain events happen on an OTA -- a new booking, a cancellation, a guest message -- the platform sends a real-time notification (webhook) to hejGuide. This is the fastest sync path:

  • New bookings: appear in hejGuide within seconds
  • Cancellations: availability unblocks within seconds
  • Messages: appear in your inbox within seconds

Webhooks are the primary sync mechanism for inbound data (OTA to hejGuide).

2. Event-driven push (on save)

When you make changes in hejGuide -- saving a rate plan, updating your listing description, modifying availability -- those changes push to connected OTAs immediately. This is triggered automatically by your actions:

  • Save a rate plan -- rates push to all connected channels
  • Update listing details -- description, photos, amenities push to channels
  • Block or unblock dates -- availability changes push to channels
  • Reply to a message -- your reply is sent to the OTA platform

You do not need to click a "sync" button. The push happens in the background as soon as you save.

3. Scheduled cron sync (30-minute safety net)

A background job runs every 30 minutes and performs a full comparison between hejGuide and all connected channels. This catches anything that webhooks or event-driven pushes might have missed -- for example, if a webhook delivery failed due to a temporary network issue.

The scheduled sync checks:

  • Availability matches across all platforms
  • Rate plans are current on all channels
  • No bookings were missed
  • Sync log entries for any unresolved errors

TIP

You do not need to trigger sync manually. The combination of instant webhooks, event-driven push, and the 30-minute scheduled sync ensures your data stays current. In practice, most changes propagate within seconds.

Message sync: additional 5-minute polling

In addition to webhooks, messages have a dedicated polling job that runs every 5 minutes. This serves as an extra safety net specifically for guest messages, where timely responses are important for your OTA response-rate metrics.

The message polling cycle:

  1. hejGuide checks for new messages on all connected channels
  2. New messages are matched to existing bookings via thread linking
  3. Messages are deduplicated (if the webhook already delivered them, they are not added again)
  4. New messages appear in your inbox

Viewing and reading sync logs

The sync log records every synchronization event, giving you a detailed audit trail. You can access it in two places:

  • Admin view: go to Channel Manager in the sidebar to see logs across all listings
  • Listing view: open a specific listing's Sync tab to see logs for that listing only

What each log field means

FieldDescription
Date/timeWhen the sync event occurred
DirectionPush (hejGuide to OTA) or Pull (OTA to hejGuide)
TypeWhat was synced: availability, rates, booking, message, property
StatusSuccess, Pending, or Error
ChannelWhich OTA the sync involved (Booking.com, Airbnb, etc.)
DetailsAdditional context, such as the booking ID or error message

How to read the log effectively

  • Filter by status: look for Error entries first to identify problems
  • Filter by type: if rates seem wrong on an OTA, filter for "rates" entries
  • Check timestamps: if a change is not appearing, find the corresponding push event and see if it succeeded
  • Look at direction: if bookings are not coming in, check for "pull" errors; if changes are not going out, check for "push" errors

Understanding sync status

Each published listing shows a sync status indicator:

  • Green / Synced -- everything is up to date. The last sync completed successfully for all connected channels.
  • Yellow / Pending -- a sync is in progress or queued. Changes will be applied shortly. This is normal to see briefly after making changes.
  • Red / Error -- the last sync attempt failed. Check the sync log for the specific error. The system will retry on the next cycle, but you may need to take action if the error persists.

Troubleshooting common sync issues

Changes not appearing on OTAs

Step 1: Check your listing is published. Changes only sync for listings with an active Channel Manager connection. Open the listing's Sync tab and verify the status shows green or yellow. If it shows "Not published," follow the publishing guide.

Step 2: Check the sync log for errors. Go to the Sync tab and look for recent entries with a red "Error" status. The details column will tell you what went wrong. Common causes:

  • Rate mapping error -- a rate plan in hejGuide does not have a corresponding mapped plan in the Channel Manager. Go to the rate plan section and verify the mapping.
  • Availability conflict -- the OTA rejected the availability update because it conflicts with an existing booking on their side.
  • API timeout -- a temporary network issue prevented the sync. This usually resolves on the next cycle.

Step 3: Wait one full cycle. If you just made a change and see no errors, allow up to 30 minutes for the scheduled sync to run. Most changes push instantly, but the safety net runs on a 30-minute schedule.

Step 4: Verify on the OTA. Log in to the OTA directly and check if the changes are reflected. Sometimes the OTA dashboard has its own caching that delays display of updated information.

Duplicate bookings

This should not happen with the Channel Manager active, but if it does:

Step 1: Check for iCal conflicts. Open the listing's Sync tab and verify that iCal is paused. When the Channel Manager is active, iCal should be paused automatically. If iCal feeds are still active, they can cause duplicate bookings.

Step 2: Check if the booking came from two different channels. Look at the booking source in hejGuide. If the same guest booked on both Booking.com and Airbnb (before availability synced), this is a race condition. Cancel one of the bookings and contact the guest.

Step 3: Review the sync log for failed availability updates. A failed push to one channel means that channel still showed the dates as available. Look for "Error" entries around the time of the duplicate booking.

Booking details missing or incomplete

Some OTAs provide limited guest information at different stages:

  • Booking.com: full details are usually available immediately, but some fields (like phone number) may only appear after the guest confirms.
  • Airbnb: guest contact details may be released only after the booking is confirmed or closer to check-in. This is an Airbnb platform policy, not a hejGuide limitation.

If a booking appears without key details, it will usually be updated in a subsequent sync cycle once the OTA releases the information.

Messages not appearing in inbox

Step 1: Verify the channel supports messaging. Currently, only Booking.com and Airbnb messages are synced. Other platforms do not support message integration.

Step 2: Check the message sync log. Look for "message" type entries with errors.

Step 3: Check the booking exists. Messages are linked to bookings. If the booking itself did not sync (rare), the message has nothing to attach to. Resolve the booking sync first.

Step 4: Wait 5 minutes. The message polling cycle runs every 5 minutes. If the webhook missed the message, polling will pick it up.

Rates showing incorrectly on OTAs

Step 1: Check your rate plan mapping. Open the listing's Sync tab and verify that each rate plan is correctly mapped to a Channel Manager rate plan. If a mapping is missing or incorrect, rates will not push correctly.

Step 2: Verify the rate plan variant. If you use cancellation policy variants (Flexible, Moderate, Strict), make sure the discount percentages are correct. A wrong percentage will result in wrong prices on the OTA.

Step 3: Check for override conflicts. If you have set a rate directly on the OTA platform, it may conflict with the rate pushed from hejGuide. Always set rates in hejGuide and let them push outward.

WARNING

Never modify a channel-synced booking directly on the OTA platform. Always make changes in hejGuide so they sync correctly to all connected channels. Editing on the OTA side can create conflicts that are difficult to resolve.

hejGuide Property Management System