Hotel Reservation Channel Sync

System ↔ System

OTA booking event propagates to PMS, channel manager, and analytics.

6 nodes · 5 edgestravel
eventapisystem
Visual
OTA Booking Eventevent

Reservation received from Booking.com, Expedia, or direct website.

sequentialPMS Update
PMS Updateapi

Create reservation in property management system with room assignment.

sequentialChannel Manager Sync
parallelConfirmation Email
Channel Manager Syncapi

Update availability across all OTA channels to prevent overbooking.

sequentialDynamic Rate Adjustment
Dynamic Rate Adjustmentsystem

Recalculate BAR based on occupancy and demand signals.

sequentialAnalytics Pipeline
Confirmation Emailapi

Send booking confirmation with folio number to guest.

Analytics Pipelinedb

Write booking to revenue management data warehouse.

uc-reservation-sync.osop.yaml
osop_version: "1.0"
id: "reservation-sync"
name: "Hotel Reservation Channel Sync"
description: "OTA booking event propagates to PMS, channel manager, and analytics."

nodes:
  - id: "ota_booking"
    type: "event"
    name: "OTA Booking Event"
    description: "Reservation received from Booking.com, Expedia, or direct website."

  - id: "pms_update"
    type: "api"
    subtype: "rest"
    name: "PMS Update"
    description: "Create reservation in property management system with room assignment."
    timeout_sec: 30
    retry_policy:
      max_attempts: 2

  - id: "channel_sync"
    type: "api"
    subtype: "rest"
    name: "Channel Manager Sync"
    description: "Update availability across all OTA channels to prevent overbooking."
    timeout_sec: 45

  - id: "rate_adjust"
    type: "system"
    name: "Dynamic Rate Adjustment"
    description: "Recalculate BAR based on occupancy and demand signals."

  - id: "confirmation"
    type: "api"
    name: "Confirmation Email"
    description: "Send booking confirmation with folio number to guest."

  - id: "analytics"
    type: "db"
    name: "Analytics Pipeline"
    description: "Write booking to revenue management data warehouse."

edges:
  - from: "ota_booking"
    to: "pms_update"
    mode: "sequential"
  - from: "pms_update"
    to: "channel_sync"
    mode: "sequential"
  - from: "pms_update"
    to: "confirmation"
    mode: "parallel"
  - from: "channel_sync"
    to: "rate_adjust"
    mode: "sequential"
  - from: "rate_adjust"
    to: "analytics"
    mode: "sequential"