The functionality described below requires a Hotelier API account (one account per property).
In addition to the standard information you already receive, the Booking Retrieval API response can optionally contain information about the payment transactions that have taken place for a booking. To enable this feature, you need to contact us and ask for the "Payment Transaction Sync" feature flag to be enabled on your API account. This option is only available for Single-Property API accounts.
A payment transaction may happen during the initial booking confirmation when the booking is created or at a later
stage, even after a booking has been cancelled. When this happens, the booking will be added to the sync queue (or a
PUSH/PING will be triggered) similarly to the procedure followed in case of a booking modification or cancellation.
A new syncType=TRAN has been added in the
List Pending Bookings API response (type=transaction
for PUSH mode) in case the booking update
regards only a payment transaction. If the syncType is anything but TRAN, besides any
modifications on booking data, you should additionally always check the
transactions
array for any new entries, since a transaction may have happened simultaneusly with a modification of the booking.
Each transaction is immutable, meaning that none of the fields of a transaction you already received will ever be
updated. However, a transaction may get deleted. In this case, the transaction will no longer exist in the
transactions array.
The transactions do not change in any way the information or stay of the booking, thus no entry is added to the
"changes" array of the booking retrieval when a transaction occurs.
Pre-authorisations are not considered transactions and thus are not included in the transactions array.
For multi-room bookings (channel bookings with the same external_id but different WebHotelier res
id), the transactions are associated with the booking as a whole, not with individual rooms. All the
transactions are listed in the transactions array of the first/primary booking, regardless of whether
they are related to one or more room stays.
Multi-room bookings will include the related_bookings array in the response. The booking that carries
all the transactions will have the primary field set to true. For standard bookings, the
related_bookings array will not be present in the response. You can consider that all transactions are
associated with the booking itself.
A booking may initially start as non multi-room and later become multi-room. You should process the information retrieved in each booking and update any related records accordingly.
{
"method": "https://rest.reserve-online.net/reservation/10123456"
...
"data":{
...
"transactions":[
{
"id":STRING, // Transaction unique identifier,
"type":STRING, // Transaction type (ECOMMERCE, CASH, IRIS, WIRE, POS, MOTO, VPOS, PAYLINK, CHECK, COUPON, CREDIT, OTHER). More may be added in the future.
"descr":STRING, // Small transaction description e.g Ecommerce | (Name of bank), Cash, Bank Transfer etc
"executed_at":ISO 8601, // Transaction execution date timestamp in ISO 8601 UTC format
"amount":MONEY, // Transaction amount. A negative value indicates a refund.
"currency":ISO 4217 // Transaction currency code. Most of the times it will be the same as the booking's currency.
}
],
"related_bookings":[// Optional, exists only for multi-room bookings
{
"res_id":INTEGER, // Related booking ID
"primary":BOOLEAN // Exists only when equals to true. Indicates the booking that carries all the transactions.
}
]
}
}
{
"method": "http://rest.reserve-online.net/reservation/11234567",
...
"data": {
"id": 11234567,
"property": "DEMO",
...
"transactions": [
{
"id": "C765BF4D-5014-4209-980E-56C42EE7BD14",
"type": "ECOMMERCE",
"descr": "E-Commerce | ROOMPAY",
"executed_at": "2022-03-22T07:26:05Z",
"amount": 203.00,
"currency": "EUR"
},
{
"id": "E3CD6510-4BB1-4BE5-946E-098756247137",
"type": "CASH",
"descr": "Cash",
"executed_at": "2022-06-01T12:03:55Z",
"amount": 356.00,
"currency": "EUR"
},
{
"id": "485FBE11-63CA-4778-8DF1-88F94344A6E4",
"type": "OTHER",
"descr": "Other",
"executed_at": "2022-06-04T11:49:19Z",
"amount": -100.00,
"currency": "EUR"
}
],
"related_bookings": [
{
"res_id": 11234567,
"primary": true
},
{
"res_id": 11234568
}
]
}
}