Skip to content

๐Ÿ†• Reservation Created

Topic: RESERVATION_CREATED

What It Does

A new reservation was created in the system from PMS.

Key Info

  • Object: Reservation
  • Actors: System (automated)
  • Source: PMS

When It Fires

  • PMS syncs new booking
  • Guest books directly
  • Channel manager sends booking
  • Staff creates manual reservation

Context Data

โš ๏ธ PMS specific context Apaleo / Oracle / Mews

Apaleo

Emitted for properties connected via Apaleo PMS.

Field Type Description
arrival String Check-in date/time
departure String Check-out date/time
channel String Booking source or channel code
adults Integer Number of adults
childrenAges Integer[] Age of each child
guaranteeType String Guarantee type (see values below)
ratePlan Object Full rate plan object from Apaleo (structure varies)
balance Object Reservation balance
prepaymentType String Prepayment type (see values below)
conflicts Array Reservation conflicts (see structure and values below)
type String Apaleo reservation type
magicEventId Integer Internal event correlation ID
primaryGuest Object Primary guest details (same structure as v2)

Example payload:

{
  "type": "created",
  "adults": 2,
  "arrival": "2026-04-10T14:00:00Z",
  "departure": "2026-04-14T10:00:00Z",
  "balance": {
    "amount": -245.00,
    "currency": "EUR"
  },
  "channel": "Expedia",
  "ratePlan": {
    "id": "10001-NONREF_DBL-DBL",
    "code": "NONREF_DBL",
    "name": "Non Refundable",
    "description": "Accommodation Only Double Room",
    "isSubjectToCityTax": true
  },
  "conflicts": [
    { "conflictType": "INVALID_EMAIL" },
    { "conflictType": "NO_USERPROFILE_EXIST" }
  ],
  "childrenAges": [],
  "magicEventId": 100000001,
  "primaryGuest": {
    "firstName": "Jane",
    "lastName": "Smith",
    "email": "abc123xyz@m.expediapartnercentral.com",
    "phone": "+4915100000000"
  },
  "guaranteeType": "Prepayment",
  "prepaymentType": "EXPEDIA"
}

Any other PMS (Mews, Opera...)

Emitted for properties connected via Mews or Opera PMS connectors.

Field Type Description
arrival String Check-in date/time (ISO 8601)
departure String Check-out date/time (ISO 8601)
channel String Booking channel (e.g. "Booking.com")
adults Integer Number of adults
children Integer Number of children
childrenAges Integer[] Age of each child
ratePlanId String PMS rate plan identifier
guaranteeType String Guarantee type (see values below)
prepaymentType String Prepayment type (see values below)
conflicts Array Reservation conflicts (see structure and values below)
primaryGuest Object Primary guest details (see below)

primaryGuest fields:

Field Type Description
firstName String Guest first name
lastName String Guest last name
email String Guest email address
phone String Guest phone number

Example payload:

{
  "adults": 2,
  "arrival": "2026-04-10T14:00:00Z",
  "departure": "2026-04-11T11:00:00Z",
  "channel": "OTA",
  "children": 0,
  "childrenAges": null,
  "ratePlanId": "STDRATE",
  "guaranteeType": "CREDIT_CARD",
  "prepaymentType": null,
  "primaryGuest": {
    "firstName": "Maria",
    "lastName": "Johnson",
    "email": null,
    "phone": "+14155550100"
  }
}

guaranteeType Values

Values differ by PMS:

Value Apaleo Mews / Opera Description
Prepayment โœ… Prepaid reservation
CreditCard โœ… Credit card guarantee
Company โœ… Company-backed guarantee
PM6Hold โœ… PM6 hold guarantee
Ota โœ… OTA
PREPAYMENT โœ… Prepaid reservation
CREDIT_CARD โœ… Credit card guarantee
COMPANY โœ… Company-backed guarantee
PM6HOLD โœ… PM6 hold guarantee
UNKNOWN โœ… Unmapped guarantee type

Apaleo uses PascalCase values from the Apaleo API. Mews/Opera use SCREAMING_SNAKE_CASE.

prepaymentType Values

Values differ by PMS:

Value Apaleo Mews / Opera Description
AIRBNB โœ… โœ… Airbnb booking
EXPEDIA โœ… โœ… Expedia booking
BOOKING_DOT_COM โœ… โœ… Booking.com booking
AGODA_VCC โœ… โœ… Agoda booking
CHECKOUT_ON_AR โœ… โœ… Checkout on accounts receivable
PREPAYMENT_BY_CREDIT_CARD_HIDE โœ… Prepaid by credit card (hide from guest)
PREPAYMENT_BY_CREDIT_CARD_SHOW โœ… Prepaid by credit card (show to guest)
BOOKING_DOT_COM_VCC_PREPAYMENT โœ… Booking.com virtual credit card (prepayment)
BOOKING_DOT_COM_VCC_CREDIT_CARD โœ… Booking.com virtual credit card
BOOKING_DOT_COM_BANK_TRANSFER_PREPAYMENT โœ… Booking.com bank transfer prepayment
REAL_CREDIT_CARD โœ… Real credit card guarantee
MIGRATED_PREPAYMENT_SHOW โœ… Migrated prepayment (show to guest)
MIGRATED_PREPAYMENT_HIDE โœ… Migrated prepayment (hide from guest)
PREPAID โœ… Generic prepaid
CHECKOUT_ON_AR_CUSTOMER โœ… Checkout on AR (customer accounting code)
CTRIP โœ… Ctrip / Trip.com booking
HOTELBEDS โœ… Hotelbeds booking
GENERIC_OTA โœ… Generic OTA
NOT_DETERMINABLE โœ… Cannot be determined
NONE โœ… โœ… No prepayment

conflicts Structure

Same format across all PMS versions. Each entry has a single conflictType field:

[
  { "conflictType": "INVALID_EMAIL" },
  { "conflictType": "NO_USERPROFILE_EXIST" }
]

Conflict type values:

Value Description
SAME_ARRIVAL_SAME_PRIMARY_GUEST_SAME_BOOKING Another reservation in the same booking has the same guest and arrival date
SAME_ARRIVAL_SAME_PRIMARY_GUEST_DIFFERENT_BOOKING Another reservation in a different booking has the same guest and arrival date
OVERLAPPING_STAY_SAME_PRIMARY_GUEST_SAME_BOOKING Overlapping stay with the same guest in the same booking
OVERLAPPING_STAY_SAME_PRIMARY_GUEST_DIFFERENT_BOOKING Overlapping stay with the same guest in a different booking
INVALID_EMAIL Guest email address is invalid
INVALID_PHONE_NUMBER Guest phone number is invalid
NO_USERPROFILE_EXIST No user profile exists for the guest (Apaleo)
NO_USERPROFILE_EXISTS No user profile exists for the guest (Mews/Opera)
NOT_ATTACHED_TO_USER_ACCOUNT Reservation could not be linked to a user account

What To Do With It

  • Send booking confirmation - Welcome email with details
  • Validate reservation data - Check for conflicts and issues
  • Match/create guest profile - Link to existing profile or create new
  • Set up pre-arrival workflow - Schedule pre-check-in communications
  • Update inventory - Reserve room allocation