Confidentiality Please note that this document is of a proprietary and confidential nature and that all submitted data is provided in reliance upon the recipient’s covenant to keep such information confidential and for the exclusive use of its employees for recipient’s own business. Hotel Services Hotel Services Development and Implementation Guide Release 1.2 Abstract This document describes how to have an effective Byte Nation Hotel Services use for web site integration and reservations systems through the SOAP standards. This guide is recommended for project manager’s use, systems analysts, programmers and other systems analysts team members with system development knowledge. Byte Nation IT - Systems Development Technical version – 2007/October English language version-2009/January Copyright © 2007-2009 Byte Nation Página 2 de 46 Hotel Services Update records Date 16/10/2007 10/11/2007 11/11/2007 10/07/2008 30/12/2008 Version 0.0 0.1 1.0 1.1 1.2 Copyright © 2007-2009 Byte Nation Description Manual creation Text revision Technical revision Technical revision Technical revision Responsible Lima, Emanoel Kviatkosky, Jucelei Lima, Emanoel Lima, Emanoel Demasi, Tiago Lima, Emanoel Cumagai, Marcos Página 3 de 46 Hotel Services Content Objective Page 5 Guide purpose 5 CHAPTER 1: PRESENTATION Byte Nation Hotel Services 7 CHAPTER 2: ARCHITECTURE Message exchange program 8 Authentication 9 Authorization 10 Messages answer (Response) Fluxogram 11 CHAPTER 3: Methods description GetDestinationList () GetDestinationList () Request GetDestinationList() Response SearchHotel(.....) SearchHotel(….) Request SearchHotel(...) Response SearchHotelById(...) SearchHotelById(…) Request SearchHotelbyId(…) Response GetHotelDetails(....) GetHotelDetails(…) Request GetHotelDetails(…) Response BookHotel(...) BookHotel(…) Request BookHotel(...) Response GetReservationGroupDetails(...) GetReservationGroupDetails(...) Response GetCancellationPolicies(...) GetCancellationPolicies(…) Response GetCancellationFee(...) GetCancellationFee(…) Request GetCancellationFee(…) Response CancelReservation(...) CancelReservation(...) Request CancelReservation (…) Response 13 13 13 14 14 15 21 21 22 24 24 25 31 31 35 39 41 42 42 44 44 45 46 46 46 Copyright © 2007-2009 Byte Nation Página 4 de 46 Hotel Services About this guide This guide describes how to use Byte Nation Operator Hotel Services for websites and reservation systems integrated by SOAP platform interfaces. Objective This guide purpose is to supply the necessary technical information orientation. This reason is because the client does not necessary have the same Byte Nation language service. Guide purpose The guide scope is restricted to technical specification and message interchange using open technologies and protocols such as HTTP, SOAP and XML. It is out of this guide purpose the specific Web Services implementation details in development languages like Java, .Net, PHP or ASP. However, Byte Nation can supply other documents, which demonstrate how to implement web services for specific users and its technologies. In order to inquire about languages we have support materials and technologies, please get in contact with our technical support. Target market Project managers, Systems Analysts, Systems Programmers Systems analysts team members with system development manager knowledge. Refereed technologies HTTP, SOAP, Web services, XML Besides the guide itself, IT supplies technical support for web services integration contacting one of its team members, as follows Contact Name Lima, EMANOEL CUMAGAI, Marcos Telephone 55-11-3123-8155 55-11-3123-8155 Copyright © 2007-2009 Byte Nation Extension 1062 1088 Email and msn [email protected] [email protected] Página 5 de 46 Hotel Services CHAPTER 1: PRESENTATION Byte Nation Operator Byte Nation is a Trend Operator affiliate company. It was created with the intention to work in the international tourism market, with South American hotels and tourist service distribution in the most important international market places. Trend Operator The company is in the market for more than 20 (twenty) years. It’s headquarter is located in Sao Paulo, downtown. The company has his own offices all over Brazil, by region. South Region: Curitiba; Florianópolis; Porto Alegre Southeast Region: São Paulo; Rio de Janeiro; Vitória; Belo Horizonte; Campinas; Ribeirão Preto; Vitória. Middle East Region: Brasilia; Goiania. Northeast Region: Recife; Salvador; Fortaleza; Natal. North Region: Manaus; Belém. Trend Operator Group has more than 300 employees ready to attend with efficiency and courtesy any travel agent operator for any part of Brazil, with extremely competitive price and package conditions. Byte Nation advantages are: The best hotels in Brazil Unbeatable hotel fares On line reservation system The best market condition Byte Nation Commissioning Plus program Byte Nation last minute program Byte Nation operator hotel services All the advantages Byte Nation already offered to its clientele and colleague companies are now available in an XML interface that allows integration among its systems, speeding up processes and lowering the costs of related parties. Copyright © 2007-2009 Byte Nation Página 6 de 46 Hotel Services Byte Nation Hotel Services Hotel services is Byte Nation Web Services which concentrates all the functionalities relating to the hotel business, from one available room or daily rate research until the reservation cancellation or emission of a document. In the next few chapters, the guide describes how to use and take advantage of the Hotel Service, describing its systems architecture, its methods (functionalities and doc formats). Copyright © 2007-2009 Byte Nation Página 7 de 46 Hotel Services CHAPTER 2: ARCHITECTURE This chapter basically describes the Byte Nation web services, allowing the programmer to understand its message general structure, operational pre requisites and technical considerations. Message exchange program Byte Nation web services integration is based on XML documents exchange, using SOAP protocol for message formatation and HTTP protocol for message transmission. In the image below, it is possible to have a better understanding of this message exchange situation: Transmission channel: Messages are sent using POST method from HTTP protocol. (GET method is not supported by this Web service), according to the following specification: Request: POST /hotelservices.asmx HTTP/1.1 Host: xml: xml.trendoperadora.com.br Content-Type: text/xml; charset=utf-8 Content-Length: Comprimento_da_Mensagem SOAPAction: : "http://TrendOperadora.SIG.XML.ServiceContracts/2007/09/Nome_do_Metodo_Trend" Response: HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: Comprimento_da_Mensagem All sent and received data are in the UTF-8 codification Copyright © 2007-2009 Byte Nation Página 8 de 46 Hotel Services Request message Every message sent by client are packaging in a SOAP format which contains a message header (soap: Header), with clients configuration and credentials for systems authentication and a message body (soap: Body), which held s an XML document with requisition data like the example, as follows: <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <Documento XML com as credenciais do cliente> Look for the Authentication section for a complete descprition of this document. </Documento XML com as credenciais do cliente> </soap:Header> <soap:Body> <Documento XML com os dados da solicitação> Look for chapter 3 for a complete discription of each document. </Documento XML com os dados da solicitação> </soap:Body> </soap:Envelope> Authentication Once this web service access is restricted to ByteNation clients and colleague companies, the system needs to identify who is making the request and if the user who is making it, has authorization to do so. This is done by the credentials authorization, given in the SOAP header of each request. In the table below there is a description of each parameter that compounds the users credential: Parameter Domain DataType String Language String Description Access area related to the clientMandatory parameter Language in which the user wants to receive the xml message content. In this moment, the system supports 3 different languages: pt-BR: Brazilian portuguese (normal parameter for this attribute) en-US: American English language es-ES: Official Spanish language Access Code Integer Username String Password String Optional parameter. Clients number ID at Byte NationMandatory parameter Username Mandatory parameter Login Password: alphanumerical and sensible to capital and regular letters. Mandatory parameter. The following example shows a general request which contains a credential with the following data: Domínio: myDomain Language: pt-BR Código de acesso: 99999999 Nome de usuário: myUserName Senha: myPassword Copyright © 2007-2009 Byte Nation Página 9 de 46 Hotel Services <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <LoginHeader Domain="myDomain" Language="pt-BR" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body /> </soap:Envelope> Authorization The Byte Nation Web Service authorization mechanism verifies the following processes: IP´S Origins requisition validation: Access is restricted to IP addresses with free entrance in our web host computer Credentials validation on domain: The access (Access Code, Username, Password), data are only valid in a specific domain Requests validation Prior to process the received request, the system will validate its data consistency, according to specifications (described in chapter 3 of this document). In the case data are not validated by the system, it will be an error message to inform the detected faults, for example: Server was unable to process request. ---> Message: SearchHotelByIdRequest, Field: Nights, Error: The maximum daily room consult is 30 (thirty) Message: SearchHotelByIdRequest, Field: HotelIdList, Error: The requested hotel code must be informed. Message: SearchHotelByIdRequest, Field: RoomsInformation.ChildAges, Error: The quantity of informed age [ChildAges] must be equivalent to the number of informed child [ChildrenNum]. In the case request is validated, the system will process it and send the message to the client. Messages answer (Response) All the Trend answered message are packaging in a SOAP format, without header (soap: Header), containing the XML document with the requests response data in its body (soap: Body), like the following example: <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Documento XML com os dados de retorno> Look at Chapter 3 for a complete description of each document. </Documento XML com os dados de retorno> </soap:Body> </soap:Envelope> Copyright © 2007-2009 Byte Nation Página 10 de 46 Hotel Services Fluxogram The illustrate fluxogram shows how messages are interchanged by Byte Nation Web Services System Client Send a request Byte Nation Web Service Origin Request IP Validation OK Yes Receive Request No Send Error Message Authorize the given Credential OK No Yes Validate the Request Data No Process answer Copyright © 2007-2009 Byte Nation Receive answer from WebService Send Processing Answer OK Yes Process Request Página 11 de 46 Hotel Services Chapter 3: Methods description This chapter describes the Hotel Web Service utilized methods in order to implement the message interchange program. Right below there is a screen page, which describes the Hotel Web Service, as well as its methods relations with a brief description. For a formal definition, please review the Service Description Section. The methods are going to be detailed, based on its utilization priority GetDestinationList SearchHotel SearchHotelById GetHotelDetails BookHotel GetReservationGroupDetails GetCancellationPolicies GetCancellationFee CancelReservation Copyright © 2007-2009 Byte Nation Página 12 de 46 Hotel Services GetDestinationList () This methods purpose is to return to the cities list where there are Byte Nation and hotel room rate agreements. From this list it is possible to obtain the cities ID (IDENTIFICATION) to be used in the hotels research, done by Search Hotel (….) method. GetDestinationList () Request This methods request does not have specific parameters, only the soap header with its authorizations credentials, as shown on the 10th page of this document. Example: GetDestinationList () Request SOAPAction: "http://TrendOperadora.SIG.XML.ServiceContracts/2007/09/GetDestinationList" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <LoginHeader Domain="myDomain" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body /> </soap:Envelope> GetDestinationList() Response This method shows an XML document, based on DestinationList.xsd which is described as follows: Campo/Space ID City State Country IataCode Data type Integer String String String String Description City numerical identification Cities name State abbreviation Countries name Iata Code (IATA airport city code) This box content will be null if the city does not have an airport, (does not have an Iata code) Example: GetDestinationList() Response <DestinationList xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09/DestinationList.xsd"> <Destination Id="3584" City="ANGRA DOS REIS" State="RJ" Country="BRASIL" IataCode="" /> <Destination Id="3588" City="BUZIOS" State="RJ" Country="BRASIL" IataCode="" /> <Destination Id="4782" City="CAMPINAS" State="SP" Country="BRASIL" IataCode="CPQ" /> <Destination Id="3308" City="RECIFE" State="PE" Country="BRASIL" IataCode="REC" /> <Destination Id="3650" City="RIO DE JANEIRO" State="RJ" Country="BRASIL" IataCode="RIO" /> <Destination Id="1315" City="SAO LUIS" State="MA" Country="BRASIL" IataCode="SLZ" /> <Destination Id="5238" City="SAO PAULO" State="SP" Country="BRASIL" IataCode="CGH" /> </DestinationList> Copyright © 2007-2009 Byte Nation Página 13 de 46 Hotel Services SearchHotel(.....) This methods purpose is to show a hotels list according to specified requested criteria. SearchHotel(….) Request Besides the SOAP header with its authentication credentials, (as previously described on page 10), this methods request depends on the following criteria: Parameter DestinationId CheckIn CheckOut RoomsInformation Data Type Integer Date YYYY-MMDD Date YYYY-MMDD List of Room Info Type MaxAvrNightPrice Double AvailableOnly Boolean Copyright © 2007-2009 Byte Nation Description Cities numerical identification Destination Cities list operated by Byte Nation as well as the numerical identification of its destiny Can be obtained by using GetDestinationList(...) Described in this chapter last part Mandatory parameter Desired data for check in, format: year, month, day Example: 2007-11-15. Mandatory parameter. Desired data for check out, format: year, month, day. Example 2007-11-19.Mandatory parameter Desired room composition. This parameter is represented by a parameter data list Room Info Type, which is made up of a group of fields which specifies each room. This parameter is represented by a data list info type kind. Adults num –Full adult, which contains the number of adults who will occupy the room. Minimum =1 Children Num: Full children, which contains the number of adults who will occupy the room. Minimum = 0 Child Age= In the case the Children Num different from 0, this space must contain an array, with the children’s age. Mandatory parameter The hotels are going to be selected, according to the maximum average daily rate, considering the sum of all requested rooms. The pattern parameter is zero and it means that none of the filters would apply in this case. Optional Parameter Hotels are going to be searched according to its availability. Available only = TRUE. Only will be shown the hotel with the specified criteria in the rooms type Available only = FALSE. None of the filters apply, returning to the hotels list. The official parameter is FALSE. Optional parameter. Página 14 de 46 Hotel Services Example: SearchHotel(…) Request The given example shows a hotel search request with the specific configuration, as follow: City: Sao Paulo, SP, Brazil. Length of stay: 13/12/2007 a 16/12/2007 Number of rooms: 2 First room occupants: 2 adults and 2 children, (age between 4 (four) and 5 (five)) Second room ocupant´s:2 adults Maximum room night value to be paid: U$D 300.00 Exhibit only the hotels with availability for the two requested rooms? Yes. SOAPAction: "http://TrendOperadora.SIG.XML.ServiceContracts/2007/09/SearchHotel" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> LoginHeader Domain="myDomain" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body> <SearchHotelRequest xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <DestinationId>5238</DestinationId> <CheckIn>2007-12-13</CheckIn> <CheckOut>2007-12-16</CheckOut> <RoomsInformation> <RoomInfoType> <AdultsNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</AdultsNum> <ChildrenNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</ChildrenNum> <ChildAges xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <short>4</short> <short>5</short> </ChildAges> </RoomInfoType> <RoomInfoType> <AdultsNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</AdultsNum> <ChildrenNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">0</ChildrenNum> </RoomInfoType> </RoomsInformation> <MaxAvrNightPrice>300</MaxAvrNightPrice> <AvailableOnly>True</AvailableOnly> </SearchHotelRequest> </soap:Body> </soap:Envelope> Considerations: SearchHotel(…) Request The maximum amount of allowed night for request is 30 (thirty). If the request is for a 30 day superior period, an error message will be shown. The maxim amount of requested rooms for each request is 4 (four). If the request will be superior than 4 (four) rooms, an error message will be shown. Copyright © 2007-2009 Byte Nation Página 15 de 46 Hotel Services SearchHotel(...) Response This method shows an XML document, based on SearchHotelResults.xsd, which is described as follows: Table: RoomRequested Description: This chart contains the rooms configuration informed in the methods requisition, giving the information according to the type of room (SGL,DBL,TPL.QDL,QTPL). Field Index Data Type Integer RoomRequestedId Integer numAdults numChildren ChildAges Short Short String AccommodationTypeId Integer AccommodationType String Copyright © 2007-2009 Byte Nation Description Specified room numerical index .Starts with 0 (zero).In the case of 3 requested rooms: First index=0, second index=1, third index=2. Numerical identification requests. The main purpose of this field is to group table items in a XML format. This field does not have an influence on how the data are treated. Must be ignored. Amount of requested adult in each room. Amount of requested children in each room. Childs age in each room informed. When is more than one child per room, this field shows the spaces separated by ; sign Numerical identification for kind of accommodation Ex: 1 (SGL), 2 (DBL),3 (TPL),4 (QDL),5(QTPL) Accommodation room abbreviation: SGL,DBL,TPL,QDL,QTPL. Página 16 de 46 Hotel Services Table: Hotel Description: This table contains the request hotel list (based on the specified criteria). Field HotelId Data type Integer Name Chain String String CategoryId Category Integer String Description Address Location Thumb String String String String Currency String minAvrNightPrice Double minAvrNightPriceNet Double Tax Double IsAvailable Boolean Copyright © 2007-2009 Byte Nation Description Hotel numerical identification. This field is a primary key Chain name which the hotel belongs to If the hotel is independent (does not belong to any Hotel chain), the space is filled with “—’’, Numerical identification for hotels category Categories description: Ex: Condo hotel, two stars hotel, four stars hotel, etc. Hotels description. Number, street and neighborhood City, state or province, (with abbreviation), country. Files name for hotels exhibition., without URL.The image can be used from Byte Nation host computer Currency code with 3 letters. Ex: BRL (Brazil Real),U$D(Dollar, USA). Represents the average price for one night, considering the type of rooms with lower rates. Represents the average price for one night, considering the type of rooms with lower rates. This price does not include the agent commission. Percent value of charged hotel tax. When the value is different from zero, the amount is charged on the room nights and is not included in the informed rates. The final rates value including tax, should be calculated from the system which integrates this Web Service. Hotel availability status, considering all the requested rooms and mentioned criteria in the methods request. IsAvailable=TRUE=The hotel has availability for all the requested rooms. IsAvailable=FALSE=At least one of the requested rooms is not available. Página 17 de 46 Hotel Services Table: RoomType Description: This table has the hotels list of hotels which are adequate to the requested criteria. Field Data Description type RoomTypeId Integer Room Types numerical Identification. This field is a primary key. Name String Type of rooms name HotelId Integer Hotel ´s numerical identification for the requested room. BoardBaseId Integer Meal plan numerical identification. When the number is zero, means that there is no meal plan included in the rate. BoardBase String Mean plan identification included in the rate. BedtypeId Short Type of beds numerical identification. When the field is equal to 0, means the room can have either a single or king size bed. In this case, either one can be requested for this kind of room. If the field is equal to 1, means the room has single bed. At the reservation moment no other kind of bed can be requested. When this field is equal to 2, means the room has only double bed and no other type of bed can be requested. BedType String Beds type description. When the BedTypeId would be equal to 0, this field has no value. AccomodationTypeId Integer Numerical identificator of the room’s type.Ex 1 (SGL),2 (DBL),3(TPL),4(QDL),5(QTL) AccomodationType String Rooms type abbreviation with 3 letters (SGL,DBL,TPL,QDL,QTL) AvrNightPrice Double Average room rate for the specified room AverNightPriceNet Double Average room rate for the specified room (The price does not include the agents commission). Tax Double Percentage value of the hotels charged tax. When different than zero, the amount is included in the rates and is not included in the informed rates. The final rates value including tax, should be calculated from the system which integrates this Web Service qtyAvailable Integer This requested number of room availability for the mentioned period. When this field is equal to 0, means there is no requested room availability. Copyright © 2007-2009 Byte Nation Página 18 de 46 Hotel Services Table: PricesAndAvailability Description: This table shows the room rate and its availability for each type of room in each requested date in the methods request. Field Data Description type RoomTypeId Integer Numerical identification for the room type. This field is primary key and part of a compound key Date Date Data to which room rates and availability are referred to This field is part of a compound key Price Double Room rates for the specified data PriceNet Double Room rates for the specified data (subtracting the agent commission). Tax Double Percentage value of the hotel charged tax. When different than zero, the amount is included in the rates and is not included in the informed rates. The final rates value including tax, should be calculated from the system which integrates this Web Service qtyAvailable Integer RateTypeId Integer Rates type String This requested number of room availability for the mentioned period. When this field is equal to 0, means there is no requested room availability. Rooms type numerical identification. The possible codes are: 0=regular room rate 1=promotional room rate 3=Events and Congress 4=Medium season 5=High season 998=Last minute The search results can bring in different rates for different dates, based on the agreements deadline. Room rates type description Copyright © 2007-2009 Byte Nation Página 19 de 46 Hotel Services Example: SearchHotel(…) Response The following example shows the requested return in this chapter, page 14, in Search Hotels request section. <SearchHotelResult xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09/SearchHotelResult.xsd"> <RoomsInfoResquested RoomsInfoResquestedId="400111"> <RoomRequested Index="0" RoomResquestedId="400111" numAdults="2" numChildren="2" ChildAges="4;5" AccomodationTypeId="3" AccomodationType="TPL" /> <RoomRequested Index="1" RoomResquestedId="400111" numAdults="2" numChildren="0" ChildAges="" AccomodationTypeId="2" AccomodationType="DBL" /> </RoomsInfoResquested> <Hotel HotelId="100002" Name="SAN JUAN SAO PAULO" Chain="SAN JUAN" CategoryId="4" Category="QUATRO ESTRELAS" Description="" Address="RUA AURORA, 909, VILA BUARQUE" Location="SAO PAULO, SP, BRASIL" Thumb="0000000000_0.gif" Currency="BRL" minAvrNightPrice="250" minAvrNightPriceNet="225" Tax="0" IsAvailable="true"> <RoomType RoomTypeId="7183" Name="DBL - LUX" HotelId="100002" BoardBaseId="8" BoardBase="CAFÉ DA MANHÃ" BedTypeId="0" BedType="" AccomodationTypeId="2" AccomodationType="DUPLO" avrNightPrice="110" avrNightPriceNet="99" Tax="0" qtyAvailable="5"> <PricesAndAvailability RoomTypeId="7183" Date="2007-12-13T00:00:00-02:00" Price="110" PriceNet="99" Tax="0" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="7183" Date="2007-12-14T00:00:00-02:00" Price="110" PriceNet="99" Tax="0" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="7183" Date="2007-12-15T00:00:00-02:00" Price="110" PriceNet="99" Tax="0" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> </RoomType> <RoomType RoomTypeId="7185" Name="TPL - LUX" HotelId="100002" BoardBaseId="8" BoardBase="CAFÉ DA MANHÃ" BedTypeId="0" BedType="" AccomodationTypeId="3" AccomodationType="TRIPLO" avrNightPrice="140" avrNightPriceNet="126" Tax="0" qtyAvailable="3"> <PricesAndAvailability RoomTypeId="7185" Date="2007-12-13T00:00:00-02:00" Price="140" PriceNet="126" Tax="0" qtyAvailable="3" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="7185" Date="2007-12-14T00:00:00-02:00" Price="140" PriceNet="126" Tax="0" qtyAvailable="3" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="7185" Date="2007-12-15T00:00:00-02:00" Price="140" PriceNet="126" Tax="0" qtyAvailable="3" RateTypeId="0" RateType="NORMAL" /> </RoomType> </Hotel> <Hotel HotelId="100018" Name="TESTE PLAZA (HOTEL P/ TREINAMENTO DE EMISSORES)" Chain="--" CategoryId="1" Category="UMA ESTRELA" Description="Com localização privilegiada entre a Baia do Nunca e o Neverland Trade Center, o Teste Plaza une negócios e lazer em um ambiente requintado e aconchegante." Address="TERRA DO NUNCA, S/N, NEVERLAND" Location="SAO PAULO, SP, BRASIL" Thumb="0000000082_A.JPG" Currency="BRL" minAvrNightPrice="300"minAvrNightPriceNet="270" Tax="15" IsAvailable="true"> <RoomType RoomTypeId="5440" Name="DBL - SUP" HotelId="100018" BoardBaseId="0" BoardBase="NÃO INCLUI" BedTypeId="0" BedType="" AccomodationTypeId="2" AccomodationType="DUPLO" avrNightPrice="140" avrNightPriceNet="126" Tax="15" qtyAvailable="10"> <PricesAndAvailability RoomTypeId="5440" Date="2007-12-13T00:00:00-02:00" Price="140" PriceNet="126" Tax="15" qtyAvailable="10" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="5440" Date="2007-12-14T00:00:00-02:00" Price="140" PriceNet="126" Tax="15" qtyAvailable="10" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="5440" Date="2007-12-15T00:00:00-02:00" Price="140" PriceNet="126" Tax="15" qtyAvailable="10" RateTypeId="0" RateType="NORMAL" /> </RoomType> <RoomType RoomTypeId="5444" Name="TPL - SUP" HotelId="100018" BoardBaseId="0" BoardBase="NÃO INCLUI" BedTypeId="0" BedType="" AccomodationTypeId="3" AccomodationType="TRIPLO" avrNightPrice="160" avrNightPriceNet="144" Tax="15" qtyAvailable="10"> <PricesAndAvailability RoomTypeId="5444" Date="2007-12-13T00:00:00-02:00" Price="160" PriceNet="144" Tax="15" qtyAvailable="10" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="5444" Date="2007-12-14T00:00:00-02:00" Price="160" PriceNet="144" Tax="15" qtyAvailable="10" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="5444" Date="2007-12-15T00:00:00-02:00" Price="160" PriceNet="144" Tax="15" qtyAvailable="10" RateTypeId="0" RateType="NORMAL" /> </RoomType> </Hotel> </SearchHotelResult> Copyright © 2007-2009 Byte Nation Página 20 de 46 Hotel Services SearchHotelById(...) This methods purpose is to show a hotels list according to the specified criteria in the request: SearchHotelById(…) Request Besides the SOAP header with the authorization credentials (described on the 8th page of this document) this methods request depends on the following parameters: Parameter HotelIdList Data type List of Integer CheckIn Date YYYYMM-DD Date YYYYMM-DD List of Room Info Type CheckOut RoomsInformation MaxAverNightPrice Double Available Only Boolean Description Long array, containing the numerical identifications of the desired hotels. Mandatory parameter. Desired date for hotel check in. YYYY-MM-DD format. Mandatory parameter. Desired date for hotel check out. YYYY-MM-DD format. Mandatory parameter. Desired room composition. This parameter is represented by a RoomInfoType data list, which is composed by a group of fields that specify each room. AdultsNum –Full adult, which contains the number of adults who will occupy the room. Minimum =1 ChildrenNum: Full children, which contains the number of adults who will occupy the room. Minimum = 0 ChildAges= In the case the Children Num be different from 0, this space must contain an array, with the children age. Mandatory parameter The hotels are going to be selected according to the maximum average daily rate, considering the sum of all requested rooms. The pattern parameter is zero and it means that none of the criteria would apply in this case. Optional Parameter The hotels are going to be selected according to their availability. Available only = true: It will be shown only the specified hotels with availability for all the requested rooms. Available only = false. No selection criteria will be applied, returning to the hotels list. The official value for this parameter is false Optional parameter Example: SearchHotel(…) Response The following example shows the requested return in this chapter, page 14, in Search Hotels request section. Hotels: Normandie (HotelId=105889) and San Juan São Paulo (HotelId=100002) Lenght of stay: 13/12/2007 a 16/12/2007 Rooms quantity: 2 First room ocuppants: 2 adults and 2 children, with 4 (four) and 5 (five) years respectively Second room ocuppants: 2 adults Maximum rooms night value to be paid USD 300,00 Exhibit only the hotels with availability for the two requested rooms? :Yes Copyright © 2007-2009 Byte Nation Página 21 de 46 Hotel Services SOAPAction: "http://TrendOperadora.SIG.XML.ServiceContracts/2007/09/SearchHotelById" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <LoginHeader Domain="myDomain" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body> <SearchHotelRequest xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <HotelIdList> <int>100002</int> <int>100018</int> </HotelIdList> <CheckIn>2007-12-13</CheckIn> <CheckOut>2007-12-16</CheckOut> <RoomsInformation> <RoomInfoType> <AdultsNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</AdultsNum> <ChildrenNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</ChildrenNum> <ChildAges xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <short>4</short> <short>5</short> </ChildAges> </RoomInfoType> <RoomInfoType> <AdultsNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</AdultsNum> <ChildrenNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">0</ChildrenNum> </RoomInfoType> </RoomsInformation> <MaxAvrNightPrice>300</MaxAvrNightPrice> <AvailableOnly>True</AvailableOnly> </SearchHotelRequest> </soap:Body> </soap:Envelope> Consideration: SearchHotelbyId(…) Requests The maximum amount of allowed night for request is 30 (thirty). If the request is for a 30 day superior period, an error message will be shown. The maxim amount of requested rooms for each request is 4 (four). If the request is superior than 4 (four) rooms, an error message will be shown. SearchHotelbyId(…) Response The XML document which is the final result of this method (SearchHotelbyId (….) Response) is based on the SearchHotelResult.xsd, which was already described on the 15th page of this guide. Copyright © 2007-2009 Byte Nation Página 22 de 46 Hotel Services Example: SearchHotelbyId(…) Response The following example shows the request return, previously specified in this chapter (SearchHotelbyId(…) Request example, page 23) <SearchHotelResult xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09/SearchHotelResult.xsd"> <RoomsInfoResquested RoomsInfoResquestedId="400111"> <RoomRequested Index="0" RoomResquestedId="400111" numAdults="2" numChildren="2" ChildAges="4;5" AccomodationTypeId="3" AccomodationType="TPL" /> <RoomRequested Index="1" RoomResquestedId="400111" numAdults="2" numChildren="0" ChildAges="" AccomodationTypeId="2" AccomodationType="DBL" /> </RoomsInfoResquested> <Hotel HotelId="105889" Name="NORMANDIE" Chain="--" CategoryId="4" Category="QUATRO ESTRELAS" Description="Proximo ao centro financeiro, cultural e histórico e aos principais espacoes de exposições e eventos como Anhembi, Expo Center, Centro de Convenções Rebouças. Fácil acesso pela Marginal Tiete, Av. 9 de Julho, Av. 23 de maio, Rua da Consolação. Próximo as estações do metro República e SÃo Bento" Address="AV IPIRANGA,1187, SANTA EFIGENIA" Location="SAO PAULO, SP, BRASIL" Thumb="0000000000_0.gif" Currency="BRL" minAvrNightPrice="223" minAvrNightPriceNet="200.7" Tax="5" IsAvailable="true"> <RoomType RoomTypeId="23670" Name="DBL - STD" HotelId="105889" BoardBaseId="8" BoardBase="CAFÉ DA MANHÃ" BedTypeId="0" BedType="" AccomodationTypeId="2" AccomodationType="DUPLO" avrNightPrice="95" avrNightPriceNet="85.5" Tax="5" qtyAvailable="5"> <PricesAndAvailability RoomTypeId="23670" Date="2007-12-13T00:00:00-02:00" Price="95" PriceNet="85.5" Tax="5" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="23670" Date="2007-12-14T00:00:00-02:00" Price="95" PriceNet="85.5" Tax="5" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="23670" Date="2007-12-15T00:00:00-02:00" Price="95" PriceNet="85.5" Tax="5" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> </RoomType> <RoomType RoomTypeId="23671" Name="TPL - STD" HotelId="105889" BoardBaseId="8" BoardBase="CAFÉ DA MANHÃ" BedTypeId="0" BedType="" AccomodationTypeId="3" AccomodationType="TRIPLO" avrNightPrice="128" avrNightPriceNet="115.2" Tax="5" qtyAvailable="5"> <PricesAndAvailability RoomTypeId="23671" Date="2007-12-13T00:00:00-02:00" Price="128" PriceNet="115.2" Tax="5" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="23671" Date="2007-12-14T00:00:00-02:00" Price="128" PriceNet="115.2" Tax="5" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="23671" Date="2007-12-15T00:00:00-02:00" Price="128" PriceNet="115.2" Tax="5" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> </RoomType> </Hotel> <Hotel HotelId="100002" Name="SAN JUAN SAO PAULO" Chain="SAN JUAN" CategoryId="4" Category="QUATRO ESTRELAS" Description="" Address="RUA AURORA, 909, VILA BUARQUE" Location="SAO PAULO, SP, BRASIL" Thumb="0000000000_0.gif" Currency="BRL" minAvrNightPrice="250" minAvrNightPriceNet="225" Tax="0" IsAvailable="true"> <RoomType RoomTypeId="7183" Name="DBL - LUX" HotelId="100002" BoardBaseId="8" BoardBase="CAFÉ DA MANHÃ" BedTypeId="0" BedType="" AccomodationTypeId="2" AccomodationType="DUPLO" avrNightPrice="110" avrNightPriceNet="99" Tax="0" qtyAvailable="5"> <PricesAndAvailability RoomTypeId="7183" Date="2007-12-13T00:00:00-02:00" Price="110" PriceNet="99" Tax="0" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="7183" Date="2007-12-14T00:00:00-02:00" Price="110" PriceNet="99" Tax="0" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="7183" Date="2007-12-15T00:00:00-02:00" Price="110" PriceNet="99" Tax="0" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> </RoomType> <RoomType RoomTypeId="7185" Name="TPL - LUX" HotelId="100002" BoardBaseId="8" BoardBase="CAFÉ DA MANHÃ" BedTypeId="0" BedType="" AccomodationTypeId="3" AccomodationType="TRIPLO" avrNightPrice="140" avrNightPriceNet="126" Tax="0" qtyAvailable="3"> <PricesAndAvailability RoomTypeId="7185" Date="2007-12-13T00:00:00-02:00" Price="140" PriceNet="126" Tax="0" qtyAvailable="3" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="7185" Date="2007-12-14T00:00:00-02:00" Price="140" PriceNet="126" Tax="0" qtyAvailable="3" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="7185" Date="2007-12-15T00:00:00-02:00" Price="140" PriceNet="126" Tax="0" qtyAvailable="3" RateTypeId="0" RateType="NORMAL" /> </RoomType> </Hotel> </SearchHotelResult> Copyright © 2007-2009 Byte Nation Página 23 de 46 Hotel Services GetHotelDetails(....) The GetHotelDetails(...) methods purpose is to return detailed information about one specific hotel, based on the informed hotels. GetHotelDetails(…) Request Besides the SOAP header with its authentication credentials (described on the 8th page of this document), this methods request depends on the following parameters: Parameter HotelId Data Type Integer Description Numerical identification of Desired hotel. Mandatory parameter Example: GetHotelDetails(….) Request The following example shows the request details of Plaza Test Hotel (ID=100018) SOAPAction: "http://TrendOperadora.SIG.XML.ServiceContracts/2007/09/GetHotelDetails" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <LoginHeader Domain="myDomain" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body> <GetHotelDetailsRequest xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <HotelId>100018</HotelId> </GetHotelDetailsRequest> </soap:Body> </soap:Envelope> Copyright © 2007-2009 Byte Nation Página 24 de 46 Hotel Services GetHotelDetails(…) Response This method shows a XML document, based on HotelsDetailsResult.xsd, which is described as follows: Copyright © 2007-2009 Byte Nation Página 25 de 46 Hotel Services Table: Hotel Description: This table contains all the primary hotel data Field Data Description type HotelId Integer Numerical hotel identification. This field is a primary key Name String Hotels name Chain String Chain name which the hotel belongs to qtyRooms Integer Hotel number of rooms CategoryId Integer Numerical identification of hotels category Category String Condo Hotels, three stars hotel, five stars hotel. Description String Hotels description Thumb String Hotels image exhibition file, without URL Street String Number and street name where the hotel is located Quarter String District (Area) where the hotel is located City String The city where the hotel is located State String States (Province) abbreviation name where the hotel is located Country String Country name, where the hotel is located PostalCode String Hotels address ZIP code Phone String Hotels phone number in the format Country code +Area code+ Hotels phone number. Fax String Hotels fax number in the format Country code + Area code + Hotels fax number. Site String Hotels URL web site Latitude String Hotels geographical coordination, based on Ecuador line Longitude String Hotels geographical position based on Greenwich Meridian LbsID String Hotels geographical position on Trends map Table: Image Description: This table has hotels image list Field HotelId Data type Integer Thumb Name Description String String String Description Hotel’s numerical identification. This field is a foreign key Images file name, without URL. Images name Images description Table: Amenity Description: This table shows a list of hotels convenient services for its guests. Field HotelId Data Type Integer Name String Table: Facility Description: This table has a list of hotel rooms facilities Field Data Type HotelId Integer Name String Copyright © 2007-2009 Byte Nation Description Numerical identification. This field is a foreign key Amenities name Description Hotels numerical identification. Facilities name Página 26 de 46 Hotel Services Table: Room type Description: This list has the hotels Field Data Type RoomTypeId Integer HotelId Integer Name String AccommodationTypeId Integer AccommodationType BedTypeId String Short BedType String BoardBaseId Integer BoardBase String room type available Description Rooms type numerical identification. This is a primary key Hotels numerical identification. This is a foreign key Hotels room name. Accommodations type numerical identification. Ex 1 (SGL), 2 (DBL),3 ( TPL), 4 (QDL),5 (QTL) Accommodations type name Type of bed numerical identification When the field is equal to 0, means the room can have either a single or double bed. In this case, either one can be requested for this kind of room. If the field is equal to 1, means the room has single bed. At the reservation moment no other kind of bed can be requested. When this field is equal to 2, means the room has only king size bed and no other type of bed can be requested. Beds type description. When the BedTypeId would be equal to 0, this field has no value. Meal plan numerical identification. If the field is equals to 0, means this kind of room does not include meal plan. Meal plans description (included in the room rates). Table: PaymentModes Description: This table has the list with the hotels accepted payment forms in order to book the reservation in the Byte Nation Operator system. Field PaymentModeId Data Type Integer HotelId Name Integer String Description Payment forms numerical identification. This field Is a foreign key Hotels numerical identification. This field is a foreign key Payment forms name Table: InterestPoints Description: This table has a list of interesting points nearby the hotel Field Data Type Description HotelId Integer Hotels numerical identification. This is a foreign key Name String Interest points name Type String Type of place: Mall, Restaurant, beach. Distance Double Distance from the hotel to the interest point. Distance Unit String Distance measurement unit: METERS, KILOMETERS, MINUTES Latitude String Hotels geographical coordination, based on Ecuador line Longitude String Hotels geographical position based on Greenwich Meridian LbsID String Hotels geographical position on Trends map Copyright © 2007-2009 Byte Nation Página 27 de 46 Hotel Services Table: Policies Description: This table shows the hotels operational policies. Field Data Description Type HotelId Integer Hotels numerical identification. This field is a foreign key CheckInHour String Minimum hour (military format (24hs)) to check in. EarlyCheckInPenaltyId Integer Numerical identification for applied penalty for check in before limit hour EarlyCheckInPenalty String Check in penalty description CheckOutHour String Check out limit time (military format 24 hs.) LateCheckOutPenaltyId Integer Numerical identification for applied penalty for check out after limit hour LateCheckOutPenalty String Check out penalty description Childs String Childs hotel policies description Pets String Pets hotel policies description NoShowPenaltyId Integer Numerical identification for no show applied penalty NoShowPenalty String Applied penalty description CancellationDeadLineType Short Numerical identification for cancel deadline: 0 = before check in 1= after reservation being confirmed CancellationDeadLineHours Integer Number of hours until deadline CancellationDeadLine String Cancellation deadline description CancellationAfterDeadLinePenaltyId Integer Numerical identification for cancellation deadline CancellationAfterDeadLinePenalty String Cancellation after deadline penalty description. Copyright © 2007-2009 Byte Nation Página 28 de 46 Hotel Services Example: GetHotelDetails(…) Response The following example shows the result for GetHotelDetails(….) Request (previously described on page 23rd). <HotelDetailsResult xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09/HotelDetailsResult.xsd"> <Hotel HotelId="100018" Name="TESTE PLAZA (HOTEL P/ TREINAMENTO DE EMISSORES)" Chain="--" qtyRooms="0" CategoryId="1" Category="UMA ESTRELA" Description="Com localização privilegiada entre a Baia do Nunca e o Neverland Trade Center, o Teste Plaza une negócios e lazer em um ambiente requintado e aconchegante." Thumb="0000000082_A.JPG" Street="TERRA DO NUNCA, S/N" Quarter="NEVERLAND" City="SAO PAULO" State="SP" Country="BRASIL" PostalCode="99.999-999" Phone="+55 (011) 3123-8555" Fax="+55 (011) 1234-5678" Site="www.Byte Nationoperadora.com.br" Latitude="" Longitude="" LbsId=""> <Image HotelId="100018" Thumb="0000000082_A.JPG" Name="RESTAURANTE ASIAN CAFE" Description="" /> <Image HotelId="100018" Thumb="0000000092_B.jpg" Name="RECEPÇÃO" Description="" /> <Image HotelId="100018" Thumb="0000000084_A.JPG" Name="RESTAURANTE BOSPHOROS" Description="" /> <Image HotelId="100018" Thumb="0000000083_A.JPG" Name="RESTAURANTE TRIBIANNI GRILL" Description="" /> <Image HotelId="100018" Thumb="0000000087_A.jpg" Name="SALA PARA REUNIÃO" Description="" /> <Amenity HotelId="100018" Name="American Bar" /> <Amenity HotelId="100018" Name="Aquecimento central" /> <Amenity HotelId="100018" Name="Baby-sitter" /> <Amenity HotelId="100018" Name="Bicicleta para passeio" /> <Amenity HotelId="100018" Name="Casa de chá" /> <Facility HotelId="100018" Name="Ar condicionado próprio do Apto." /> <Facility HotelId="100018" Name="Banheira" /> <Facility HotelId="100018" Name="Cozinha" /> <Facility HotelId="100018" Name="Discagem direta" /> <Facility HotelId="100018" Name="Geladeira" /> <Facility HotelId="100018" Name="Microondas" /> <Facility HotelId="100018" Name="Ponto para internet" /> <Facility HotelId="100018" Name="Secador de cabelos" /> <Facility HotelId="100018" Name="Telefone" /> <Facility HotelId="100018" Name="TV a Cabo" /> <RoomType RoomTypeId="5436" HotelId="100018" Name="SGL - SUP" AccomodationTypeId="1" AccomodationType="SINGLE" BedTypeId="0" BedType="" BoardBaseId="0" BoardBase="NAO INCLUI" /> <RoomType RoomTypeId="5440" HotelId="100018" Name="DBL - SUP" AccomodationTypeId="2" AccomodationType="DUPLO" BedTypeId="0" BedType="" BoardBaseId="0" BoardBase="NAO INCLUI" /> <RoomType RoomTypeId="5444" HotelId="100018" Name="TPL - SUP" AccomodationTypeId="3" AccomodationType="TRIPLO" BedTypeId="0" BedType="" BoardBaseId="0" BoardBase="NAO INCLUI" /> <RoomType RoomTypeId="5434" HotelId="100018" Name="SGL - LUX" AccomodationTypeId="1" AccomodationType="SINGLE" BedTypeId="0" BedType="" BoardBaseId="1" BoardBase="AMERICAN BREAKFAST" /> <RoomType RoomTypeId="7753" HotelId="100018" Name="DBL - LUX" AccomodationTypeId="2" AccomodationType="DUPLO" BedTypeId="0" BedType="" BoardBaseId="1" BoardBase="AMERICAN BREAKFAST" /> <RoomType RoomTypeId="7754" HotelId="100018" Name="TPL - LUX" AccomodationTypeId="3" AccomodationType="TRIPLO" BedTypeId="0" BedType="" BoardBaseId="1" BoardBase="AMERICAN BREAKFAST" /> <PaymentModes PaymentModeId="100" HotelId="100018" Name="FATURADO DIÁRIAS" /> <PaymentModes PaymentModeId="101" HotelId="100018" Name="FATURADO DIÁRIAS + EXTRAS" /> <PaymentModes PaymentModeId="102" HotelId="100018" Name="FAT. DIÁRIAS + EXTRAS (EXCETO ALCOOL)" /> <PaymentModes PaymentModeId="103" HotelId="100018" Name="FAT. DIÁRIAS + EXTRAS (EXCETO ALCOOL/CIGARRO)" /> <PaymentModes PaymentModeId="104" HotelId="100018" Name="FAT. DIÁRIAS SEM TAXA DE TURÍSMO" /> <PaymentModes PaymentModeId="107" HotelId="100018" Name="FAT. DIÁRIAS E LAVANDERIA" /> <PaymentModes PaymentModeId="200" HotelId="100018" Name="PAGAMENTO DIRETO" /> <InterestPoints HotelId="100018" Name="INTERNATIONAL AIRPORT" Type="AEROPORTO" Distance="12" DistanceUnit="Kilometro(s)" Latitude="" Longitude="" LbsId="" /> <InterestPoints HotelId="100018" Name="NEVERLAND STADIUM" Type="CAMPO DE FUTEBOL" Distance="1" DistanceUnit="Hora(s)" Latitude="" Longitude="" LbsId="" /> ... Copyright © 2007-2009 Byte Nation Página 29 de 46 Hotel Services <InterestPoints HotelId="100018" Name="NEVERLAND TRADE CENTER" Type="CENTRO EMPRESARIAL" Distance="20" DistanceUnit="Minuto(s)" Latitude="" Longitude="" LbsId="" /> <InterestPoints HotelId="100018" Name="NEVERLAND SHOPPING" Type="SHOPPING CENTER" Distance="15" DistanceUnit="Minuto(s)" Latitude="" Longitude="" LbsId="" /> <Policies HotelId="100018"> <CheckInHour>13:00</CheckInHour> <EarlyCheckInPenaltyId>1</EarlyCheckInPenaltyId> <EarlyCheckInPenalty>SERÁ COBRADO O VALOR DE UMA DIARIA</EarlyCheckInPenalty> <CheckOutHour>12:00</CheckOutHour> <LateCheckOutPenaltyId>1</LateCheckOutPenaltyId> <LateCheckOutPenalty>SERÁ COBRADO O VALOR DE UMA DIARIA</LateCheckOutPenalty> <Childs>UMA CRIANÇA DE ATÉ 6 ANOS POR APTO. SERÁ CORTESIA.</Childs> <Pets /> <NoShowPenaltyId>90</NoShowPenaltyId> <NoShowPenalty>SERÁ COBRADO O VALOR DO PERÍODO INTEGRAL + TAXAS</NoShowPenalty> <CancellationDeadLineType>0</CancellationDeadLineType> <CancellationDeadLineHours>96</CancellationDeadLineHours> <CancellationDeadLine>96 HORAS ANTES DO CHECK IN.</CancellationDeadLine> <CancellationAfterDeadLinePenaltyId>90</CancellationAfterDeadLinePenaltyId> <CancellationAfterDeadLinePenalty> SERÁ COBRADO O VALOR DO PERÍODO INTEGRAL + TAXAS </CancellationAfterDeadLinePenalty> </Policies> </Hotel> </HotelDetailsResult> Copyright © 2007-2009 Byte Nation Página 30 de 46 Hotel Services BookHotel(...) This method´s purpose is to issue a reservation whenever a requested room is according to the specified criteria. BookHotel(…) Request Besides the SOAP header and its authorization credentials for identification (previously described on the 8th page of this document) this methods requisition is based on the following parameters: Parameter RGID Data Type Integer HotelId Integer CheckIn Date YYYYMM-DD Date YYYYMM-DD Integer CheckOut PaymentModeId RoomList List of Reservation Info Type Description Numerical identification for a pre existent reservation group. The field pattern is 0, which means that issued reservation on this date does not belong to any pre existent group and a new group will be created with this emission. For a number different than 0, the system will check the group existence with the informed identification and related to the tour operator who made the request. If this search request is positive, the issued reservation is going to be allocated in this group If not, an error message will be show. Optional parameter Hotels numerical identification in which the reservation must be issued. Mandatory parameter Check in date in the YYYY, MM,DD format. Example: 2007-11-15.Mandatory parameter Check out date in the YYYY, MM,DD format. Example: 2007-11-20.Mandatoy parameter. Numerical identification for payment form. The pattern parameter value is 100 (room rates invoice). In order to specify another payment form it is necessary to execute GetHotelsDetails(…) methods to identify the hotel accepted payment forms. Optional parameter Desired room composition. This parameter is represented by a Room Reserve Info Type data type list, which is composed by a field groups to specify the room: RoomTypeId: Numerical identification for rooms PaxName: Guests name in which the reservation must be issued BedTypeID: Numerical identification for beds type. Pattern is 0. AdultsNum: It contains the number of adults who will occupy the room. Minimum =1 ChildrenNum: It contains the number of children who will occupy the room. Minimum=0 ChildAges: In the case Children field would be higher than 0, this field will be Mandatory and it will contain an array to the child age. Notes: Observation and details referring to either the reservation and/or the guest. Mandatory parameter AgentRefNumber String Copyright © 2007-2009 Byte Nation Internal code of the process for the agent who is issuing the reservation (Maximum 20 characters).Optional parameter Página 31 de 46 Hotel Services AvailableOnly Boolean IgnoreDuplicity Boolean Indicates if the reservation issue is conditioned to the all requested rooms availability. True= the reservation will only be issued if all the rooms are available False=If there is no availability for one of the requested rooms, it an electronic request will be processed (On Request) to be offline processed. The pattern value is FALSE. Optional parameter Indicates if the emission must be conditioned to the Guests reservation duplicity possibility verification True= Reservation will be issued without duplicity verification False=Prior to the reservation issue, it will be check the duplicity possibility. In the case no possibility would be found, reservation will be issued immediately. In the case one of the duplicity possibility will be found, it will be generated an electronic request (On Request) offline processed The duplication possibilities verification considers: Intersection period. For example : 2007-10-21 to 2007-10-25 and 2007-10-24 to 2007-10-30; Guests names phonetics code At least 03 coincidences in the phonetic code among guests name words.(This is just in case the guests name would be composed of 3 words. In other situation than that (3 words by guest name, the number of coincidence will be the number of words in the guests name) Issued agent (responsible for the reservation issued) The duplication possibilities verification does not consider: In which hotel the reservation is being issued, (if there is in a same period of time, a similar name reservation in another hotel, duplicity possibility verification will be done The guests word order which compose his/her name. Articles and prepositions in the guests name In this way, agents reservation with the following name in common date periods, besides the hotel, show the duplicity possibility: Luis Augusto Magalhães de Andrade Andrade Magalhães, Luis Augusto Luis Magalhães Neto The field pattern is FALSE Optional parameter Copyright © 2007-2009 Byte Nation Página 32 de 46 Hotel Services Example: BookHotel(…) Request The following example shows a reservation request with the following configuration: Hotel Plaza Test (Hotel ID = 100018) Stay period 2007/12/13 to 2007/12/16 Payment form: Invoice room rates (Payment form ID =100) Rooms quantity : 2 First room: TPL –SUP (Room type ID =5444) in the name of Magalhães , Luis Carlos, accommodating 2 adults and 2 children ( 4 and 5 years) Second room: DLB-SUP (Room type ID=5440) in the name of Lemos , Adriana, accommodating 2 adults in a king size bed (bed type ID=2) Internal code for the requested agent: RSV 200710230001 Issue reservation only if the two rooms will be available: Yes Ignore duplicity verification? Yes SOAPAction: "http://TrendOperadora.SIG.XML.ServiceContracts/2007/09/BookHotel" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <LoginHeader Domain="myDomain" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body> <BookHotelRequest xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <RGID>0</RGID> <HotelId>100018</HotelId> <CheckIn>2007-12-13</CheckIn> <CheckOut>2007-12-16</CheckOut> <PaymentModeId>100</PaymentModeId> <RoomList> <RoomReserveInfoType> <RoomTypeId xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">5444</RoomTypeId> <PaxName xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">Luis Carlos Magalhães</PaxName> <AdultsNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</AdultsNum> <ChildrenNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</ChildrenNum> <ChildAges xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <short>4</short> <short>5</short> </ChildAges> <Note xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">Teste de Sistema </Note> </RoomReserveInfoType> <RoomReserveInfoType> <RoomTypeId xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">5440 </RoomTypeId> <PaxName xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">Adriana Lemos </PaxName> <BedTypeId xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</BedTypeId> <AdultsNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</AdultsNum> <ChildrenNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">0</ChildrenNum> <Note xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"></Note> </RoomReserveInfoType> </RoomList> <AgentRefNumber>RSV200710260001</AgentRefNumber> <AvailableOnly>True</AvailableOnly> <IgnoreDuplicity>True</IgnoreDuplicity> </BookHotelRequest> </soap:Body> </soap:Envelope> Copyright © 2007-2009 Byte Nation Página 33 de 46 Hotel Services Considerations: BookHotel(…) Request Before check the Book Hotel method it is necessary to utilize SearchHotel(…) or SearchHotelbyId (…) in order to obtain the necessary data for reservation issue, such as valid numerical identifications, restrictions and rooms availability. The room requested Table, results of the SearchHotel(…) and SearchHotelbyId(…) methods informs the adequate accommodation type ID to each requested room. The purpose of this table is to allow the system which will be integrating this service to be able to identify in the room type table the adequate room for each request item, through the Accommodation type ID fields comparison: In the case the quantity of informed adults and children for a type of room (in the BookHotel(…) methods) would be incompatible with its AccommodationTypeId, an error message will be displayed. When specifying the room using the BookHotel(…) methods, the BedTypeID field should be compatible with the bed types accepted by the room types, according to the numbers shown in the Room Type table, generated by SearchHotel(…) and SearchHotelbyId(…) methods. In the case the field value of Bed Type ID in the table Room Type is equal to 0 (zero) the possible values to be informed in the Book Hotel (…) methods would be 0 (indifferent) , 1 (singles bed), 2 ( double bed) In the case the field value of Bed Type ID in the table Room Type is equal to 1 (one) the possible values to be informed in the Book Hotel (…) methods would be 0(indifferent) and 1 (singles bed). In the case the field value of Bed Type ID in the table Room Type is equal to 2 (two) the possible values to be informed in the book hotel (…) methods would be 0 (indifferent) or 2 (double bed). For more information on the BedTypeId field of the RoomType Table, originated by the SearchHotel(…) and SearchHotelById(…) methods, look at page 17 of this document for more instructions. Copyright © 2007-2009 Byte Nation Página 34 de 46 Hotel Services BookHotel(...) Response This method generates an XML document, based on BookHotelResult.xsd, which is described as follows: Table: Reservation Group Description: This table contains the primary data for the reservation group Field RGID Data Type Integer Currency String TotalPrice Double TotalPriceNet Double qtyReservations qtyonRequestProcesses Integer Integer Copyright © 2007-2009 Byte Nation Description Numerical identification for reservation Group Primary Key Currency code with 3 letters. Ex: BRL –Real (Brazil), USDDollar (US). Confirmed reservation total value, including tax. This value does not include on request process. Confirmed reservation total value, including tax and discounting the agent commission percentage. This value does not include on request process. Groups reservation confirmed On request (to be confirmed) number of process in the group. Página 35 de 46 Hotel Services Table: OnRequestProcess Description: This table contains the requested processes that were not confirmed on line and are on the waiting list Field Data Description Type ProcessId Integer Process numerical identification (Request). This is field is a primary Key RGID Integer Reservation grouping numerical identification. This field is a foreign key Type String Kind of process description: Reservation, reservation alteration or reservation cancellation. ReservationId Integer Numerical identification for the referred process. In the reservation process, the numerical identification will be =0. HotelId Integer Hotel numerical identification HotelName String Hotels name HotelCategory String Hotels category description HotelAdress String Hotels address HotelLocation String Hotels localization (city, state and country) HotelPhone String Hotels phone number (s) RoomType String Room types description BedType String Bed type description Boardbase String Meal plan description CheckIn DateTime Check in date (in a 24 hour format) CheckOut DateTime Check out date (in a 24 hour format) Currency String Currency code with 3 words. Ex: Ex: BRL –Real (Brazil), USD-Dollar (US). Price Double Total value for the period (not considering the hotel tax) PriceNet Double Total value for the period, not considering the hotel tax and discounting the agent commission percentage fee. Tax Double Percentage value of the hotel charged taxes. When different from zero it is not included in the hotel room rates and is charged in a daily average rate basis. The final rates value, including taxes, should be Informed by the system which is integrating this web service. PaymentMode String Payment forms description PaxName String Guests name under whom the reservation should be made numOfAdults Short Number of adults numOfChildren Short Number of children Status String Process situation description Table: Reservation Description: This table shows Field DataType ReservationId Integer RGID Integer HotelId HotelName HotelCategory HotelAdress HotelLocation HotelPhone RoomType Integer String String String String String String Copyright © 2007-2009 Byte Nation the confirmed reservation according to the specified group Description Numerical identification for the referred process Reservation grouping numerical identification. This field is a foreign key Hotel numerical identification Hotels name Hotels category description Hotels address Hotels localization (city, state and country) Hotels phone number (s) Room types description Página 36 de 46 Hotel Services BedType Boardbase CheckIn CheckOut Currency String String DateTime DateTime String Price PriceNet Double Double Tax Double PaymentMode PaxName NumOfAdults NumOfChildren Status String String Short Short String Table: ImportantNotes Description This table shows Field DataType ReservationId Integer Note String Copyright © 2007-2009 Byte Nation Bed type description Meal plan description Check in date (in a 24 hour format) Check out date (in a 24 hour format) Currencies code with 3 words. Ex: Ex: BRL –Real (Brazil), USD-Dollar (US). Total value for the period (not considering the hotel tax) Total value for the period, not considering the hotel tax and discounting the agent commission percentage fee. Percentage value of the hotel charged taxes. When different from zero it is not included in the hotel room rates and is charged in a daily rate basis. The final rates value, including taxes, should be Informed by the system which is integrating this web service. Payment forms description Guests name under which the reservation should be made Number of adults Number of children Process situation description a list of important observation for each reservation. Description Numerical identification for reservation. This field is a foreign key. Reservation important notes,such as check in and check out times, hotel policies description, penalties description. The information data in this field are descriptive and can be used in the voucher, which will be generated by the system integrated to this web service.(The reason is to make the guest aware of this information, policies , penalties ,etc) Página 37 de 46 Hotel Services Example: BookHotel (…) Response The following example demonstrates the return massage previously described in this chapter BookHotel(…) Request examples, on page 32nd. <BookHotelResult xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09/BookHotelResult.xsd"> <ReservationGroup RGID="10040" Currency="BRL" TotalPrice="1035" TotalPriceNet="931.5" qtyReservations="2" qtyOnRequestProcesses="0"> <Reservation ReservationId="7123863" RGID="10040" HotelId="100018" HotelName="TESTE PLAZA (HOTEL P/ TREINAMENTO DE EMISSORES)" HotelCategory="UMA ESTRELA" HotelAddress="TERRA DO NUNCA, S/N, NEVERLAND" HotelLocation="SAO PAULO, SP, BRASIL" HotelPhone="+55 (011) 3123-8555" RoomType="DBL - SUP" BedType="CASAL" BoardBase="NÃO INCLUI" CheckIn="2007-12-13T00:00:00-03:00" CheckOut="2007-12-16T00:00:0003:00" Currency="BRL" Price="483" PriceNet="434.7" Tax="15" PaymentMode="FATURAR DIÁRIAS" PaxName="ADRIANA LEMOS" numOfAdults="2" numOfChildren="0" Status="CONFIRMADA"> <ImportantNotes ReservationId="7123863" Note="PRAZO PARA ALTERAÇÕES E CANCELAMENTO: 96 HORAS ANTES DO CHECK IN." /> <ImportantNotes ReservationId="7123863" Note="APÓS ESTE PRAZO PODERÁ SER COBRADO NOSHOW." /> <ImportantNotes ReservationId="7123863" Note="POLÍTICA PARA NOSHOW: SERÁ COBRADO O VALOR DO PERÍODO INTEGRAL + TAXAS" /> <ImportantNotes ReservationId="7123863" Note="HORÁRIO DE CHECK IN: A PARTIR DE 13:00" /> <ImportantNotes ReservationId="7123863" Note="POLÍTICA PARA EARLY CHECK IN: SERÁ COBRADO O VALOR DE UMA DIARIA" /> <ImportantNotes ReservationId="7123863" Note="HORÁRIO DE CHECK OUT: ATÉ 12:00" /> <ImportantNotes ReservationId="7123863" Note="POLÍTICA PARA LATE CHECK OUT: SERÁ COBRADO O VALOR DE UMA DIARIA" /> <ImportantNotes ReservationId="7123863" Note="POLÍTICA PARA CHD: UMA CRIANÇA DE ATÉ 6 ANOS POR APTO. SERÁ CORTESIA." /> </Reservation> <Reservation ReservationId="7123862" RGID="10040" HotelId="100018" HotelName="TESTE PLAZA (HOTEL P/ TREINAMENTO DE EMISSORES)" HotelCategory="UMA ESTRELA" HotelAddress="TERRA DO NUNCA, S/N, NEVERLAND" HotelLocation="SAO PAULO, SP, BRASIL" HotelPhone="+55 (011) 3123-8555" RoomType="TPL - SUP" BedType=" " BoardBase="NÃO INCLUI" CheckIn="2007-12-13T00:00:00-03:00" CheckOut="2007-12-16T00:00:00-03:00" Currency="BRL" Price="552" PriceNet="496.8" Tax="15" PaymentMode="FATURADO DIÁRIAS" PaxName="LUIS CARLOS MAGALHÃES" numOfAdults="2" numOfChildren="2" Status="CONFIRMADA"> <ImportantNotes ReservationId="7123862" Note="PRAZO PARA ALTERAÇÕES E CANCELAMENTO: 96 HORAS ANTES DO CHECK IN." /> <ImportantNotes ReservationId="7123862" Note="APÓS ESTE PRAZO PODERÁ SER COBRADO NOSHOW." /> <ImportantNotes ReservationId="7123862" Note="POLÍTICA PARA NOSHOW: SERÁ COBRADO O VALOR DO PERÍODO INTEGRAL + TAXAS" /> <ImportantNotes ReservationId="7123862" Note="HORÁRIO DE CHECK IN: A PARTIR DE 13:00" /> <ImportantNotes ReservationId="7123862" Note="POLÍTICA PARA EARLY CHECK IN: SERÁ COBRADO O VALOR DE UMA DIARIA" /> <ImportantNotes ReservationId="7123862" Note="HORÁRIO DE CHECK OUT: ATÉ 12:00" /> <ImportantNotes ReservationId="7123862" Note="POLÍTICA PARA LATE CHECK OUT: SERÁ COBRADO O VALOR DE UMA DIARIA" /> <ImportantNotes ReservationId="7123862" Note="POLÍTICA PARA CHD: UMA CRIANÇA DE ATÉ 6 ANOS POR APTO. SERÁ CORTESIA." /> </Reservation> </ReservationGroup> </BookHotelResult> Copyright © 2007-2009 Byte Nation Página 38 de 46 Hotel Services GetReservationGroupDetails(...) This method shows reservations and on request process which are grouped in the same RGID. Its use has the following purposes: To follow the evolution process refereed to waiting list groups. Get the groups reservation data (off line processed) based on request process. GetReservationGroupDetails(….) Request Besides the SOAP header with its authorization credentials (previously described on the 8th page of this guide) this methods requisition depends on the following described parameters: Parameter RGID Data Type Integer Description Numerical identification for the desired reservation group Obs: In the case an invalid group identification be informed, an error message will be shown Mandatory parameter Example: GetReservationGroupDetails(...) Request The following example shows a group reservation request details (RGID 10030) SOAPAction:"http://TrendOperadora.SIG.XML.ServiceContracts/2007/09/GetReservationGroupDetails" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <LoginHeader Domain="myDomain" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body> <GetReservationGroupDetailsRequest xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <RGID>10030</RGID> </GetReservationGroupDetailsRequest> </soap:Body> </soap:Envelope> GetReservationGroupDetails(...) Response The XML document shown in this method is based on BookHotelResult.xsd, which was previously described on the 34th page of this document. Copyright © 2007-2009 Byte Nation Página 39 de 46 Hotel Services Example: GetReservationGroupDetails(…) Response The following example shows the requests return, previously described in this chapter, in the section GetReservationGroupDetails (…) example, on page 38th. <BookHotelResult xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09/BookHotelResult.xsd"> <ReservationGroup RGID="10030" Currency="BRL" TotalPrice="402.5" TotalPriceNet="362.25" qtyReservations="2" qtyOnRequestProcesses="2"> <Reservation ReservationId="6922612" RGID="10030" HotelId="100018" HotelName="TESTE PLAZA (HOTEL P/ TREINAMENTO DE EMISSORES)" HotelCategory="UMA ESTRELA" HotelAddress="TERRA DO NUNCA, S/N, NEVERLAND" HotelLocation="SAO PAULO, SP, BRASIL" HotelPhone="+55 (011) 3123-8555" RoomType="DBL - LUX" BedType=" " BoardBase="CAFÉ DA MANHÃ (AMERICANO)" CheckIn="2007-09-22T00:00:00-03:00" CheckOut="2007-09-24T00:00:00-03:00" Currency="BRL" Price="195.5" PriceNet="175.95" Tax="15" PaymentMode="FATURADO DIÁRIAS" PaxName="LUIZ INACIO LULA DA SILVA" numOfAdults="1" numOfChildren="0" Status="CONFIRMADA"> <ImportantNotes ReservationId="6922612" Note="PRAZO PARA ALTERAÇÕES E CANCELAMENTO: 96 HORAS ANTES DO CHECK IN." /> <ImportantNotes ReservationId="6922612" Note="APÓS ESTE PRAZO PODERÁ SER COBRADO NOSHOW." /> <ImportantNotes ReservationId="6922612" Note="POLÍTICA PARA NOSHOW: SERÁ COBRADO O VALOR DO PERÍODO INTEGRAL + TAXAS" /> <ImportantNotes ReservationId="6922612" Note="HORÁRIO DE CHECK IN: A PARTIR DE 13:00" /> <ImportantNotes ReservationId="6922612" Note="POLÍTICA PARA EARLY CHECK IN: SERÁ COBRADO O VALOR DE UMA DIARIA" /> <ImportantNotes ReservationId="6922612" Note="HORÁRIO DE CHECK OUT: ATÉ 12:00" /> <ImportantNotes ReservationId="6922612" Note="POLÍTICA PARA LATE CHECK OUT: SERÁ COBRADO O VALOR DE UMA DIARIA" /> <ImportantNotes ReservationId="6922612" Note="POLÍTICA PARA CHD: UMA CRIANÇA DE ATÉ 6 ANOS POR APTO. SERÁ CORTESIA." /> </Reservation> <Reservation ReservationId="6922611" RGID="10030" HotelId="100018" HotelName="TESTE PLAZA (HOTEL P/ TREINAMENTO DE EMISSORES)" HotelCategory="UMA ESTRELA" HotelAddress="TERRA DO NUNCA, S/N, NEVERLAND" HotelLocation="SAO PAULO, SP, BRASIL" HotelPhone="+55 (011) 3123-8555" RoomType="QDL - SUP" BedType="CASAL" BoardBase="NÃO INCLUI" CheckIn="2007-09-22T00:00:00-03:00" CheckOut="2007-09-24T00:00:00-03:00" Currency="BRL" Price="207" PriceNet="186.3" Tax="15" PaymentMode="FATURADO DIÁRIAS" PaxName="FERNANDO HENRIQUE CARDOSO" numOfAdults="4" numOfChildren="2" Status="CONFIRMADA"> <ImportantNotes ReservationId="6922611" Note="PRAZO PARA ALTERAÇÕES E CANCELAMENTO: 96 HORAS ANTES DO CHECK IN." /> <ImportantNotes ReservationId="6922611" Note="APÓS ESTE PRAZO PODERÁ SER COBRADO NOSHOW." /> <ImportantNotes ReservationId="6922611" Note="POLÍTICA PARA NOSHOW: SERÁ COBRADO O VALOR DO PERÍODO INTEGRAL + TAXAS" /> <ImportantNotes ReservationId="6922611" Note="HORÁRIO DE CHECK IN: A PARTIR DE 13:00" /> <ImportantNotes ReservationId="6922611" Note="POLÍTICA PARA EARLY CHECK IN: SERÁ COBRADO O VALOR DE UMA DIARIA" /> <ImportantNotes ReservationId="6922611" Note="HORÁRIO DE CHECK OUT: ATÉ 12:00" /> <ImportantNotes ReservationId="6922611" Note="POLÍTICA PARA LATE CHECK OUT: SERÁ COBRADO O VALOR DE UMA DIARIA" /> <ImportantNotes ReservationId="6922611" Note="POLÍTICA PARA CHD: UMA CRIANÇA DE ATÉ 6 ANOS POR APTO. SERÁ CORTESIA." /> </Reservation> <OnRequestProcess ProcessId="2179013" RGID="10030" Type="RESERVA" ReservationId="0" HotelId="100018" HotelName="TESTE PLAZA (HOTEL P/ TREINAMENTO DE EMISSORES)" HotelCategory="UMA ESTRELA" HotelAddress="TERRA DO NUNCA, S/N, NEVERLAND" HotelLocation="SAO PAULO, SP, BRASIL" HotelPhone="+55 (011) 3123-8555" RoomType="SGL – SUP" BedType="CASAL" BoardBase="NÃO INCLUI" CheckIn="2007-09-22T00:00:00-03:00" CheckOut="2007-09-24T00:00:00-03:00" Currency="BRL" Price="240" PriceNet="216" Tax="15" PaymentMode="FATURADO DIÁRIAS" PaxName="JOSE SARNEY" numOfAdults="1" numOfChildren="0" Status="EM ATENDIMENTO" /> <OnRequestProcess ProcessId="2179012" RGID="10030" Type="RESERVA" ReservationId="0" HotelId="100018" HotelName="TESTE PLAZA (HOTEL P/ TREINAMENTO DE EMISSORES)" HotelCategory="UMA ESTRELA" HotelAddress="TERRA DO NUNCA, S/N, NEVERLAND" HotelLocation="SAO PAULO, SP, BRASIL" HotelPhone="+55 (011) 3123-8555" RoomType="SGL – SUP" BedType="CASAL" BoardBase="NÃO INCLUI" CheckIn="2007-09-22T00:00:00-03:00" CheckOut="2007-09-24T00:00:00-03:00" Currency="BRL" Price="240" PriceNet="216" Tax="15" PaymentMode="FATURADO DIÁRIAS" PaxName="FERNANDO COLLOR" numOfAdults="1" numOfChildren="0" Status="EM ANÁLISE" /> </ReservationGroup> </BookHotelResult> Copyright © 2007-2009 Byte Nation Página 40 de 46 Hotel Services GetCancellationPolicies(...) This methods purpose is to show the cancelation policies and penalties which based the reservation cancellation fee. GetCancellationPolicies(…) Request Besides the SOAP header with its authentication credentials (previously described on the 8th page of this document), this method request depends on additional parameters, which can be viewed in two different situations: 1- When there is a reservation number, this can be done separately Parameter ReservationId Data Type Integer Description Numerical reservation identification Obs: In the case an invalid group identification be informed, an error message will be displayed Mandatory parameter 2- When there is no reservation number, other reservation basic data must be informed, as shown below: Parameter HotelId RoomTypeId CheckIn Data Type Integer Integer Date YYYY-MM-DD CheckOut Date YYYY-MM-DD Description Hotels numerical identification. Mandatory parameter Room Type numerical identification. Mandatory parameter Desired data for hotel check in, in the YYYY-MM-DD format. Mandatory parameter Desired data for hotel check out, in the YYYY-MM-DD format. Mandatory parameter Examples: GetCancellationPolicies(…) Request The following example shows the cancellation policies request from a reservations numerical 1identification.(ReservationID=7120001): SOAPAction: "http://TrendOperadora.SIG.XML.ServiceContracts/2007/09/GetCancellationPolicies" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <LoginHeader Domain="myDomain" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body> <GetCancellationPoliciesRequest xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <ReservationId>7120001</ReservationId> </GetCancellationPoliciesRequest> </soap:Body> </soap:Envelope> Copyright © 2007-2009 Byte Nation Página 41 de 46 Hotel Services 2- The following example shows the cancellation policies request based on accommodation data, as follows: Test Plaza Hotel (Hotel ID – 100018) Room : TPL – SUP (Room type ID =5444) Period: from 2007/12/23 to 2007/12/27 SOAPAction: "http://TrendOperadora.SIG.XML.ServiceContracts/2007/09/GetCancellationPolicies" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <LoginHeader Domain="myDomain" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body> <GetCancellationPoliciesRequest xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <HotelId>100018</HotelId> <RoomTypeId>5444</RoomTypeId> <CheckIn>2007-12-23</CheckIn> <CheckOut>2007-12-27</CheckOut> </GetCancellationPoliciesRequest> </soap:Body> </soap:Envelope> GetCancellationPolicies(…) Response This method shows an XML document based on CancellationPolicies.xsd, which is described as follows: Table: Cancellation Policy Description: This table has the cancellation deadlines and its respective penalties, applied when the cancellation request is made after the settled deadlines. Field DataType Description DeadLineType Short Cancellation Deadlines numerical identification 0= before check in 1= after the reservation being issued DeadLineHours Integer Number of hours in deadline period DeadLine String Cancellation deadline description PenaltyID Integer Numerical identification for applied penalty when a cancellation is made after the deadline Example: GetCancellationPolicies(...) Response 01. The following example illustrates a situation where the cancellation policy is very simple: To accept cancel reservations 24 (twenty four) hours prior to check in time and charge one room rate + tax in the cases of no show and cancellation after the mentioned deadline. For this case, the system will generate this message: <CancellationPolicies xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09/CancellationPolicies.xsd"> <CancellationPolicy DeadLineType="0" DeadLineHours="24" DeadLine="24 HORAS ANTES DO CHECK IN." PenaltyId="1" Penalty="SERÁ COBRADO O VALOR DE UMA DIÁRIA + TAXAS" /> </CancellationPolicies> Copyright © 2007-2009 Byte Nation Página 42 de 46 Hotel Services 02. The second example illustrates a different situation, where the hotel asks for an irrevocable (unchangeable) no show guarantee, charging the value of one room rate + tax, for every cancellation request made until 96 hours prior to check in time. Before 96 (ninety six) hours prior to check in time, the penalty will be the whole period amount added by tax. That is a very common situation when the hotel is facing a high demand period (congress, events, seminars, workshops, etc) <CancellationPolicies xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09/CancellationPolicies.xsd"> <CancellationPolicy DeadLineType="1" DeadLineHours="0" DeadLine="0 HORAS APÓS A EMISSÃO DA RESERVA" PenaltyId="1" Penalty="SERÁ COBRADO O VALOR DE UMA DIÁRIA + TAXAS" /> <CancellationPolicy DeadLineType="0" DeadLineHours="96" DeadLine="96 HORAS ANTES DO CHECK IN." PenaltyId="90" Penalty="SERÁ COBRADO O VALOR DO PERÍODO INTEGRAL + TAXAS" /> </CancellationPolicies> Copyright © 2007-2009 Byte Nation Página 43 de 46 Hotel Services GetCancellationFee(...) This method shows the “will be charged fee” (charge for reservation cancelation) in a specific data, considering the hotel cancellation policies for the period. GetCancellationFee(…) Request Besides the SOAP header with its authorization credentials (described on the 8th page of this document) this methods request depends upon the following parameters: Parameter ReservationId Data type Integer CancellationDate Date YYYY-MM-DD Description Reservation numerical identification Obs: In the case an invalid identification for your agency will be informed, an error message will be displayed. Mandatory parameter Data in which the reservation would be cancelled, in the YYYY-MM-DD format. If no data is specified, the system will consider current date in order to calculate the fees Optional parameter Examples: GetCancellationFee(…) Request 01. Situation in which, only the reservation number is informed (the system will consider the current date for calculation basis): SOAPAction: "http://TrendOperadora.SIG.XML.ServiceContracts/2007/09/GetCancellationFee" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <LoginHeader Domain="myDomain" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body> <GetCancellationFeeRequest xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <ReservationId>71200001</ReservationId> </GetCancellationFeeRequest> </soap:Body> </soap:Envelope> 02. Situation in which the user inform the reservation number and the reference date for calculation basis SOAPAction: "http://TrendOperadora.SIG.XML.ServiceContracts/2007/09/GetCancellationFee" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <LoginHeader Domain="myDomain" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body> <GetCancellationFeeRequest xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <ReservationId>71200001</ReservationId> <CancellationDate>2007-11-29</CancellationDate> </GetCancellationFeeRequest> Copyright © 2007-2009 Byte Nation Página 44 de 46 Hotel Services </soap:Body> </soap:Envelope> GetCancellationFee(…) Response This method shows an XML document with the following data: Element CancellationFeeValue Data Type Double Currency String Description Cancellation fee to be charged, according to the specified criteria. Currency code with 03 letters: BRL- REAL(Brazil), USD – DOLLAR (US) Example: GetCancellationFee(…) Response 1-The following example illustrates the XML document, in which is specified that no fee will be charged for the specified date cancellation request. <GetCancellationFeeResult xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <CancellationFeeValue>0</CancellationFeeValue> <Currency>BRL</Currency> </GetCancellationFeeResult> 2-This other example, illustrates the XML document, in which is specified that a R$ 120,50 will be charged for the specified date cancellation. <GetCancellationFeeResult xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <CancellationFeeValue>120.5</CancellationFeeValue> <Currency>BRL</Currency> </GetCancellationFeeResult> Copyright © 2007-2009 Byte Nation Página 45 de 46 Hotel Services CancelReservation(...) This method allows the user to cancel a reservation from his (her) numerical identification (ReservationID) CancelReservation(...) Request Besides the SOAP header with its authorization credentials, (previously described on the 8th page of this guide) this method request is based on the following parameters: Parameter ReservationId DataType Integer Description Reservation (to be cancel) numerical identification Mandatory parameter Example: CancelReservation(…) Request SOAPAction: "http://TrendOperadora.SIG.XML.ServiceContracts/2007/09/CancelReservation" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <LoginHeader Domain="myDomain" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body> <CancelReservationRequest xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <ReservationId>7120001</ReservationId> </CancelReservationRequest> </soap:Body> </soap:Envelope> CancelReservation (…) Response This methods shows an XML document with the following information Elements Result DataType Boolean CancellationFeeValue Currency Double String Message String Description Success or failure procedure indicator TRUE=SUCCESS FALSE=FAILURE Cancellation fee to be charged Currency code with 03 letters. Ex BRL – REAL(Brazil) USD – DOLLAR (US) Procedure results description In the case of cancellation failure, this Field shows the reasons description. Example: CancelReservation (…) Response <CancelReservationResult xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <Result>true</Result> <CancellationFee>120.5</CancellationFee> <Currency>BRL</Currency> <Message>CANCELAMENTO EFETUADO APÓS O DEADLINE COM COBRANÇA DE TAXA</Message> </CancelReservationResult> Copyright © 2007-2009 Byte Nation Página 46 de 46