availability_update
availability_update is a function executed in real time, where Icnea will send any changes in prices or availability, with a maximum delay of 60 seconds.
The OTA will need an endpoint that can accept these updates. You will need to provide the URL to Icnea, and if you want to add an extra layer of security, a user and password.
<availability_update>
<link>
<user>character(20)</user>
<password>character(20)</password>
</link>
<lodgings>
<lodging>
<lodging_id>integer(8)</lodging_id>
<currency>iso4217</currency>
<dates>
<date>
<day>yyyy-mm-dd (iso8601)</day>
<rooms>
...
</rooms>
</date>
</dates>
</lodging>
</lodgings>
</availability_update>
parameter | type | description | mandatory? |
---|---|---|---|
link |
|
| Yes |
user | integer | 4-digits integer | Yes |
password | string |
| Yes |
lodgings |
|
| Yes |
lodging |
| Icnea will send changes for only 1 property at a time. | Yes |
lodging_id | integer | 8-digits integer | Yes |
currency | string | EUR, USD… The currency configured in Icnea. | Yes |
dates |
|
| Yes |
date |
|
| Yes |
day | date | Day that will be updated. Format: yyyy-MM-dd | Yes |
rooms |
| → node information room | Yes |
room
For vacation rental properties there will be only 1 room.
But if the property is a hotel type, there can be as many node <room> as type of rooms created.
<room>
<room_id>character(10)</room_id>
<room_label>character(50)</room_label>
<availability>integer(3)</availability>
<room_units>
<units>
<unit_id>character(10)</unit_id>
<availability>integer(3)</availability>
</units>
</room_units>
<rates>
...
</rates>
</room>
parameter | type | description | mandatory? |
---|---|---|---|
room_id | string |
| Yes |
room_label | string |
| No |
availability | integer | 0/1. If the property is a multi-unit type, it can be more than 1, depending on available units. | Yes |
room_units |
|
| No |
units |
|
| No |
unit_id | string |
| No |
availability | integer |
| No |
rates |
| → node information rate | Yes |
rate
This node is used to create all the rates that the property have.
They can be standard/non-refundable, or occupancy rates.
For example:
Standard 2pax rate
Non-refundable 2pax rate
Standard 4pax rate
etc
<rate>
<rate_id>character(10)</rate_id>
<rate_label>character(50)</rate_label>
<people>integer(2)</people>
<price>decimal</price>
<discount>decimal</discount>
<minimum_stay>integer(3)</minimum_stay>
<rate_nights>integer(3)</rate_nights>
<closed_to_arrival>false/true</closed_to_arrival>
<closed_to_departure>false/true</closed_to_departure>
<non_refundable>false/true</non_refundable>
</rate>
parameter | type | description | mandatory? |
---|---|---|---|
rate_id | string |
| Yes |
rate_label | string |
| No |
people | integer |
| Yes |
price | decimal |
| Yes |
discount | decimal |
| No |
minimum_stay | integer |
| No |
rate_nights | integer |
| No |
closed_to_arrival | boolean |
| No |
closed_to_departure | boolean |
| No |
non_refundable | boolean |
| No |
If the update is successful, the answer will be:
If there has been some error, the answer will be: