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> |
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 |
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 |
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.
<date> <day>iso8601 (yyyy-mm-dd)</day> <price>decimal</price> </date> |
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. |
This node is used to add the extra fees in a reservation, that are not the stay price.
<add_on_stay> <add_on_stay_id>integer(1)</add_on_stay_id> <name>character(50)</name> <price>decimal</price> </add_on_stay> |
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 |
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> <discount_stay_id>integer(1)</discount_stay_id> <name>character(50)</name> <promotion_code>character(50)</promotion_code> <price>decimal</price> </discount_stay> |
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 |