Operations

ScanValuedAvailRQ

XML Request

Element

Required

Description

Language

Y

Language code in which the descriptions will be informed [refer to Language Code List]

ScanPlan@update

N

true: The output will contain only the modifications

false: Calculation of the entire Scan Plan [default value]

ScanPlan@paymentModel

N

MERCHANT: Post paid rates

DIRECT: Pre paid rates

BOTH: Both models [default value]

ScanPlan@packaging

N

YES: All the hotels including packaging offers

NO: All the hotels excluding packaging offers

BOTH: All [default value]

SourceCountry

N

Indicate the source market country to be considered when calculating availabilities and price [refer to Country Code List]

This feature is not available in the current release

Date@from

Y

Scan plan start date YYYYMMDD

Date@duration

Y

Duration in day. Max: 365 days

Date@bookingDate

N

Date when you want to send the availability, if you send the request in a concrete date you will receive the availability from this date on

Destination@code

N

 Destination@code orHotelCodeList must be informed

Destination code

HotelCodeList@included

N

If true then only the hotel list will be included in the output [default value]

If false then the hotel list will be excluded in the output

HotelCodeList/Hotel

If HotelCodeList

is present

Hotel code. Multiple hotels should be informed with Destination@code included (hotels from the same destination).

LengthsOfStay/LengthOfStay

Y

Number of nights to scan

HotelOccupancyList/Ocupancy

Y

Different occupancies to scan

/Occupancy/AdultCount

Y

Number of adults per room

/Occupancy/ChildCount

Y

Number of children per room

/Occuancy/GuestList

Mandatory if ChildCount > 0

Inform the passenger type and age. It is mandatory if the passenger is a child

/Occupancy/GuestList/Customer@type

Y

Passenger type

AD: Adult

CH: Child

/Occupancy/GuestList/Customer/Age

Mandatory for children CH type pax

Passenger’s age

HotelCategoryList@included

N

If true then only the category list will be included in the output [default value]

If false then the category list will be excluded in the output

HotelCategoryList/Category

If HotelCategoryList

is present

Category code

HotelBoardList@included

N

If true then only the board list will be included in the output [default value]

If false then the board list will be excluded in the output

HobelBoardList/Board

If HotelBoardList

is present

Board code

 Example 1

The following example shows a full Scan Plan availability for:

  • One single Scan
    • Travel start from 1st June 2011 to 180 days at BCN destination
    • 2 different length of stay: 2 and 3 nights stays.
    • 1 occupancy: 1 room for 2 adults

<ScanValuedAvailRQ xmlns="http://www.hotelbeds.com/schemas/2005/06/messages">
       <ScanPlan update="false" paymentModel="BOTH" packaging="BOTH">
             <SourceCountry>ES</SourceCountry> 
           <Date from="20110601" duration="180"/>
             <ScanList>
                    <Scan>
                           <Destination>BCN</Destination>
                           <HotelOccupancyList>
                                  <Occupancy>
                                        <AdultCount>2</AdultCount>
                                        <ChildCount>0</ChildCount>
                                  </Occupancy>
                           </HotelOccupancyList>
                           <LengthsOfStay>
                                  <LengthOfStay>2</LengthOfStay>
                                  <LengthOfStay>3</LengthOfStay>
                           </LengthsOfStay>
                    </Scan>
             </ScanList>
       </ScanPlan>
</ScanValuedAvailRQ>

 Example 2

The following example shows a full Scan Plan availability for:

  • Travel start from 1st June 2011 to 180 days
  • First Scan:
    • As no Destination is informed, only the HotelCodeList element is mandatory.
    • The hotels 7756, 2145, 3333 and 1111 will be considered and can be in different destinations
    • 1 occupancy for 2 adults 1 room
    • 7 and 14 nights stays
  • Second Scan:
    • Only the hotels 1234 and 4321 will be considered in the PMI destination
    • 2 different occupancies: 1 room for 2 adults and 1 room for 2 adults and a 5 years child
    • 4 different length of stay: 2, 3, 7 and 14 nights stays
    • Only the categories 3EST and 4EST will be considered
    • All the meal plans excluding BB will be considered

<ScanValuedAvailRQ xmlns="http://www.hotelbeds.com/schemas/2005/06/messages">
       <ScanPlan update="false" paymentModel="BOTH" packaging="BOTH">
             <SourceCountry>ES</SourceCountry>
             <Date from="20110601" duration="180"/>
             <ScanList>
                    <Scan>

                           <!-- As Destination element is missing, HotelCodeList is mandatory                    
                           The hotels 1234 and 4321 could be in different destinations -->
                           <HotelCodeList>
                                  <Hotel>7756</Hotel>
                                  <Hotel>2145</Hotel>
                                  <Hotel>3333</Hotel>
                                  <Hotel>1111</Hotel>
                           </HotelCodeList>
                           <HotelOccupancyList>
                                  <Occupancy>
                                        <AdultCount>2</AdultCount>
                                        <ChildCount>0</ChildCount>
                                  </Occupancy>
                           </HotelOccupancyList>
                           <LengthsOfStay>
                                  <LengthOfStay>7</LengthOfStay>
                                  <LengthOfStay>14</LengthOfStay>
                           </LengthsOfStay>
                    </Scan>
       <Scan>

                           <Destination>PMI</Destination>

                           <!-- Only hotels in PMI destination can be informed -->
                           <HotelCodeList included="true">
                                  <Hotel>1234</Hotel>
                                  <Hotel>4321</Hotel>
                           </HotelCodeList>
                           <HotelOccupancyList>
                                  <Occupancy>
                                        <AdultCount>2</AdultCount>
                                        <ChildCount>0</ChildCount>
                                  </Occupancy>
                                  <Occupancy>
                                        <AdultCount>2</AdultCount>
                                        <ChildCount>1</ChildCount>
                                        <GuestList>
                                               <Customer type="AD"/>
                                               <Customer type="AD">
                                                      <Age>45</Age>
                                               </Customer>
                                               <Customer type="CH">
                                                      <Age>5</Age>
                                               </Customer>
                                        </GuestList>
                                  </Occupancy>
                           </HotelOccupancyList>
                           <LengthsOfStay>
                                  <LengthOfStay>2</LengthOfStay>
                                  <LengthOfStay>3</LengthOfStay>
                                  <LengthOfStay>7</LengthOfStay>
                                  <LengthOfStay>14</LengthOfStay>
                           </LengthsOfStay>
                           <HotelCategoryList included="true">
                                  <Category>3EST</Category>
                                  <Category>4EST</Category>
                           </HotelCategoryList>
                           <HotelBoardList included="false">
                                  <Board>BB</Board>
                           </HotelBoardList>
                    </Scan>
             </ScanList>
       </ScanPlan>
</ScanValuedAvailRQ>

XML Response

Element

Description

AuditData/Status

READY: The Scan Plan is finished and ready to get results

RUNNING: The Scan Plan is being processed

ERROR: The Scan Plan generates an error during the process

QUEUED: The Scan Plan request is queued. No available processors at this moment

AuditData/Timestamp

Time stamps when the request is processed YYYYMMDD HH:mm:SS

AuditData/Release

Scan Service software release

AuditData/SourceData@version

Version of the source data used to generate the Scan Results

AuditData/SourceData

Updated date of the source data

AuditData/ MessageList/Message@type

INFO: Information message

WARNING: Warning message

ERROR: Error message

AuditData/ MessageList/Message@code

Error code in the WARNING and ERROR message types

AuditData/MessageList/Message

Message content

ScanPlan@id

Scan Plan unique identifier required to send updated requests or details

ScanPlan/

Scan Plan request information [refer to ScanValuedAvailRQ]

Results/OutputFile

Path to the Availability Output File

Results/InventoryOutputFile

Path to the Inventory Output File if corresponding configuration parameter is setted


 Example 3

The example 1 shows an error ScanValuedAvail request due to invalid user credentials. The AuditData/Status is ERROR and an error description is informed in theAuditData/MessageList/Message element with the error AuditData/MessageList/Message@type.

The Scan Plan is not being processed so a new ScanValuedAvailRQ with the corrected values must be send.

<ScanValuedAvailRS xmlns="http://www.hotelbeds.com/schemas/2005/06/messages">
       <AuditData>
             <Status>ERROR</Status>
             <TimeStamp>2011-04-27 16:08:56</TimeStamp>
             <Release>1.0.0</Release>
             <SourceData version="15"/>
             <MessageList>
                    <Message type="ERROR" code="E001">Invalid credentials</Message>
             </MessageList>
       </AuditData>
</ScanValuedAvailRS>


 Example 4

The example 4 shows a Scan Plan which is being processed by the service.

Note that a unique identifier for the Scan Plan is informed in the ScanPlan@id. With this identifier you are able to create the ScanDetail request operation in order to retrieve the Scan Plan results [refer to ScanDetail operation in the next chapter].

 <ScanValuedAvailRS xmlns="http://www.hotelbeds.com/schemas/2005/06/messages">
       <AuditData>
             <Status>RUNNING</Status>
             <TimeStamp>2011-04-27 16:08:56</TimeStamp>
             <Release>1.0.0</Release>
             <SourceData version="15">2011-04-25 10:00:00</SourceData>
       </AuditData>
       <ScanPlan id="SP01" update="false" paymentModel="BOTH" packaging="BOTH">
             <SourceCountry>ES</SourceCountry>
             <Date from="20110601" duration="180"/>
             <ScanList>
                    <Scan>
                           <Destination>BCN</Destination>
                           <HotelOccupancyList>
                                  <Occupancy>
                                        <AdultCount>2</AdultCount>
                                        <ChildCount>0</ChildCount>
                                  </Occupancy>
                           </HotelOccupancyList>
                           <LengthsOfStay>
                                  <LengthOfStay>2</LengthOfStay>
                                  <LengthOfStay>3</LengthOfStay>
                           </LengthsOfStay>
                    </Scan>
             </ScanList>
       </ScanPlan>
</ScanValuedAvailRS>

 

 Example 5

In this example you can see a Scan Plan finished and ready to get the results. Note that the element Results/ is present due to the AuditData/Status value is READY. TheResults/OutputFile and Results/Output inform you where you can look for the output results

 <ScanValuedAvailRS xmlns="http://www.hotelbeds.com/schemas/2005/06/messages">
       <AuditData>
             <Status>READY</Status>
             <TimeStamp>2011-04-27 16:08:56</TimeStamp>
             <Release>1.0.0</Release>
             <SourceData version="15">2011-04-25 10:00:00</SourceData>
       </AuditData>
       <ScanPlan id="SP01" update="false" paymentModel="DIRECT" packaging="BOTH">
             <SourceCountry>ES</SourceCountry>
             <Date from="20110601" duration="180"/>
             <ScanList>
                    <Scan>
                           <Destination>BCN</Destination>
                           <HotelOccupancyList>
                                  <Occupancy>
                                        <AdultCount>2</AdultCount>
                                        <ChildCount>0</ChildCount>
                                  </Occupancy>
                           </HotelOccupancyList>
                           <LengthsOfStay>
                                  <LengthOfStay>2</LengthOfStay>
                                  <LengthOfStay>3</LengthOfStay>
                           </LengthsOfStay>
                    </Scan>
             </ScanList>
       </ScanPlan>
       <Results>
             <OutputFile>C:/SP01-availability.aif2</OutputFile>
       </Results>
</ScanValuedAvailRS>


 Example 6

In this example you can see a Scan Plan finished and ready to get the results. Note that the MessageList includes one WARNING type message.

It informs you, that the request was processed and the results are available but the last system data update failed.

 <ScanValuedAvailRS xmlns="http://www.hotelbeds.com/schemas/2005/06/messages">
       <AuditData>
             <Status>READY</Status>
             <TimeStamp>2011-04-27 16:08:56</TimeStamp>
             <Release>1.0.0</Release>
             <SourceData version="15">2011-04-25 10:00:00</SourceData>
             <MessageList>
                    <Message type="WARNING" code="SER-0002">Unable to update data</Message>
             </MessageList>
       </AuditData>
       <ScanPlan id="SP01" update="false" paymentModel="DIRECT" packaging="BOTH">
             <SourceCountry>ES</SourceCountry>
             <Date from="20110601" duration="180"/>
             <ScanList>
                    <Scan>
                           <Destination>BCN</Destination>
                           <HotelOccupancyList>
                                  <Occupancy>
                                        <AdultCount>2</AdultCount>
                                        <ChildCount>0</ChildCount>
                                  </Occupancy>
                           </HotelOccupancyList>
                           <LengthsOfStay>
                                  <LengthOfStay>2</LengthOfStay>
                                  <LengthOfStay>3</LengthOfStay>
                           </LengthsOfStay>
                    </Scan>
             </ScanList>
       </ScanPlan>
       <Results>
             <OutputFile>C:/SP01-availability.aif2</OutputFile>
       </Results>
</ScanValuedAvailRS>

NOTE: It is very important to implement the interpretation of the MessageList element in order to avoid unexpected results.


ScanDetailRQ

The ScanDetail operation allows you to get all the information related to previously requested Scan Plan: status of the process, details of the scan plan requested, output results, etc…

XML Request

Element

Required

Description

Language

Y

Language code in which the descriptions will be informed [refer to Language Code List]

ScanPlan@id

Y

Scan plan unique identifier provided in the response message. This field is required only in order to get an updates scan plan previously requested

 Example 7

A single example of ScanDetailRQ message for the Scan Plan SP01.

Note that the rest of the elements for the ScanPlan are not mandatory. Only the Unique identifier.

<ScanDetailRQ xmlns="http://www.hotelbeds.com/schemas/2005/06/messages">
       <Language>ENG</Language>
       <ScanPlan id="SP01"/>
</ScanDetailRQ>

XML Response

Element

Description

AuditData/Status

READY: The Scan Plan is finished and ready to get results

RUNNING: The Scan Plan is being processed

ERROR: The Scan Plan generates an error during the process

QUEUED: The Scan Plan request is queued. No available processors at this moment

AuditData/Timestamp

Time stamps when the request is processed YYYYMMDD HH:mm:SS

AuditData/Release

Scan Service software release

AuditData/SourceData@version

Version of the source data used to generate the Scan Results

AuditData/SourceData

Updated date of the source data YYYYMMDD HH:mm:SS

AuditData/ MessageList/Message@type

INFO: Information message

WARNING: Warning message

ERROR: Error message

AuditData/ MessageList/Message@code

Error code for the WARNING and ERROR message type

AuditData/MessageList/Message

Message content

ScanPlan@id

Scan Plan unique identifier required to send updated requests

ScanPlan/

Scan Plan request information [refer to ScanValuedAvailRQ]

Results/OutputFile

Path to the Availability Output File

Results/InventoryOutputFile

Path to the Inventory Output File

The Results/ elements will be informed only when the AuditData/Status value is READY. Once  the Scan Plan is finished and ready to get the results.

 

 Example 8

This example indicates that the Scan Plan generated an error while processing. The error message is informed in AuditData/MessageList/Message element.

 <ScanDetailRS xmlns="http://www.hotelbeds.com/schemas/2005/06/messages">
       <AuditData>
             <Status>ERROR</Status>
             <TimeStamp>2011-04-27 16:08:56</TimeStamp>
             <Release>1.0.0</Release>
             <SourceData version="15"/>
             <MessageList>
                    <Message type="ERROR" code="E000">Unexpected error</Message>
             </MessageList>
       </AuditData>
</ScanDetailRS>


 Example 9

This example indicates that the Scan Plan is being processed by the service and the results are not yet available. The calculation process is still running.

<ScanDetailRS xmlns="http://www.hotelbeds.com/schemas/2005/06/messages">
       <AuditData>
             <Status>RUNNING</Status>
             <TimeStamp>2011-04-27 16:08:56</TimeStamp>
             <Release>1.0.0</Release>
             <SourceData version="15">2011-04-25 10:00:00</SourceData>
       </AuditData>
       <ScanPlan id="SP01" update="false" paymentModel="BOTH" packaging="BOTH">
             <SourceCountry>ES</SourceCountry>
             <Date from="20110601" duration="180"/>
             <ScanList>
                    <Scan>
                           <Destination>BCN</Destination>
                           <HotelOccupancyList>
                                  <Occupancy>
                                        <AdultCount>2</AdultCount>
                                        <ChildCount>0</ChildCount>
                                  </Occupancy>
                           </HotelOccupancyList>
                           <LengthsOfStay>
                                  <LengthOfStay>2</LengthOfStay>
                                  <LengthOfStay>3</LengthOfStay>
                           </LengthsOfStay>
                    </Scan>
             </ScanList>
       </ScanPlan>
</ScanDetailRS>


 Example 10

In this example you can see a Scan Plan finished and ready to get the results. Note that the element Results/ is present due to the AuditData/Status value is READY. The Results/OutputFile and Results/Output inform you where you can look for the output results.

<ScanDetailRS xmlns="http://www.hotelbeds.com/schemas/2005/06/messages">
       <AuditData>
             <Status>READY</Status>
             <TimeStamp>2011-04-27 16:08:56</TimeStamp>
             <Release>1.0.0</Release>
             <SourceData version="15">2011-04-25 10:00:00</SourceData>
       </AuditData>
       <ScanPlan id="SP01" update="false" paymentModel="BOTH" packaging="BOTH">
             <SourceCountry>ES</SourceCountry>
             <Date from="20110601" duration="180"/>
             <ScanList>
                    <Scan>
                           <Destination>BCN</Destination>
                           <HotelOccupancyList>
                                  <Occupancy>
                                        <AdultCount>2</AdultCount>
                                        <ChildCount>0</ChildCount>
                                  </Occupancy>
                           </HotelOccupancyList>
                           <LengthsOfStay>
                                  <LengthOfStay>2</LengthOfStay>
                                  <LengthOfStay>3</LengthOfStay>
                           </LengthsOfStay>
                    </Scan>
             </ScanList>
       </ScanPlan>
       <Results>
             <OutputFile>C:/SP01-availability.aif2</OutputFile>
       </Results>
</ScanDetailRS>


ScanStatusRQ

The ScanStatus operation allows you to get the status information of the service.

XML Request

Element

Required

Description

 

 

 


 Example 11

A single example of ScanStatusRQ

<ScanStatusRQ xmlns="http://www.hotelbeds.com/schemas/2005/06/messages">
</ScanStatusRQ>

XML Response

Element

Description

ScanStatus

OK: The service is up and running

UPDATING: The service is up and updating information

KO: The service is crashed. Restart required

Timestamp

Time stamps when the request is processed YYYYMMDD HH:mm:SS

Release

Scan Service software release

SourceData@version

Version of the source data used to generate the Scan Results

SourceData

Updated date of the source data YYYYMMDD HH:mm:SS

QueueSize

Number of current requests in the queue

ScanPlan@id

Scan Plan unique identifier required to send updated requests

ScanPlan@status

Scan Plan request status:

READY: The Scan Plan is finished and ready to get results

RUNNING: The Scan Plan is being processed

ERROR: The Scan Plan generates an error during the process

QUEUED: The Scan Plan request is queued. No available processors at this moment


 Example 12

<ScanStatusRS xmlns="http://www.hotelbeds.com/schemas/2005/06/messages">
  <ScanStatus>OK</ScanStatus>
  <TimeStamp>Fri Jan 03 14:03:43 COT 2014</TimeStamp>
  <Release>0.10.9</Release>
  <SourceData version="163028169">Fri Jan 03 13:50:47 COT 2014</SourceData>
  <QueueSize>1</QueueSize>
  <ScanList>
    <Scan id="31" status="QUEUED"/>
    <Scan id="30" status="READY"/>
    <Scan id="20" status="READY"/>
  </ScanList>
</ScanStatusRS>


Availability output file (current version)

The Scan Plan results will be generated in a single comma separated file with the following structure. Note that the full scan and updated scan results will have the same format.

We have included some new fields at passengers’ level that are for internal use only after the ages for each passenger. This new field will appear for every passenger in the request.

#

Field

Type

Null

Description

 

1

Request ID

Text

N

Unique identifier for the Scan Plan

 

2

Destination

Text

N

Destination code

 

3

Hotel

Number

N

Hotel code

 

4

Incoming office

Number

N

Incoming office code

 

5

Company code

Text

N

Company code

 

6

Contract number

Number

N

Contract number

 

7

Contract name

Text

N

Contract name

 

8

Classification

Text

N

Classification code [refer to Classification Code List]

 

9

Check in

Date

N

Travel start date YYYYMMDD

 

10

Check out

Date

N

Travel end date YYYYMMDD

 

11

Adults

Multiple values

N

Informs the age of each adult and the new additional field for internal use only. More than one field is possible separated by , character.

