Skip to main content

Send Reservation

Overview

Push reservation data into GuestPro using a push API. This endpoint is intended for external platforms (e.g., channel manager / booking engine / custom PMS integrations) to create, update, cancel, or mark payment information for a reservation in GuestPro.

Request Endpoint

  • Method: POST
  • Path: {{base_url}}/api/reservation_general_request

Payload Construction and Schema Definition

The request payload is submitted as form-data fields.

Request Body Fields

FieldTypeRequiredDescriptionExample
company_idstringYesProperty/company UUID.60628770-0788-11e7-88c0-9f143c8ac640
booking_idstringYesUnique booking/reservation code.kubu1245
booking_datestring (date)YesBooking date in YYYY-MM-DD.2023-06-20
booking_statusstringYesReservation status. See supported values below.NEW
channelstringYesReservation channel/source.gorila
currencycodestringYesCurrency code (ISO 4217).IDR
roomarray of objectYesList of reserved rooms. See room object below.[{...}]
guest_profileobjectYesGuest profile information. See guest_profile object below.{...}
paymentobjectYesPayment information. See payment object below.{...}

Supported values for booking_status

ValueMeaningWhen to sendNotes
NEWNew reservation / reservation updateSend when creating a new booking, or when pushing changes to an existing booking (guest info, rooms, dates, rates, etc.).Use the same booking_id for subsequent updates so GuestPro can correlate the booking.
CANCELReservation canceledSend when the booking is canceled on your side.booking_id should refer to the booking that needs to be canceled. Still send the same base structure so GuestPro can identify the reservation.
PAIDReservation paidSend when the booking has been paid (fully or per your business rule) and you want to push payment info.Pair this with a populated payment object.

Supported values for payment_type

ValueMeaningTypical usageNotes
VIRTUAL_ACCOUNTVirtual account paymentGuest pays via VA number issued by a bank/payment provider.Provide the correct payment_method_id configured in GuestPro for VA.
CREDIT_CARDCredit card paymentCard payment (online/offline).card_no and name_on_card are optional in the Postman example (can be null). Only send if you are allowed to share/store them.
E_WALLETE-wallet paymentPayment via e-wallet provider.Ensure payment_method_id maps to the e-wallet method in GuestPro.
QRISQRIS paymentPayment via QRIS (Indonesia).Typically used for QR code based payments.
INTERNET_BANKINGInternet banking paymentPayment via bank internet banking transfer.Use when payment is completed via internet banking channel.
BANK_TRANSFERBank transfer paymentManual/standard transfer between bank accounts.Use for conventional bank transfers outside VA/IB flows.

Request room Fields

FieldTypeRequiredDescriptionExample
idstringYesRoom UUID.1096b640-2171-11ea-9a24-2ffae9903d1e
qtynumberYesNumber of rooms.1
adultnumberYesNumber of adults.2
childnumberYesNumber of children.0
infantnumberNoNumber of infants.0
rate_idstringYesRate UUID.deb605f0-e3ee-11e9-bc97-abff0550acd1
ratesarray of objectYesList of daily rates. See below.-
arrival_datestring (date)YesArrival date.2023-07-04
departure_datestring (date)YesDeparture date.2023-07-06
remarkstringNoRoom remark.,
special_requeststringNoSpecial request.``

Request rates Fields

FieldTypeRequiredDescriptionExample
amountnumberYesRate amount for the date.550000
datestring (date)YesDate for the rate.2023-07-04

Request guest_profile Fields

FieldTypeRequiredDescriptionExample
addressstringNoGuest address.``
phonestringYesGuest phone number.+6281801234567
emailstringYesGuest email address.info@gmail.com
countrycodestringYesGuest country.Indonesia
first_namestringYesGuest first name.Lan
last_namestringYesGuest last name.Uma
citystringNoGuest city.``
zipstringNoGuest postal code.``

Request payment Fields

FieldTypeRequiredDescriptionExample
booking_statusstringYesPayment status.paid
payment_typestringYesPayment type. See supported values above.CREDIT_CARD
total_paidnumberYesTotal amount paid.1100000
payment_method_idstringYesPayment method UUID.2f6a5e90-f318-11e9-bdbe-73f8af1ecd00
payment_datestring (date)YesPayment date.2023-04-14
card_nostringNoCard number (if applicable).null
name_on_cardstringNoName on card (if applicable).null

Response Body Fields

FieldTypeAlways presentDescription
successbooleanYesIndicates whether the request succeeded.
messagestringYesHuman-readable message.
dataobjectYes (on success)May contain additional info or be empty.

Expected System Request

{
"company_id": "60628770-0788-11e7-88c0-9f143c8ac640",
"booking_id": "kubu1245",
"booking_date": "2023-06-20",
"booking_status": "NEW",
"channel": "gorila",
"currencycode": "IDR",
"room": [
{
"id": "1096b640-2171-11ea-9a24-2ffae9903d1e",
"qty": 1,
"adult": 2,
"child": 0,
"infant": 0,
"rate_id": "deb605f0-e3ee-11e9-bc97-abff0550acd1",
"rates": [
{ "amount": 550000, "date": "2023-07-04" },
{ "amount": 550000, "date": "2023-07-05" }
],
"arrival_date": "2023-07-04",
"departure_date": "2023-07-06",
"remark": ", ",
"special_request": ""
}
],
"guest_profile": {
"address": "",
"phone": "+6281801234567",
"email": "info@gmail.com",
"countrycode": "Indonesia",
"first_name": "Lan",
"last_name": "Uma",
"city": "",
"zip": ""
},
"payment": {
"booking_status": "paid",
"payment_type": "CREDIT_CARD",
"total_paid": 1100000,
"payment_method_id": "2f6a5e90-f318-11e9-bdbe-73f8af1ecd00",
"payment_date": "2023-04-14",
"card_no": null,
"name_on_card": null
}
}