Skip to main content

Reservation

Overview

The reservation module synchronizes reservation data, including guest information, room details, folio data, and reservation rates. Reservation records reference company and other previously synchronized master data.

Request

  • Method: POST
  • Path: {{base_url}}/api/sync-reservation

Request Envelope

The Reservation module uses reservation as the module name and sends reservation records as an array in data.

{
"module": "reservation",
"data": [
{}
],
"chunk_metadata": {}
}

Request Body Fields

FieldTypeRequiredDescriptionExample
reservation_idstringYesReservation identifier.RES-1001
companyobjectYesCompany information (See below).{...}
reservation_datestringOptionalReservation date.2026-08-20
agent_idstring / nullYesAgent identifier.AGT-01
total_of_roomnumberOptionalTotal reserved rooms.1
guest_profileobjectOptionalGuest information (see below).{...}
reservation_detailarray of objectOptionalReservation detail records (See below).[...]
ratesarray of objectOptionalReservation rate records (see below).[...]

Company Fields

FieldTypeRequiredDescriptionExample
idstringYesCompany identifier.HTL-001
codestringOptionalCompany code.HTL001

Guest Profile Fields

FieldTypeRequiredDescriptionExample
idstringOptionalGuest identifier.GST-01
emailstringOptionalGuest email.guest@example.com
addressstringOptionalGuest address.Jl. Melati No. 5, Jakarta
countrycodestringOptionalGuest country code.ID

Reservation Detail Fields

FieldTypeRequiredDescriptionExample
idstringOptionalReservation detail identifier.DET-1001
room_type_idstringOptionalRoom type identifier.RT-01
arrival_datestringOptionalArrival date.2026-09-01
departure_datestringOptionalDeparture date.2026-09-03
reservation_statusstringOptionalReservation status.CHECK_IN
nightsnumberOptionalNumber of nights.2
main_foliostring / nullYesMain folio identifier.FOL-1001
reservation_folioobjectOptionalReservation folio information (see below).{...}

Rates Fields

FieldTypeRequiredDescriptionExample
idstring / nullYesRate line identifier.RATE-LINE-1
rates_idstring / nullYesRate identifier.RATE-01
room_idstring / nullYesRoom identifier.RM-101
room_type_idstring / nullYesRoom type identifier.RT-01
net_ratesnumberOptionalNet rate amount.750000
taxes_amountnumberYesTax amount.0
service_amountnumberYesService amount.0
commission_amountnumberYesCommission amount.0
total_posnumberYesTotal POS amount.0
total_pos_taxesnumberYesTotal POS tax amount.0
adultnumberOptionalNumber of adults.2
childnumberOptionalNumber of children.0
is_virtual_roombooleanOptionalVirtual room indicator.false
datesstring / nullYesRate date.2026-09-01
reservation_rates_typestringYesReservation rate type.ROOM_CHARGE
remarkstringYesRate remark.Room Charge

Reservation Folio Fields

FieldTypeRequiredDescriptionExample
idstringOptionalFolio identifier.FOL-1001
total_posnumberOptionalTotal POS amount.0
total_paymentnumberOptionalTotal payment amount.1500000

Request Example

{
"module": "reservation",
"data": [
{
"reservation_id": "RES-1001",
"company": {
"id": "HTL-001",
"code": "HTL001"
},
"reservation_date": "2026-08-20",
"agent_id": "AGT-01",
"total_of_room": 1,
"guest_profile": {
"id": "GST-01",
"email": "guest@example.com",
"address": "Jl. Melati No. 5, Jakarta",
"countrycode": "ID"
},
"reservation_detail": [
{
"id": "DET-1001",
"room_type_id": "RT-01",
"arrival_date": "2026-09-01",
"departure_date": "2026-09-03",
"reservation_status": "CHECK_IN",
"nights": 2,
"main_folio": "FOL-1001",
"reservation_folio": {
"id": "FOL-1001",
"total_pos": 0,
"total_payment": 1500000
},
"rates": [
{
"id": "RATE-LINE-1",
"rates_id": "RATE-01",
"room_id": "RM-101",
"room_type_id": "RT-01",
"net_rates": 750000,
"taxes_amount": 0,
"service_amount": 0,
"commission_amount": 0,
"total_pos": 0,
"total_pos_taxes": 0,
"adult": 2,
"child": 0,
"is_virtual_room": false,
"dates": "2026-09-01",
"reservation_rates_type": "ROOM_CHARGE",
"remark": "Room Charge"
}
]
}
]
}
],
"chunk_metadata": {
"process_id": "sync-htl001-2026-08-30",
"chunk_sequence": 1,
"is_last_chunk": true,
"total_records_in_chunk": 1
}
}