Documentation

External Inventory Process

Suppliers Integration structures




[CCON] Contract Header

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).

Example:

{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).





[SIAP] Suppliers integration availability and prices

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. 
Example: (1,2,12)(2,0,1) indicates: 
(1,2,12) just allowed one child that must have an age between 2 to 12 years old. 
(2,0,1) just allowed two children that must have an age between 0 to 1 year old. 
If a room does not admit children, it informs the range of age for each child (minimum and maximum age), so only paxes above this maximum age will be allowed (adults).  
These ages need to bear in mind in order to include adults in the room (if the maximum age does not comply (the pax is younger than the maximum age), then it is not possible to include this pax in the room). 
Example: (0,0,12) Adults allowed from 13 years old (children between 0 and 12 are not allowed)

Occupancy

1

Boolean

N

Indicates how to manage/build the occupancy per room: 
Y : It is necessary to check [CNHA] in order to know the occupancy allowed and build the occupancy for every room for every price line. 
N : Occupancy is informed in [SIAP] and price in [SIAP.Amount] will belong to this occupancy. [CNHA] will be empty.

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 
When [ CCON.Selling price ] value is true indicates this price is mandatory

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).


Example

These examples inform about the availability and prices for DBL-ST room with RO board:

  • 1 room of 2 adults and 0 children: Price from 1st June to 2nd June, from 2nd to 3rd, from 3rd to 4th and from 4th to 5th.
  • 1 room of 2 adults and 0 children: Price from 1st June to 3rd, from 2nd to 4th and from 3rd to 5th of June.
  • 1 room of 2 adults and 1 child between 2 and 8 years old and 2 children between 9 and 12 years old: Price from 1st June to 5th.

{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.

  • Children: Informs the age range for the number of children admitted where the first value indicates the number of children which the rule applies to and second and third value indicates the minimum and maximum age for those children. Example:

20201001:20201031:QUA:2Q-LC:RO:1:2:(2,0,17):

20201001:20201031:QUA:2Q-LC:RO:1:2:(3,0,17):

  • Occupancy: Indicates how to manage/build the occupancy per room.

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.

Example: 

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). 


  • Recurrence: Indicates the number of days this price would be the same for a period:

{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.




[SIIN] Inventory

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).

Example

{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:

  • Board code
  • Release Min and Release Max: Minimum and maximum number of days necessary to do the booking in advance, where Release Min would be the minimum days in advance to do the booking before check-in and Release Max would be the maximum days in advance to do the booking before check-in.
  • Recurrence: As for SIAP section, the recurrence will display the allotment for the range of dates (initial and final date).

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).


inventory

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.



[CNSU] Supplements and discounts

Specification

 

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 
F: Infant 
C: Additional/Extra Bed 
I: Double for individual use 
L: Long stay 
B: Early booking 
E: Fixed stay 
M: Minimum stay 
O: Operation days 
G: General 
K: Turbo early booking 
V: Apply supplement based on arrival date times number of nights if arrival date is in the Travel Start / End date period 
U: Last minute
D: Only available for Airline discounts
Q: HBG discounts

tipo_suplemento

Is per pax

1

Boolean

N

 

Applies per pax or per service: 
Y: Per person 
N: Per room

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 
R: On board supplement 
N: Per night, base board plus supplement 
A: Absolute amount 
T: Only once. Check in date must be within the travel start and end date. Apply once to check in date. 
U: Only once type if any date of the booking overlaps with the period. The day to apply the offer is the first one that overlaps. 
M: Absolute amount + board supplement
C: Promotions are evaluated per night, and the most advantageous promotion is applied when multiple promotions are eligible

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 
It could be positive (supplement) and negative (discount). Only available if Amount is informed and [CCON.Selling price] value is true (*)

 

Price

 

Number

Y

 

Contains the final price for this supplement when sold to public 
When [CCON.Selling price] value is true indicates this price is mandatory 
It could be positive (supplement) and negative (discount). Only available if Amount is informed and [CCON.Selling price] value is true (*)

 

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.

Example

{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}



[CNGR] Frees

Specification

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] 
D: Applies to the base price with base supplements and discounts [CNSU.Type = N, C or I] 
T: Applies to the total price

ind_base

Application board type

1

Enumeration

N

B: Applies to the base price [without board supplements and discounts CNSR] 
R: Applies to the price with board supplements and discounts

ind_regimen

Application discount type

1

Enumeration