Example: (30,N,30,N) indicates 2 adults with 30 years old both.

 

12

Children

Multiple values

Y

Informs the age of each child and the new additional field for internal use only separated by , character.

Example: (8,N,15,N,10,N) indicates 3 children with 8, 15 and 10 years old.

 

13

Room type

Text

N

Room type code

 

14

Characteristic

Text

N

Room characteristic type code

 

15

Board

Text

N

Board type code

 

16

Selling price

Boolean

N

Y: Indicates binding price is published, requested by hotelier

N: Indicates no binding price is published

 

17

Net price

Number

Y

Contains net sale price for the product

The price could be null in incremental responses. It means that this availability has expired.

 

18

Price

Number

Y

Indicates the gross price if the Selling price is true

 

19

Currency

Text

N

Currency code for all the amount in this availability record [refer to Currency Code List]

 

20

Expiry date

Date

N

Date until when this availability and prices are valid

 

21

Allotment

Number

N

Only allotments between 1 and 10 will be informed. If 10 indicates allotment is major or equal than 10

 

22

Packaging

Enum

N

Y: Packaging exclusivity. Booking cannot be sold as hotel only

N: Booking can be sold either as packaging or hotel only

 

23

Direct payment

Enum

N

Y: Indicates post paid rate [i.e. client pays at hotel]

N: Indicate pre paid rate

B: Will calculate rates for direct payment and for merchant model

 

24

Internal field

Boolean

N

Y: Internal data

N: Internal data

 

25

Cancellation start date

Date

Y

Cancellation fees application start date

 

Cancellation start time

Time

Y

Cancellation fees application start time in HH24mm format. For example: 2359 or 1100

 

Cancellation amount

Number

Y

Cancellation fess amount

 

26

Promotion code

Text

Y

Promotion code

 

Promotion remarks

Text

Y

Promotion description

 

Promotion amount

Number

Y

If null then indicates promotion does not affect price. Otherwise shows the amount already discounted on Price

 

27

Handling Fee code

Text

Y

Handling fee code

 

Handling Fee amount

Number

Y

Handling fee amount

 

Handling Fee type

Text

Y

Handling fee type

 

28

Child age from

Number

Y

Indicates the child age from in the contract. It does not imply that all the child between this ages will have the same price. In order to get the final price, you must sent and ScanValuedAvailRQ with the child age field informed

29

Child age to

Number

Y

Indicates the child age to in the contract. It does not imply that all the child between this ages will have the same price. In order to get the final price, you must sent and ScanValuedAvailRQ with the child age field informed

30

Internal field

Enum

N

 

 

31

Amount

Number

N

Contains the amount for the product

 

32

Internal field

Enum

N

 

 

33

Minimum paxes

Number

Y

Minimum paxes accepted for this room

 

34

Maximum paxes

Number

Y

Maximum paxes accepted for this room

 

35

Minimum adults

Number

Y

Minimum adults accepted for this room

 

36

Maximum adults

Number

Y

Maximum adults accepted for this room

 

37

Maximum children

Number

Y

Maximum children accepted for this room

 

38

Maximum infants

Number

Y

Maximum infants accepted for this room

 

 Example

199:PMI:1535:1:E10:59570:CG-TODOSSC:NOR:20111029:20111031:(30,N,30,N)::APT:1B-C4:SC:N:0.000:0.000:EUR:20111026:10:Y:N:N:(20111026,0,55.105)(20111027,0,54.105):(9005,Exclusive discount,6.220)::2:12:P:55.900::1:2:1:2:0:0 ↵

NOTE: In this example the symbol ↵ means new line.


Availability output file (version Lite)

The Scan Plan results will be generated in a single comma separated file with the following structure. Note that the full scan and updated scan results will have the same format.

We have included some new fields at passengers’ level that are for internal use only after the ages for each passenger. This new field will appear for every passenger in the request.

#

Field

Type

Null

Description

1

Request ID

Text

N

Unique identifier for the Scan Plan

2

Destination

Text

N

Destination code

3

Hotel

Number

N

Hotel code

4

Incoming office

Number

N

Incoming office code

5

Company code

Text

N

Company code

6

Contract number

Number

N

Contract number

7

Contract name

Text

N

Contract name

8

Classification

