booking_notification
The OTA needs to send the reservations to the endpoint: https://ws.icnea.net/booking_notification.aspx
Error messages are sent in plain text format.
<booking_notification>
<link>
<user>character(20)</user>
<password>character(20)</password>
</link>
<lodgings>
<lodging>
<lodging_id>integer(8)</lodging_id>
<action>add/update/cancel</action>
<reservation>character(10)</reservation>
<reservation_date>yyyy-mm-ddThh:mm:ss (iso8601)</reservation_date>
<reservation_remarks>character(500)</reservation_remarks>
<customer_email>character(50)</customer_email>
<customer_name>character(50)</customer_name>
<customer_address>character(50)</customer_address>
<customer_city>character(50)</customer_city>
<customer_country>iso3166 </customer_country>
<customer_zip>character(50)</customer_zip>
<customer_telephone>character(50)</customer_telephone>
<customer_language>iso639-1 </customer_language>
<cc_number>character(16)</cc_number>
<cc_type>character(50)</cc_type>
<cc_expiration>yyyy-mm </cc_expiration>
<cc_cvc>character(3)</cc_cvc>
<cc_name>character(50)</cc_name>
<currency>iso4217 </currency>
<agency_name>character(50)</agency_name>
<agency_reservation>character(50)</agency_reservation>
<agency_remarks>character(50)</agency_remarks>
<security_deposit>decimal</security_deposit>
<commission_amount>decimal</commission_amount>
<prepayment>decimal</prepayment>
<arrival_time>hh:mm </arrival_time>
<flight_number>character(50)</flight_number>
<rooms>
...
</rooms>
<adds_on_stay>
...
</adds_on_stay>
<discounts_stay>
...
</discounts_stay>
</lodging>
</lodgings>
</booking_notification>
Response:
<booking_notification_response>
<ok>integer(6)</ok>
</booking_notification_response>
lodging
field | required? | description |
---|---|---|
lodging_id | yes |
|
action | yes |
|
reservation | yes | Your reservation id |
reservation_date | yes |
|
reservation_remarks | no |
|
customer_email | no, but advised |
|
customer_name | yes |
|
customer_address | no |
|
customer_city | no |
|
customer_country | no, but advised |
|
customer_zip | no |
|
customer_telephone | no |
|
customer_language | no, but advised |
|
cc_number | no |
|
cc_type | no |
|
cc_expiration | no |
|
cc_cvc | no |
|
cc_name | no |
|
currency | no |
|
agency_name | yes |
|
agency_reservation | yes |
|
agency_remarks | no |
|
security_deposit | no | Number with 2 decimals. |
commission_amount | no | Number with 2 decimals. |
prepayment | yes, unless there isn’t | Number with 2 decimals. |
arrival_time | no, but advised |
|
flight_number | no |
|
rooms
For vacational rentals there will only be 1 room for each lodging_id, so the room_id should be 1 always.
If the property is a hotel or similar, then it is important to send the appropiate room_id.
<room>
<room_id>character(10)</room_id>
<guest_name>character(50)</guest_name>
<rate_id>character(10)</rate_id>
<non_refundable>false/true</non_refundable>
<people>integer(2)</people>
<children>integer(2)</children>
<babies>integer(2)</babies>
<dates>
...
</dates>
</room>
field | required? | description |
---|---|---|
room_id | yes | Always 1 for vacational rentals |
guest_name | no |
|
rate_id | yes |
|
non_refundable | no |
|
people | yes | Number of adults |
children | yes | Number of children |
babies | yes | Number of babies |
dates
Here you will send the price for each nights. With this node the check-in and check-out dates will be created, as well as the stay price.
There has to be as many <date> nodes as number of nights. The check-out date can’t be in a node.
field | required? | description |
---|---|---|
day | yes | Date for each night |
price | yes | Price for the night (without discounts or extra fees, this will be added later). Number with 2 decimals. |
adds_on_stay
This node is used to add the extra fees in a reservation, that are not the stay price.
add_on_stay_id and price are required.
name is optional
The options are:
add_on_stay_id | name |
---|---|
1 | Cleaning fee |
2 | Booking fee |
3 | Check-in fee |
4 | Short stay fee |
5 | Tourist tax |
6 | Payment fee |
discounts_stay
This node is used to add discounts in a reservation.
The stay price (the price for each night) can’t have the discounts applied if you use this node, because every discount here will be extracted from the stay price.
discount_stay_id and price are required.
name is optional.
promotion_code is required, but only for the promotion discount
The options are:
discount_stay_id | name |
---|---|
1 | Standard discount |
2 | Early booking discount |
3 | Long stay discount |
4 | Last minute discount |
5 | Promotion code If you are using this discount, you must send the <promotion_code> field |