N

Which night the free offer applies 
B: Cheapest night 
C: Most expensive night 
M: Average night 
P: First night 
U: Last night
E: Exact Stay: free nights are applied only to the nights specified in the Free Nights field. For example, if the free nights are [1,3], the benefit applies exclusively to the 1st and 3rd nights of the stay and not to any other nights.

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.

Example

{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} 



[CNOE] Combinable offers

Specification

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 
N: If Code1 applies then Code2 is also mandatory required

ind_excluido

 

Example

The EB supplement/discount is excluded when the ARD free applies.

{CNOE}
MMX:FN:Y
FN:MMX:Y
{/CNOE}

 



[CNPR] Promotions

Specification

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 
Y: The travel start date must be between initial and final date 
N: The travel start date can be out of initial and final date. If any day of the stay coincides with some date in the promotion range, it will be applied 

fec_entrada


Example

{CNPR}
2003:Package Hotel + Excursion:20110401:20111031:20110320:20111031:Y
{/CNPR} 





[SIEM] Minimum and maximum stay

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: 
Y: Per check-in date 
N: Per whole stay

 

Is per range

1

Boolean

N

Indicates if validation is per range or per list of days: 
Y: Per range 
N: 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 Is per range = N, data provided will indicate the list of days separated by comma. Example: (1,2,5) where bookings for 1, 2 and 5 days are possible (for bookings for 3 and 4 days there is not availability).

 

If data in Days is empty, there is not restriction for any day (any stay is valid)

Example

  • For QUA.2B, the 26 only can stay 1 or 3 days, 27 just 1. As Is per check-in date is Y, a stay from 26 to 28 June would be valid as it complies the rule for the 26 and it is not necessary to check the 27.
  • For QUA.2B, the 26 can stay from 1 to 3 days, 27 from 1 to 4, the 28 from 4 to 5. As Is per check-in date is N, a stay from 26 to 29 June would not be valid as it does not comply the rule for the 28, even the 26 and 27 is complying.

{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:

  • If [SIEM.Is per check-in date] is Y (validation per check-in date) and [SIEM.Is per range] is Y (range of minimum and maximum stays separated by comma), while the minimum stay in check-in date is complying, it is not necessary to check the rest of days. Example: 

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.

  • If [SIEM.Is per check-in date] is Y (validation per check-in date) and [SIEM.Is per range] is N (list of days separated by comma), while the minimum stay in check-in date is complying, it is not necessary to check the rest of the days. Example: 

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.

  • If [SIEM.Is per check-in date] is N (validation per the whole stay) and [SIEM.Is per range] is Y (range of minimum and maximum stays separated by comma), it is necessary the minimum stay complies all the complete stay of the booking. Example: 

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.

  • If [SIEM.Is per check-in date] is N (validation per the whole stay) and [SIEM.Is per range] is N (list of days separated by comma), it is necessary the minimum stay complies the complete stay of the booking. Example: 

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.





[CNES] Check in and check out days

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:

  • The date of check in/out is included
  • Matches the requested room or is generic
  • Matches requested characteristic or is generic
  • The application date is valid for the booking creation day

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:

  • Check in and check out dates
  • Occupancy (if price is per room)
  • Length of stay

In all the cases, if [SIAP.Amount] is empty, means that there are not prices for those dates in the length of stay informed. 




[SICF] Supplier integration cancellation fees

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



Example

{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).





[ATAX] Tax breakdown

Specification

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 
N: Not 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

Example

{ATAX}

20140101:20151231:DUS:BB:T-10-CT:N::::Y:Y:4.5::EUR:N::

{/ATAX}






[CNRM] Room mapping

Specification

Field

Length

Type

Null


Description

Internal Name

Room type

3

Text

N

N

Room Type code. Depends on Company code at CCON
Pair Room Type – Company code coincides with Room Type Code at Availability Response:
<RoomType type="SIMPLE" code="DBT"characteristic="ST">Double

cod_hab

Characteristic

15

Text

N

N

Characteristic code. Depends on company at CCON.
The pair Room Type – Characteristic coincides with characteristic at Availability Response:
<RoomType type="SIMPLE" code="DBT"characteristic="ST">Double</RoomType>

cod_car

roomId

3

Number

N

Y

Unique room identifier, used in Content API and the response of Booking API

Example

{CNRM}
DBL:ST:81256
SGL:ST:75415
{/CNRM}






Calculation for External Providers

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