Text

N

Classification code [refer to Classification Code List]

9

Check in

Date

N

Travel start date YYYYMMDD

10

Check out

Date

N

Travel end date YYYYMMDD

11

Adults

Multiple values

N

Informs the age of each adult and the new additional field for internal use only. More than one field is possible separated by , character.

Example: (30,N,30,N) indicates 2 adults with 30 years old both.

12

Children

Multiple values

Y

Informs the age of each child and the new additional field for internal use only separated by , character.

Example: (8,N,15,N,10,N) indicates 3 children with 8, 15 and 10 years old.

13

Room type

Text

N

Room type code

14

Characteristic

Text

N

Room characteristic type code

15

Board

Text

N

Board type code

16

Selling price

Boolean

N

Y: Indicates binding price is published, requested by hotelier

N: Indicates no binding price is published

17

Net price

Number

Y

Contains net sale price for the product

The price could be null in incremental responses. It means that this availability has expired.

18

Price

Number

Y

Indicates the gross price if the Selling price is true

19

Currency

Text

N

Currency code for all the amount in this availability record [refer to Currency Code List]

20

Days of release

Number

N

Number of days until when this availability and prices are valid (this number can be negative)

21

Allotment

Number

N

Only allotments between 1 and 10 will be informed. If 10 indicates allotment is major or equal than 10

22

Packaging

Enum

N

Y: Packaging exclusivity. Booking cannot be sold as hotel only

N: Booking can be sold either as packaging or hotel only

23

Direct payment

Enum

N

Y: Indicates post paid rate [i.e. client pays at hotel]

N: Indicate pre paid rate

B: Will calculate rates for direct payment and for merchant model

24

Internal field

Boolean

N

Y: Internal data

N: Internal data

25

Cancellation start date

Date

Y

Cancellation fees application start date

Cancellation start time

Time

Y

Cancellation fees application start time in HH24mm format. For example: 2359 or 1100

Cancellation amount

Number

Y

Cancellation fess amount

26

Promotion code

Text

Y

Promotion code

Promotion remarks

Text

Y

Promotion description

Promotion amount

Number

Y

If null then indicates promotion does not affect price. Otherwise shows the amount already discounted on Price

27

Handling Fee code

Text

Y

Handling fee code

Handling Fee amount

Number

Y

Handling fee amount

Handling Fee type

Text

Y

Handling fee type

28

Child age from

Number

Y

Indicates the child age from in the contract. It does not

29

Child age to

Number

Y

Indicates the child age to in the contract. It does not imply that all the child between this ages will have the same price. In order to get the final price, you must sent and ScanValuedAvailRQ with the child age field informed

30

Internal field

Enum

N

 

31

Amount

Number

N

Contains the amount for the product

32

Internal field

Enum

N

 

33

Number of nights

Number

N

Stay in number of nights that this is price is valid for regarding the check-in and check-out.

Example: Check-in 10/07/14, check-out 14/07/14, number of nights 2, amount 100. It means:

  • from 10/07 to 12/07 has a price of 100
  • from 11/07 to 13/07 has a price of 100
  • from 12/07 to 14/07 has a price of 100

33

Minimum paxes

Number

Y

Minimum paxes accepted for this room

34

Maximum paxes

Number

Y

Maximum paxes accepted for this room

35

Minimum adults

Number

Y

Minimum adults accepted for this room

36

Maximum adults

Number

Y

Maximum adults accepted for this room

37

Maximum children

Number

Y

Maximum children accepted for this room

38

Maximum infants

Number

Y

Maximum infants accepted for this room

(*) Fields in red are optional in Scan Lite (configurable in .properties file)

(**) Fields in blue are new for Scan Lite.

 Example

199:PMI:1535:1:E10:59570:CG-TODOSSC:NOR:20111029:20111031:(30,N,30,N)::APT:1B-C4:SC:N:0.000:0.000:EUR:3:10:Y:N:N:(20111026,0,55.105)(20111027,0,54.105):(9005,Exclusive discount,6.220)::2:12:P:55.900::2:1:2:1:2:0:0 ↵ 

NOTE: In this example the symbol ↵ means new line.

Note that the structure is based in a comma separated file but using the (character as start marker for a multiple value field separating each value by , character. The end character is ). Having multiple sets of '()()' within one field, indicates that there are multiple records within the field.

