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 type | Direction | Speed | Notes |
|---|---|---|---|
| Availability | Push and pull | Instant (webhook) + 30-min safety net | Bookings block dates; cancellations unblock |
| Rates | Push to OTAs | Instant on save + 30-min safety net | Nightly rates, min stay, seasonal adjustments |
| Rate plan variants | Push to OTAs | Instant on save | Cancellation policy variants with discount percentages |
| Bookings | Pull from OTAs | Instant (webhook) | Guest name, contact, dates, guests, price, payment status, special requests |
| Messages | Push and pull | Instant (webhook) + 5-min polling | Booking.com and Airbnb; appears in unified inbox |
| Reviews | Pull from OTAs | Periodic sync | View and reply to Booking.com and Airbnb reviews from hejGuide |
| Property details | Push to OTAs | Instant on save | Name, 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 policy | Channel Manager variant | Typical adjustment |
|---|---|---|
| Flexible (free cancellation) | Default rate plan | Base price |
| Moderate (partial refund) | Moderate variant | Same price or small discount |
| Strict (non-refundable) | Non-refundable variant | e.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:
- hejGuide checks for new messages on all connected channels
- New messages are matched to existing bookings via thread linking
- Messages are deduplicated (if the webhook already delivered them, they are not added again)
- 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
| Field | Description |
|---|---|
| Date/time | When the sync event occurred |
| Direction | Push (hejGuide to OTA) or Pull (OTA to hejGuide) |
| Type | What was synced: availability, rates, booking, message, property |
| Status | Success, Pending, or Error |
| Channel | Which OTA the sync involved (Booking.com, Airbnb, etc.) |
| Details | Additional 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.
Related
- Channel Manager Overview -- Introduction to the Channel Manager
- Publishing a Listing -- Publish your listing to enable sync
- Connecting Channels -- Set up connections to OTA platforms
- iCal vs Channel Manager -- Compare sync methods
- Messages -- Manage guest messages from connected channels
- Reviews -- View and respond to guest reviews