This structure informs about the contract header: range of dates this contract is valid for, ages for children... Basically, it remains as before, but there is a new field now (only for external providers): Is total price per stay.
This field indicates if it is necessary to sum several price lines from [SIAP.Amount] in order to get the final price for reaching the length of stay desired or not.
If value is Y, it is not possible to do the calculation over other lines to get the final price with the length of stay required as it is returning the lengths of stay available for this room (if a length of stay is not in the price lines in [SIAP], it is not bookable).
If value is N, it is possible to do the calculation over other lines to get the final price with the length of stay required (if a length of stay is not in the price lines in [SIAP], it is possible to do the sum to get the length of stay required).
{CCON}
Y:LVS:256:16283:ID_B2B_21#B2B:U10:H:12796:18752:20200801:20200831:N:USD::
NOR:M:N:N:::B::U:::N:N:MjAxNDA3MjU=:P:Y
{/CCON}
[...]
{SIAP}
20201001:20201031:DBL:CX:RO:1:1::N:(0.000,0.000,76.080)
20201001:20201031:DBL:CX:RO:2:1::N:(0.000,0.000,85.080)
20201001:20201031:DBL:CX:RO:3:1::N:(0.000,0.000,103.250)
{/SIAP}
As [CCON.Is total price per stay] is Y, it is not possible to sum prices from [SIAP] in order to get the length of stay desired, so if for example, the booking desired was for 7 nights of length of stay, this contract will not be available, as only stays for 1, 2 and 3 nights would be possible for this room.
{CCON}
Y:LVS:256:16283:ID_B2B_21#B2B:U10:H:12796:18752:20200801:20200831:N:USD::
NOR:M:N:N:::B::U:::N:N:MjAxNDA3MjU=:P:N
{/CCON}
[...]
{SIAP}
20201001:20201031:DBL:CX:RO:1:1::N:(0.000,0.000,76.080)
20201001:20201031:DBL:CX:RO:2:1::N:(0.000,0.000,85.080)
20201001:20201031:DBL:CX:RO:3:1::N:(0.000,0.000,103.250)
{/SIAP}
As [CCON.Is total price per stay] is N, it is possible to sum prices from [SIAP] in order to get the length of stay desired, so if for example, the booking desired was for 7 nights of length of stay, you must sum prices from lines with length of stay 3+3+1 (twice third line and one time first line. From stay more restrictive to less restrictive).
Specification
|
Field |
Length |
Type |
Null |
Description |
|
Initial date |
8 |
Date |
N |
Travel start date |
|
End date |
8 |
Date |
N |
Travel end date |
|
Room type |
3 |
Text |
N |
|
|
Characteristic |
15 |
Text |
N |
|
|
Board type |
2 |
Text |
N |
|
|
Length of stay (LOS) |
|
Number |
N |
|
|
Adults |
2 |
Number |
Y |
Number of adults |
|
Children |
|
Number |
Y |
If a room admits children, it informs the range of age for each child where first value indicates number of children which the rule applies to
and second and third values indicates the minimum and maximum age for those children.
|
|
Occupancy |
1 |
Boolean |
N |
Indicates how to manage/build the occupancy per room:
|
|
Net price |
|
Number |
Y |
Contains net sale price for the product |
|
Price |
|
Number |
Y |
Contains the final price for this product when sold to public
|
|
Amount |
|
Number |
Y |
Contains the amount for the product |
| Recurrence | Number | N | Contains the number of days this price is repeated (if this number is 2, that would mean that this price will be the same for 2 consecutive days). |
These examples inform about the availability and prices for DBL-ST room with RO board:
{SIAP}
20110601:20110605:DBL:ST:RO:1:2::Y:(100.000,90.000,100.000,4)
20110601:20110605:DBL:ST:RO:2:2::Y:(100.000,90.000,100.000,3)
20110601:20110605:DBL:ST:RO:5:2:(1,2,8)(2,9,12):N:(100.000,90.000,100.000,1)
{/SIAP}
This structure informs about the prices for external providers. Basically it remains as before, but now there are 2 new fields: Children and Is price per pax.
20201001:20201031:QUA:2Q-LC:RO:1:2:(2,0,17):
20201001:20201031:QUA:2Q-LC:RO:1:2:(3,0,17):
When [SIAP.Occupancy] is N, structure [CNHA] will be empty when prices are per room. In those cases, it is necessary to check the structure [SIAP] in order to know for which occupancy those prices are valid (occupancy will be informed in [SIAP] structure directly).
When [SIAP.Occupancy] is Y, structure [CNHA] must be checked and fields from [SIAP] will be empty.
If [SIAP.Occupancy] is N, AIF has the following:
{CNHA}
{/CNHA}
[...]
{SIAP}
20200901:20200930:DBL:DX-KG-NB:RO:1:1::N:(0.000,0.000,162.760)
{/SIAP}
In this case, occupancy is informed in [SIAP.Adults] and [SIAP.Children], and [CNHA] is empty. Price in [SIAP.Amount] is valid only for the occupancy in [SIAP.Adults] and [SIAP.Children] and the [SIAP.Length of stay] informed.
If [SIAP.Occupancy] is Y, AIF has the following:
{CNHA}
DBL:DX-KG-NB:2:1:3:2:1:0:1:
{/CNHA}
{SIAP}
20200901:20200930:DBL:DX-KG-NB:RO:1:::Y:(0.000,0.000,162.760)
{/SIAP}
In this case, occupancy is informed in [CNHA], and [SIAP.Adults] and [SIAP.Children] is empty. Price in [SIAP.Amount] is valid for any possible occupancy combination from [CNHA] for this room (in the example above, for DBL.DX-KG-NB).
{SIAP}
20220601:20220605:DBL:ST:RO:1:2::Y:(100.000,90.000,100.000,4)(150.000,120.000,150.000,1)
20220601:20220605:DBL:ST:RO:2:2::Y:(100.000,90.000,100.000,3)(150.000,90.000,150.000,2)
20220601:20220605:DBL:ST:RO:5:2:(1,2-8)(2,9-12):N:(100.000,90.000,100.000,1)(150.000,90.000,150.000,4)
{/SIAP}
For the first example, from 01/06/2022 until 04/06/2022 the net price, price and amount would be 100, 90 and 100 respectively while for 05/06/2022 the price would be 150, 90 and 150 respectively. This recurrence should contain all the dates in the period (initial and final date), so it necessary to bear it in mind in order to apply properly the correct price.
|
Field |
Length |
Type |
Null |
Description |
Internal Name |
|
Initial date |
8 |
Date |
N |
Travel start date |
fec_desde |
|
Final date |
8 |
Date |
N |
Travel end date |
fec_hasta |
|
Room type |
3 |
Text |
N |
The combination of the Room Type, Room Characteristic is the room code in the XML. However certain offers and supplement can be applied to specific Room Type and/or Room Characteristic.File will contain multiple room types. No limit on the number of room types |
cod_hab |
|
Characteristic |
15 |
Text |
N |
|
cod_car |
|
Board |
2 |
Text |
Y |
Board code. If empty means that this information common for all boards of this room. |
cod_board |
|
Release Min |
4 |
Number |
N |
Min release days. 0 is day of departure (i.e. no release date) |
nro_release |
|
Release Max |
4 |
Number |
N |
Max release days. 0 is day of departure (i.e. no release date) |
nro_release |
|
Allotment |
2 |
Number |
N |
Remaining allotment from 0 to 10. 10 will indicate the number of rooms available is equal or greater than 10 |
nro_disponible |
| Recurrence | Number | N | Contains the number of days this allotment is repeated (if this number is 2, that would mean that this allotment will be the same for 2 consecutive days). |
{SIIN}
20110501:20110508:DBT:ST:BB:(0,0,8,1)(0,0,10,5)(0,0,9,1)(0,0,10,1)
20110501:20110508:DBT:ST:BB:(0,0,6,1)(0,0,10,6)(0,0,9,1)
{/SIIN}
This new structure informs about the release and allotment per room in external supplier contract. Basically it remains the same as [CNIN] structure but includes some new fields:
Example:
Booking from 01/12/14 to 05/12/14
20201201:20201231:DBL:2Q::(2,30,5)(2,30,5)(5,60,5)
In example above, Release Min is 2 days (if check-in date is 01/12/14, the booking must be confirmed on 29/11/14. After this date, room will not be longer available (for bookings with check-in date on 01/12/14)).
Release Max is 30 days for bookings with check-in date on 01/12/14, so maximum you can do the booking confirmation for this booking 30 days before the 01/12/14 (in this case, the maximum date for doing the booking would be the 01/11/14).