We use different separators for fields and multiple-fields because this way you do not need to implement a lexical analyzer.

The escape character is \ . For example: (Early booking \(10%\) discount applied).

In this example you can see the multiples values for the field 24 - cancellation fees

  • From 26th Oct 2011 at 00:00 the cancellation fee is 55.105 EUR
  • From 27th Oct 2011 at 00:00 the cancellation fee is 54.105 EUR

Inventory output file

Allotment and release is informed separately in a different structure. This information is not needed to be processed compulsorily, as the Scan Service is processing it at each execution.

The purpose of the file is to allow a quick processing of changes in availability due to allotments and release dates, if desired.

#

Field

Type

Null

Description

1

Request ID

Text

N

Unique identifier for the Scan Plan

2

Destination

Text

N

Destination code

3

Hotel

Number

N

Hotel code

4

Incoming office

Number

N

Incoming office code

5

Company code

Text

N

Company code

6

Contract number

Number

N

Contract number

7

Contract name

Text

N

Contract name

8

Rate code

Number

Y

Rate code

9

Room type

Text

N

Room type code

10

Characteristic

Text

N

Room characteristic type code

11

Initial date

Date

N

Date from

12*

Allotment

Number

N

Free allotment. Only allotments between 1 and 10 will be informed

Release

Number

N

Release days

The structure specifies different Initial Dates and consecutive pairs Allotment-Release since the start date specified. Different start dates can appear to specify different ranges for Allotment and Release.

 *Note that the structure is based in a comma separated file but using the ( character as start marker for a multiple value field separating each value by , character. The end character is ).

  Example

In this example you can see the multiples values for the field 11, the pair of allotment-release.

The meaning of the first row is:

Scan plan SP01, destination PMI, hotel 3344, incoming office 1, contract number 100 and contract name CNAME1, not specified rate, DBL room type and ST meal plan, from the 1st June the allotment release is:

  • 10 Allotment, 0 release for the 1st June
  • 10 Allotment, 0 release for the 2nd June
  • 10 Allotment, 0 release for the 3rd June
  • 5 Allotment, 0 release for the 4th June

SP01:PMI:3344:1:E10:100:CNAME1::DBL:ST:20110601:(10,0)(10,0)(10,0)(5,0) ↵ 
SP01:PMI:3344:1:E10:200:CNAME2::DBL:ST:20110601:(10,0)(10,0)(10,0)(5,0) ↵ 
SP01:PMI:3344:1:E10:100:CNAME1::DBL:VM:20110601:(10,0)(10,0)(10,0)(5,0) ↵ 
SP01:PMI:3344:1:E10:200:CNAME2::DBL:VM:20110615:(10,0)(10,0)(10,0)(5,0) ↵ 

NOTE: In this example the symbol means  new line.

Administration

When the Cache API - Scan Service is installed and started apart form the Web Service which supports the Scan Plan availabilities and details operations, an administration and monitoring web site is also deployed.

Monitoring

The monitoring web site shows all the information related to the Scan Service:

  • Status of the service
  • Scan Plan information
    • Scan Plan being processed
    • Scan Plan ready to get results
  • Configuration
    • Current values of the configuration parameters
  • Statistics of the service
  • Source information [HotelBeds DataBank]
    • Destinations
    • Hotels
    • Updated date

In order to get all the information you have to open a web browser and access to:

  • http://servername:port/aif2-scan-ws/monitor

where servername corresponds to the IP or hostname of the server in which the Scan Service has been installed.

Debug mode

The debug mode is an error handling protocol used only when an error or a bad performance appears. For example, a Scan Plan does not generate the results when a hotel is missing or when there is a big difference in the availability results you get from our XML Interface Specification and the Scan Plan results.

You have to open a web browser and access to:

  • http://servername:port/aif2-scan-ws/debug

where servername corresponds to the IP or hostname of the server in which the Scan Service has been installed.

Please, copy the ScanValuedAvailRQ XML request in the text area and press DEBUG.

Once the debug mode is finished you will see the results in the same page. Please, contact your XML Support Agent and attach the generated debug results.

With this information HotelBeds will be able to find out about the problem and fix it.

debug mode

 


Docs Navigation