In dark blue the period included until Release Max. In pink days that are included on Release Min. In blue the check-in date. In purple dates that exceed release.
|
Field |
Length |
Type |
Null |
Order |
Description |
Internal Name |
|
Initial date |
8 |
Date |
N |
|
|
fec_desde |
|
Final date |
8 |
Date |
N |
|
|
fec_hasta |
|
Application initial date |
8 |
Date |
N |
|
Earliest booking creation date |
fec_aplini |
|
Application final date |
8 |
Date |
Y |
|
Last booking creation date |
fec_aplfin |
|
Supplement or discount code |
3 |
Text |
N |
|
Supplement or discount code |
cod_suplem |
|
Type |
1 |
Enumeration |
N |
|
N: Child discount |
tipo_suplemento |
|
Is per pax |
1 |
Boolean |
N |
|
Applies per pax or per service: |
ind_paxser |
|
Opaque |
1 |
Boolean |
N |
|
If true, only applies for packaging |
ind_opaque |
|
Order |
8 |
Number |
Y |
|
Order in which supplements must be applied. From lowest to highest. |
orden |
|
Application type |
1 |
Enumeration |
N |
|
B: On base board |
ind_tipapl |
|
Amount |
|
Number |
Y |
|
Amount. It could be positive (supplement) and negative (discount) |
imp_suplem |
|
Percentage |
|
Number |
Y |
|
Percentage. It could be positive (supplement) and negative (discount) |
pct_suplem |
|
Is cumulative |
1 |
Boolean |
N |
|
True if cumulative and applies to rest of supplements applied before |
ind_acumula |
|
Rate |
8 |
Number |
Y |
1 |
|
cod_tarifa |
|
Room type |
3 |
Text |
Y |
2 |
|
cod_hab |
|
Characteristic |
15 |
Text |
Y |
3 |
|
cod_car |
|
Board |
3 |
Text |
Y |
4 |
|
cod_regim |
|
Adults |
3 |
Number |
Y |
|
Minimum adults to apply the rule |
nro_adultos |
|
Pax order |
3 |
Number |
Y |
|
Indicates adult to which the rule applies: N and C |
nro_orden |
|
Minimum age |
2 |
Number |
Y |
|
Minimum age that limits the rule |
nro_edaini |
|
Maximum age |
2 |
Number |
Y |
|
Maximum age that limits the rule |
nro_edafin |
|
Number of days |
3 |
Number |
Y |
|
Refer to valuation process |
nro_dias |
|
Minimun days |
3 |
Number |
Y |
|
Minimum stay requirement to apply the promotion. |
|
|
Maximun days |
3 |
Number |
Y |
|
Maximun stay requirement to apply the promotion. |
|
|
Length of stay |
3 |
Number |
Y |
|
Number of days for the stay |
nro_dias_estancia |
|
Limit date |
8 |
Date |
Y |
|
Refer to valuation process |
fec_limite |
|
On Monday |
1 |
Boolean |
N |
|
True if supplement on Monday. False if not. |
ind_lun |
|
On Tuesday |
1 |
Boolean |
N |
|
True if supplement on Tuesday. False if not. |
ind_mar |
|
On Wednesday |
1 |
Boolean |
N |
|
True if supplement on Wednesday. False if not. |
ind_mie |
|
On Thursday |
1 |
Boolean |
N |
|
True if supplement on Thursday. False if not. |
ind_jue |
|
On Friday |
1 |
Boolean |
N |
|
True if supplement on Friday. False if not. |
ind_vie |
|
On Saturday |
1 |
Boolean |
N |
|
True if supplement on Saturday. False if not. |
ind_sab |
|
On Sunday |
1 |
Boolean |
N |
|
True if supplement on Sunday. False if not. |
ind_dom |
|
Net price |
|
Number |
Y |
|
Contains net sale price for this supplement |
|
|
Price |
|
Number |
Y |
|
Contains the final price for this supplement when sold to public |
|
|
Market price |
2 |
Text |
Y |
|
Price per origin market (only available for clients that works on several countries).If you only work with one country, you will receive this field empty |
|
|
Promotion ID |
Text |
Y |
|
ID associated to the promotion. |
||
|
Continuity |
3 |
Text |
Y |
|
FS (Full Stay Required): All nights in the booking must be covered by the promotion period. If even a single night falls outside the promotional period, the promotion does not apply.
Example: A promotion is valid from August 1 to August 10. A booking from August 3 to August 8 qualifies for the promotion. A booking from August 8 to August 12 does not qualify because the nights from August 11 to August 12 fall outside the promotional period. Example: A promotion is valid from August 1 to August 10. A booking from August 3 to August 8 qualifies for the promotion. A booking from August 8 to August 12 does not qualify because the nights from August 11 to August 12 fall outside the promotional period. PA (Partial Stay Allowed): Only part of the stay needs to overlap with the promotion period. The discount may be applied only to the nights covered by the promotion. Example: A promotion is valid from August 1 to August 10. A booking from August 8 to August 12 would receive the promotion for the nights of August 8, 9, and 10 only.. Example: A promotion is valid from August 1 to August 10. A booking from August 8 to August 12 would receive the promotion for the nights of August 8, 9, and 10 only.. |
|
|
Exclusivity |
3 |
Text |
Y |
|
AD (Applied Dates): The benefit is applied only to the dates that fall within the promotional period. ST (Stay): The promotion is evaluated against the entire stay. Depending on the continuity rules (FS or PA), it may end up affecting the whole booking rather than only specific nights. ST (Stay): The promotion is evaluated against the entire stay. Depending on the continuity rules (FS or PA), it may end up affecting the whole booking rather than only specific nights. In practice, the most common combinations are: FS + ST → The entire booking must fall within the promotional period. If any night of the stay is outside the promotion dates, the promotion does not apply. PA + AD → Only the nights that overlap with the promotional period receive the discount. |
(*) If a percentage is informed, these values are not applicable and the percentage should be applied as usual.
{CNSU}
20270601:20270705:20260904::MMX:M:N:N::C::-9.980:N:0:DBL:DB-1:RO:1::0:100:0:6:::Y:Y:Y:Y:Y:Y:Y:0.000:0.000::6a67421a32fa3237a1131539:PA:AD
20270706:20270712:20260904::MMX:M:N:N::C::-9.980:N:0:DBL:DB-1:RO:1::0:100:0:6:::Y:Y:Y:Y:Y:Y:Y:0.000:0.000::6a6742c932fa3237a1131559:PA:AD
20270713:20270720:20260904::MMX:M:N:N::C::-9.980:N:0:DBL:DB-1:RO:1::0:100:0:6:::Y:Y:Y:Y:Y:Y:Y:0.000:0.000::6a6742c932fa3237a1131559:PA:AD
20270801:20270815:20260904::MMX:G:N:N::C::-14.970:N:0:DBL:DB-1:RO:1::0:100:0:0:::Y:Y:Y:Y:Y:Y:Y:0.000:0.000::6a6744f532fa3237a113158a:PA:AD
20270901:20270915:20260904::MMX:R:N:N::C::-19.960:N:0:DBL:DB-1:RO:1::0:100:0:3:6::Y:Y:Y:Y:Y:Y:Y:0.000:0.000::6a6745c432fa3237a11315aa:FS:ST
{/CNSU}
|
Field |
Length |
Type |
Null |
Description |
Internal Name |
|
Initial date |
8 |
Date |
N |
|
fec_desde |
|
Final date |
8 |
Date |
N |
|
fec_hasta |
|
Application initial date |
8 |
Date |
Y |
Earliest booking creation date |
fec_aplini |
|
Application final date |
8 |
Date |
Y |
Last booking creation date |
fec_aplfin |
|
Minimum days |
1 |
Number |
N |
Minimum days for the booking |
nro_ini |
|
Maximum days |
1 |
Number |
N |
Maximum days for the booking |
nro_fin |
|
Rate |
8 |
Number |
Y |
|
cod_tarifa |
|
Room type |
3 |
Text |
Y |
|
cod_hab |
|
Characteristic |
15 |
Text |
Y |
|
cod_car |
|
Board |
3 |
Text |
Y |
|
cod_regim |
|
Frees |
3 |
Number |
Y |
Number of free nights |
nro_gratis |
|
Free nights |
text |
Y |
List of free nights applicable to the requested stay, for example: [1, 3]. In this case, the first and third nights of the stay will be free. The defined list of free nights will depend on the minimum and maximum stay requirements defined in the promotion through the Minimum Days and Maximum Days fields. |
||
|
Amount |
Number |
Y |
If this amount is provided, the original nightly rate must be replaced with the specified amount (for example, to account for mandatory taxes or fees that are not included in the free-night benefit). |
||
|
Free code |
3 |
Text |
Y |
Free code. It is used in conjunction with the data held in the CNOE |
cod_grat |
|
Discount |
8 |
Number |
Y |
Percentage amount of discount |
pct_descuento |
|
Application base type |
1 |
Enumeration |
N |
B: Applies to the base price [without supplement and discounts CNSU] |
ind_base |
|
Application board type |
1 |
Enumeration |
N |
B: Applies to the base price [without board supplements and discounts CNSR] |
ind_regimen |
|
Application discount type |
1 |
Enumeration |
N |
Which night the free offer applies |
ind_tipapl |
|
Application stay type |
1 |
Enumeration |
N |
E: Check in date must be in travel date period S: Check in date and check out date must be in the travel date period P: Only applies if no E or S has been applied. The check in and check out (minus 1) dates must overlap with the travel date period. The number of nights stay is taken from the overlap period and validated against the min/max duration. Multiple P offers can be applied. However max of 1 offer for each nightP only applies if no E or S offers have been applied |
ind_entest |
|
On Monday |
1 |
Boolean |
N |
True if applies on Monday. False if not. |
ind_lun |
|
On Tuesday |
1 |
Boolean |
N |
True if applies on Tuesday. False if not. |
ind_mar |
|
On Wednesday |
1 |
Boolean |
N |
True if applies on Wednesday. False if not. |
ind_mie |
|
On Thursday |
1 |
Boolean |
N |
True if applies on Thursday. False if not. |
ind_jue |
|
On Friday |
1 |
Boolean |
N |
True if applies on Friday. False if not. |
ind_vie |
|
On Saturday |
1 |
Boolean |
N |
True if applies on Saturday. False if not. |
ind_sab |
|
On Sunday |
1 |
Boolean |
N |
True if applies on Sunday. False if not. |
ind_dom |
|
Week Day validation type |
1 |
Enumeration |
N |
E: Check in date must be valid for the week day S: The free will be applied if the booking pass through ALL the selected days |
ind_DiasemEntest |
|
Promotion ID |
Text |
Y |
ID associated to the promotion. |
||
|
Continuity |
3 |
Text |
Y |
FS (Full Stay Required): All nights in the booking must be covered by the promotion period. If even a single night falls outside the promotional period, the promotion does not apply.
Example: A promotion is valid from August 1 to August 10. A booking from August 3 to August 8 qualifies for the promotion. A booking from August 8 to August 12 does not qualify because the nights from August 11 to August 12 fall outside the promotional period. Example: A promotion is valid from August 1 to August 10. A booking from August 3 to August 8 qualifies for the promotion. A booking from August 8 to August 12 does not qualify because the nights from August 11 to August 12 fall outside the promotional period. PA (Partial Stay Allowed): Only part of the stay needs to overlap with the promotion period. The discount may be applied only to the nights covered by the promotion. Example: A promotion is valid from August 1 to August 10. A booking from August 8 to August 12 would receive the promotion for the nights of August 8, 9, and 10 only.. Example: A promotion is valid from August 1 to August 10. A booking from August 8 to August 12 would receive the promotion for the nights of August 8, 9, and 10 only.. |
|
|
Exclusivity |
3 |
Text |
Y |
AD (Applied Dates): The benefit is applied only to the dates that fall within the promotional period. ST (Stay): The promotion is evaluated against the entire stay. Depending on the continuity rules (FS or PA), it may end up affecting the whole booking rather than only specific nights. ST (Stay): The promotion is evaluated against the entire stay. Depending on the continuity rules (FS or PA), it may end up affecting the whole booking rather than only specific nights. In practice, the most common combinations are: FS + ST → The entire booking must fall within the promotional period. If any night of the stay is outside the promotion dates, the promotion does not apply. PA + AD → Only the nights that overlap with the promotional period receive the discount. |
{CNGR}
20261119:20261119:20260917::4:99:0:DBL:DB-1:BB::3:0.18:FN::T:R:E:S:Y:Y:Y:Y:Y:Y:Y:S:::6a67421a32fa3237a1131539:PA:AD
20261120:20261120:20260917::4:99:0:DBL:DB-1:BB::3:0.18:FN::T:R:E:S:Y:Y:Y:Y:Y:Y:Y:S:::6a67421a32fa3237a1131539:PA:AD
20261125:20261125:20260917::6:8:0:DBL:DB-1:BB::2,4,6,8,10,12,14,16,18,20,22,24,26,28,30:0.18:FN::T:R:E:S:Y:Y:Y:Y:Y:Y:Y:S:::6a67421a32fa3237a1131539:PA:AD
20261126:20261126:20260917::6:8:0:DBL:DB-1:BB::2,4,6,8,10,12,14,16,18,20,22,24,26,28,30:0.18:FN::T:R:E:S:Y:Y:Y:Y:Y:Y:Y:S:::6a67421a32fa3237a1131539:PA:AD
{/CNGR}
|
Field |
Length |
Type |
Null |
Description |
Internal Name |
|
Code1 |
3 |
Text |
N |
Free or supplement/discount code |
cod_splgra |
|
Code2 |
3 |
Text |
N |
Free or supplement/discount code |
cod_splgra_ex |
|
Is excluded |
1 |
Boolean |
N |
Y: If Code1 applies then Code2 is excluded |
ind_excluido |
The EB supplement/discount is excluded when the ARD free applies.
{CNOE}
MMX:FN:Y
FN:MMX:Y
{/CNOE}
|
Field |
Length |
Type |
Null |
Description |
Internal Name |
|
Code |
8 |
Text |
N |
Promotion code |
cod_promo |
|
Description |
|
Text |
N |
Promotion description |
nom_promo |
|
Initial date |
8 |
Date |
N |
Travel start date |
fec_inires |
|
Final date |
8 |
Date |
N |
Travel end date |
fec_finres |
|
Application initial date |
8 |
Date |
N |
Earliest booking creation date |
fec_inicre |
|
Application final date |
8 |
Date |
N |
Last booking creation date |
fec_fincre |
|
Is included |
1 |
Boolean |
N |
Restriction type |
fec_entrada |
{CNPR}
2003:Package Hotel + Excursion:20110401:20111031:20110320:20111031:Y
{/CNPR}
|
Field |
Length |
Type |
Null |
Description |
Internal Name |
|
Initial date |
8 |
Date |
N |
Travel starts date |
fec_desde |
|
Final date |
8 |
Date |
N |
Travel end date |
fec_hasta |
|
Room type |
3 |
Text |
Y |
|
cod_hab |
|
Characteristic |
15 |
Text |
Y |
|
cod_car |
|
Board |
3 |
Text |
Y |
|
|
|
Is per check-in date |
1 |
Boolean |
N |
Indicates if validation is for check in date or for the whole stay:
|
|
|
Is per range |
1 |
Boolean |
N |
Indicates if validation is per range or per list of days:
|
|
|
Days |
|
Number |
Y |
If Is per range = Y, data provided will indicate the minimum and maximum stays separated by comma. Example: (1,5) where bookings for 1, 2, 3, 4, and 5 days are possible.
|
|
If data in Days is empty, there is not restriction for any day (any stay is valid)
{CNEM}
20200626:20200630:QUA:2B::Y:N:(2,3)(1)()()()
20200626:20200630:QUA:2B::N:Y:(1,3)(1,4)(4,5)()
{/CNEM}
Minimum and maximum stay per day will be informed on this section for external providers.
It is possible to have for the same dates, same room type, and same board, 2 different lines in [SIEM], one per range and another per list of days. If this happens, it is necessary both lines are fulfilled in order to the requested booking is possible.
In those cases, [SIEM.Is per check-in date] will have the same value for both lines (it is not possible you will have different values for this field in these 2 lines).
Example:
20200901:20200930:DBL:AE-QU::N:Y:(1,28)(1,8)(1,8)(1,28)(1,28)
20200901:20200930:DBL:AE-QU::N:N:()(1,2,8)(1,2,8)()()
In the cases above, the first line indicates the validation is per range for room DBL.AE-QU from 01/09/14 to 30/09/14 and the second line indicates the validation is per list of days for room DBL.AE-QU from 01/09/14 to 30/09/14.
It is necessary both lines are fulfilled to go on with the booking. If some of them are not fulfilled the booking will not be possible through xml.
Depending on the validation of fields [SIEM.Is per check-in date] and [SIEM.Is per range], it is necessary to apply it in one way or another:
20210201:20210228:QUA:2Q-DX::Y:Y:(1,28)(1,28)(7,28)(7,28)(1,28)
For QUA.2Q-DX, the 1st can stay from 1 to 31 nights, 2nd from 1 to 31 nights, 3rd from 7 to 31 nights.
As [SIEM.Is per check-in date] is Y, a stay from 1 to 4 February (3 nights) would be valid as it complies the rule for the 1st and it is not necessary to check the 2nd and 3rd.
20210201:20210228:QUA:2Q-DX::Y:N:(1,2)(1,2,3)(7,8)(7,8)(1,2)
For QUA.2Q-DX, the 1st can stay 1 and 2 nights, 2nd can stay 1, 2 and 3 nights, 3rd can stay 7 and 8 nights.
As [SIEM.Is per check-in date] is Y, a stay from 1 to 4 February (3 nights) would not be valid as it does not comply the rule for the 1st and it is not necessary to check the 2nd and 3rd.
20210201:20210228:QUA:2Q-DX::N:Y:(1,3)(1,2)(7,15)(7,15)(1,28)
For QUA.2Q-DX, the 1st can stay from 1 to 3 nights, 2nd from 1 to 2 nights, 3rd from 7 to 15 nights.
As [SIEM.Is per check-in date] is N, a stay from 1 to 4 February (3 nights) would not be valid as it complies the rule for the 1st but not for the 2nd neither 3rd, as for the 2nd is necessary to stay maximum 2 nights and for the 3rd is necessary to stay minimum 7 nights.
20210201:20210228:QUA:2Q-DX::N:N:(1,3)(1,2)(7,8)(7,15)(1,31)
For QUA.2Q-DX, the 1st can stay 1 or 3 nights, 2nd can stay 1 or 2 nights, 3rd can stay 7 or 8 nights.
As [SIEM.Is per check-in date] is N, a stay from 1 to 3 February (2 nights) would not be valid as it complies the rule for the 2nd but does not comply the rule for the 1st, as it is only possible to do a booking for stays of 1 or 3 nights.
This information is displayed at CNES structure.
The [CNES.type] indicator informs about the application: if it is a restriction to check in or check out date.
In both cases seek applicable records, they shall fulfil the following conditions:
After that, we will validate the days when the contract requires checking in or checking out. Every record informs about the day of the week. This value must be true.
In the case of more than one applicable record, when you have just one of them to allow checking in or checking out then it will be valid for booking.
In the absence of any record, then booking is allowed.
How to do the calculation
The process to get the price for the external inventory is very simple, as final price is always calculated and published. The first step consists in checking the [CCON.External inventory] and only processes those files which [CCON.External inventory] value is true.
Then the price information is informed at SIAP structure. There you can see the final price for the requested availability:
In all the cases, if [SIAP.Amount] is empty, means that there are not prices for those dates in the length of stay informed.
|
Field |
Length |
Type |
Null |
Description |
|
Initial date |
8 |
Date |
N |
Application start date |
|
End date |
8 |
Date |
N |
Application end date |
|
Days |
|
Number |
Y |
Days before the client check in where the cancellation fee applies |
|
Hours |
|
Number |
Y |
Hours before the client check in where the cancellation fee applies. Local hotel time is considered here. |
| Charge type |
1 |
Enumeration |
N |
1: First night E: Stay |
|
Amount |
|
Number |
Y |
|
| Percentage |
|
Number |
Y |
{SICF}
20110601:20110605:1::E::100
{/SICF}
If you want to show the cancellation policies, you have to check this information at SICF structure. The cancellation fee can apply to the first night or to the entire stay depending on the [SICF.Charge type] value. If the percentage is informed and [SICF.charge type] is 1 [first night] then you have to divide the total amount of the stay by the length of stay in order to calculate ht price for the first night.
NOTE: As contracts from our third party providers are not in our direct database, it is possible there are price differences. As always the final price for external providers is confirmed through xml (ServiceAddRS/CheckRateRS).
|
Field |
Length |
Type |
Null |
Description |
Internal Name |
|
Initial date |
8 |
Date |
Y |
Travel start date |
fec_desde |
|
Final date |
8 |
Date |
Y |
Travel end date |
fec_hasta |
|
Room code |
3 |
Text |
Y |
|
cod_hab |
|
Board code |
2 |
Text |
Y |
Board code |
cod_regimen |
|
Tax code |
8 |
Text |
N |
Tax code (See possible types below) |
|
|
Included in price |
1 |
Boolean |
N |
Y: Included in price |
|
|
Maximum number of nights |
|
Number |
Y |
Contains maximum number of nights to apply this tax |
|
|
Minimum age |
|
Number |
Y |
Contains minimum age to apply this tax |
|
| Maximum age | Number | Y | Contains maximum age to apply this tax | ||
|
Is per night |
1 |
Boolean |
N |
Indicates if the tax is applied per night or per stay: Y: Applies per night N: Applies per whole stay |
|
|
Is per pax |
1 |
Boolean |
N |
Indicates if the tax is applied per pax or per service: Y: Applies per pax N: Applies per service |
|
|
Amount |
|
Number |
Y |
Contains the amount of the product |
|
|
Percentage |
|
Number |
Y |
Contains the percentage of the product |
|
|
Currency |
3 |
Text |
Y |
Currency code for this tax. |
sdiv_cod_divisa |
| Apply over | 1 | Text | Y |
Indicates if the tax is applied over net price (when it appears net price, amount and Price) or over amount (only applicable/available when tax is a percentage): N: Applies over net price A: Applies over amount |
|
| Market code | 2 | Text | Y | Origin market (only available for clients that works on several countries). If you only work with one country, you will receive this field empty | |
| Legal Description | 10 |
Text | Y | Legal Description for Canadian Taxes (only available for Canadian Taxes) |
|
Tax code |
Description |
|
T-10-CT |
City taxes |
|
F-0-FF |
Fees |
|
F-1-RF |
Resort Fee |
|
F-10-RF |
Convenience Fee |
|
F-20-RF |
Amenity Fee |
|
F-30-RF |
Boutique Fee |
|
F-40-RF |
Connection Fee |
|
F-50-RF |
Facilty Fee |
|
F-55-RF |
Activity Fee |
|
F-60-RF |
Service Charge |
|
F-65-RF |
Hospitality Fee |
|
F-70-RF |
Energy surcharge |
|
F-75-RF |
Cleaning Fee |
|
F-80-RF |
Transportation Fee |
|
F-85-RF |
Ecologic Fee |
|
F-90-RF |
Tips |
|
F-95-RF |
Mountain rescue Fee |
|
T-10-ST |
State Tax |
|
T-20-ST |
Country Tax 1 |
|
T-21-ST |
Country Tax 2 |
|
T-30-ST |
City Tax 1 |
|
T-31-ST |
City Tax 2 |
|
T-32-ST |
City Tax 3 |
|
T-50-ST |
Taxes |
|
T-90-ST |
Service Fee |
|
T-999-ST |
Service Fee I |
|
T-0-TT |
Taxes |
{ATAX}
20140101:20151231:DUS:BB:T-10-CT:N::::Y:Y:4.5::EUR:N::
{/ATAX}
|
Field |
Length |
Type |
Null
|
|
Internal Name |
|
|
Room type |
3 |
Text |
N |
N |
Room Type code. Depends on Company code at CCON |
cod_hab |
|
Characteristic |
15 |
Text |
N |
N |
Characteristic code. Depends on company at CCON. |
cod_car |
|
roomId |
3 |
Number |
N |
Y |
Unique room identifier, used in Content API and the response of Booking API |
|
{CNRM}
DBL:ST:81256
SGL:ST:75415
{/CNRM}
If you want to book a room for 7 nights, and you have length of stay of 3, 2 and 1 nights, you should select first 2 length of stay for 3 nights (3+3) and later on select the stay of 1 night (3+3+1) as the most restrictive are the ones that include more nights in the length of stay (you should use the less restrictive ones only when there is no other option so most restrictive ones cannot be applied because the length of stay of the booking is exceeded).
NOTE: The combination of these days must be from more restrictive to less restrictive.
Example:
Booking from 10/09 to 17/09 for 2 adults
20200905:20200930:TWN:SU:RO:3:2::N:(0.000,0.000,403.520)(0.000,0.000,369.470)(0.000,0.000,356.190)(0.000,0.000,381.930)(0.000,0.000,415.970)(0.000,0.000,437.560)(0.000,0.000,437.560)(0.000,0.000,429.250)(0.000,0.000,420.950)
20200905:20200930:TWN:SU:RO:1:2::N:(0.000,0.000,148.620)(0.000,0.000,140.320)(0.000,0.000,114.580)(0.000,0.000,114.580)(0.000,0.000,127.030)(0.000,0.000,140.320)(0.000,0.000,148.620)(0.000,0.000,148.620)(0.000,0.000,140.320)(0.000,0.000,140.320)(0.000,0.000,140.320)(0.000,0.000,127.030)
In AIF, according the above, we have the following:
|
|
|
|
|
|
|
10 /09 /2020 |
11 /09 /2020 |
12 /09 /2020 |
13 /09 /2020 |
14 /09 /2020 |
15 /09 /2020 |
16 /09 /2020 |
|
TWN |
SU |
RO |
3 |
2 |
N |
0.000,0.000,437.560 |
|
|
(0.000,0.000,420.950 |
|
|
|
|
TWN |
SU |
RO |
1 |
2 |
N |
|
|
|
|
|
|
(0.000,0.000,127.030 |
Where from 10/09/2020 to 12/09/2020, the price is 437.56 (price for 3 nights), from 13/09/2020 to 15/09/2020 the price is 420.95 (price for 3 nights) and the price for 16/09/2020 is 127.030 (price for 1 night), so total price would be 985.540.
If price in [SIAP.Amount] section is for just one day, you must add the price for every day as usual.
Example:
Booking from 05/12/2020 to 10/12/2020 for 2 adults
In AIF we have the following:
20201201:20201231:DBL:DI-KG-NS:BB:1:1::N:
20201201:20201231:DBL:DI-KG-NS:BB:1:2:(1,0,17):N:
20201201:20201231:DBL:DI-KG-NS:BB:1:2::N:
20201201:20201231:DBL:DI-KG-NS:BB:1:3::N
Where the only valid line is the third one, as first is for 1 adult, second for 2 adults and 1 child and fourth is for 3 adults.
20201201:20201231:DBL:DI-KG-NS:BB:1:2::N:(0.000,0.000,60.370)(0.000,0.000,60.370)(0.000,0.000,61.180)(0.000,0.000,62.010)(0.000,0.000,62.010)(0.000,0.000,63.290)(0.000,0.000,63.290)(0.000,0.000,63.290)(0.000,0.000,63.290)
Prices from 05/12 to 10/12 are the following:
|
|
|
|
|
|
|
05/12/2020 |
06/12/2020 |
07/12/2020 |
08/12/2020 |
09/12/2020 |
|
DBL |
DI-KG-NS |
BB |
1 |
2 |
N |
(0.000,0.000,62.010 |
(0.000,0.000,63.290 |
(0.000,0.000,63.290 |
(0.000,0.000,63.290 |
(0.000,0.000,63.290 |
Total price for this room would be 315.17