45
Hotel Services Guia de Desenvolvimento e Implementação Versão 1.0 Resumo Este documento descreve como utilizar os Serviços de Hotelaria da Trend Operadora para integração em sites e sistemas de reservas através do intercâmbio de mensagens no formato SOAP. Este guia é destinado a gerentes de projetos, analistas de sistemas, programadores ou outros membros de equipes de desenvolvimento com conhecimento em programação. Trend Operadora Departamento de Desenvolvimento de Sistemas 16 de outubro de 2007

Hotel Services - trendoperadora.com.br · Este documento descreve como utilizar os Serviços de Hotelaria da Trend Operadora para integração em sites e sistemas de reservas através

Embed Size (px)

Citation preview

Hotel Services Guia de Desenvolvimento e Implementação

Versão 1.0

Resumo Este documento descreve como utilizar os Serviços de Hotelaria da Trend Operadora para integração em sites e sistemas de reservas através do intercâmbio de mensagens no formato SOAP. Este guia é destinado a gerentes de projetos, analistas de sistemas, programadores ou outros membros de equipes de desenvolvimento com conhecimento em programação.

Trend Operadora Departamento de Desenvolvimento de Sistemas

16 de outubro de 2007

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 2 de 45

Histórico de Alterações

Data Versão Descrição Autor 16/10/2007 0.0 Criação do documento Emanoel Lima 10/11/2007 0.1 Revisão de texto Jucelei Kviatkoski 11/11/2007 1.0 Revisão técnica Emanoel Lima

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 3 de 45

Índice Analítico Histórico de Alterações.............................................................................................2 Sobre este Guia.........................................................................................................5

Objetivo ..............................................................................................................................5 Escopo.................................................................................................................................5 Público Alvo ........................................................................................................................5 Tecnologias referenciadas..................................................................................................5 Suporte Técnico ..................................................................................................................5

Capítulo 1: Apresentação .........................................................................................6 A Trend Operadora .............................................................................................................6

Vantagens da Trend Operadora: ....................................................................................... 6 Trend Operadora Hotel Services.........................................................................................6

Capítulo 2: Arquitetura.............................................................................................7 Intercâmbio de mensagens ................................................................................................7

Canal de Transmissão ....................................................................................................... 7 Mensagem de Requisição (Request) ................................................................................ 8 Autenticação...................................................................................................................... 8 Autorização........................................................................................................................ 9 Validação da requisição .................................................................................................... 9 Mensagem de resposta (Response).................................................................................. 9 Fluxograma...................................................................................................................... 10

Capítulo 3: Descrição dos Métodos.........................................................................11 GetDestinationList() .........................................................................................................12

GetDestinationList() Request ......................................................................................... 12 Exemplo do GetDestinationList() Request:................................................................. 12

GetDestinationList() Response....................................................................................... 12 Exemplo do GetDestinationList() Response: .............................................................. 12

SearchHotel(...) ................................................................................................................13 SearchHotel(...) Request................................................................................................. 13

Exemplo do SearchHotel(...) Request ......................................................................... 14 Considerações sobre o SearchHotel(...) Request........................................................ 14

SearchHotel(...) Response .............................................................................................. 15 Exemplo do SearchHotel(...) Response ....................................................................... 19

SearchHotelById(...).........................................................................................................20 SearchHotelById(...) Request ......................................................................................... 20

Exemplo do SearchHotelById(...) Request.................................................................. 21 Considerações sobre o SearchHotelById(...) Request ................................................ 21

SearchHotelById(...) Response....................................................................................... 21 GetHotelDetails(...)...........................................................................................................23

GetHotelDetails(...) Request........................................................................................... 23 Exemplo do GetHotelDetails(...) Request ................................................................... 23

GetHotelDetails(...) Response ........................................................................................ 24 Exemplo do GetHotelDetails(...) Response ................................................................. 28

BookHotel(...) ...................................................................................................................30 BookHotel(...) Request.................................................................................................... 30

Exemplo do BookHotel(...) Request ............................................................................ 32 BookHotel(...) Response ................................................................................................. 34

Exemplo do BookHotel(...) Response .......................................................................... 37 GetReservationGroupDetails(...) ......................................................................................38

GetReservationGroupDetails(...) Request ...................................................................... 38 Exemplo do GetReservationGroupDetails(...) Request............................................... 38

GetReservationGroupDetails(...) Response.................................................................... 38 GetCancellationPolicies(...) ..............................................................................................40

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 4 de 45

GetCancellationPolicies(...) Request .............................................................................. 40 Exemplos do GetCancellationPolicies(...) Request ..................................................... 40

GetCancellationPolicies(...) Response ............................................................................ 41 Exemplos do GetCancellationPolicies(...) Request ..................................................... 42

GetCancellationFee(...).....................................................................................................43 GetCancellationFee(...) Request ..................................................................................... 43

Exemplos de GetCancellationFee(...) Request ............................................................ 43 GetCancellationFee(...) Response................................................................................... 44

Exemplos de GetCancellationFee(...) Response.......................................................... 44 CancelReservation(...) ......................................................................................................45

CancelReservation(...) Request ...................................................................................... 45 Exemplo do CancelReservation(...) Request............................................................... 45

CancelReservation(...) Response.................................................................................... 45 Exemplo do CancelReservation(...) Response ............................................................ 45

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 5 de 45

Sobre este Guia Este documento descreve como utilizar os Serviços de Hotelaria da Trend Operadora para integração em sites e sistemas de reservas através do intercâmbio de mensagens no formato SOAP.

Objetivo O objetivo deste guia é fornecer as orientações técnicas necessárias para que a integração com o Web Service da Trend Operadora possa ser feita independente da linguagem de programação utilizada pelo cliente.

Escopo O escopo deste guia está restrito às especificações técnicas do intercâmbio de mensagens utilizando protocolos e tecnologias abertas, como HTTP, SOAP e XML. Está fora do escopo deste documento as especificidades da implementação do Web Service em linguagens e tecnologias específicas, como Java, .Net, PHP ou ASP. Todavia, a Trend Operadora fornece outros documentos que demonstram, através de exemplos com código fonte, como implementar os Web Services em linguagens e tecnologias específicas. Para saber em quais linguagens e tecnologias temos documentação disponível e obter mais informações, entre em contato com nosso suporte técnico.

Público Alvo

• Gerentes de Projetos • Analistas de Sistemas • Programadores • Demais membros de equipes de desenvolvimento com conhecimento em programação

Tecnologias referenciadas

• HTTP • SOAP • Web Services • XML

Suporte Técnico Além deste guia, a Trend Operadora fornece suporte técnico para integração via Web Services através dos seguintes contatos:

Nome do Contato Telefone Ramal E-mail + MSN Emanoel Lima +55 (011) 3123-8555 1088 [email protected]

Cláudio Rodrigues +55 (011) 3123-8555 1039 [email protected]

Júnior Suzuki +55 (011) 3123-8555 1162 [email protected]

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 6 de 45

Capítulo 1: Apresentação

A Trend Operadora A Trend Operadora está no mercado a mais de 20 anos, com sede no centro de São Paulo e escritório de vendas em Belém, Belo Horizonte, Brasília, Campinas, Curitiba, Florianópolis, Fortaleza, Goiânia, Manaus, Natal, Porto Alegre, Recife, Ribeirão Preto, Rio de Janeiro, Salvador e Vitória. A Trend congrega hoje uma equipe com mais de 250 profissionais aptos a atender com presteza e eficiência a solicitação do agente de viagens de qualquer porte em qualquer parte do Brasil a preços e condições extremamente competitivos. Vantagens da Trend Operadora:

• Os melhores Hotéis do Brasil • Tarifas imbatíveis • Reservas on line • As melhores condições do mercado • Programa Trend % Plus • Programa Last Minute Trend

Trend Operadora Hotel Services Todas as vantagens que a Trend Operadora já oferecia aos seus clientes e parceiros agora estão disponíveis em uma interface que permite a integração entre seus sistemas, agilizando processos e reduzindo os custos operacionais de ambas as partes. Hotel Services é o Web Service da Trend Operadora que concentra todas as funcionalidades referentes a hotelaria, desde uma consulta de tarifas/disponibilidade, até a emissão ou o cancelamento de uma reserva. Nos próximos capítulos estaremos detalhando como utilizar o Hotel Services, desde sua arquitetura até os seus métodos (funcionalidades) e formatos de documento.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 7 de 45

Capítulo 2: Arquitetura Este capítulo descreve a arquitetura básica dos Web Services da Trend Operadora, possibilitando ao integrador compreender sua estrutura genérica de mensagens, requisitos operacionais e considerações técnicas.

Intercâmbio de mensagens A integração com os Web Services da Trend Operadora é baseada na troca de documentos XML utilizando o protocolo SOAP para formatação das mensagens e o protocolo HTTP (POST) para transmissão das mesmas. Na imagem abaixo podemos ver um esquema simplificado desta troca de mensagens:

Canal de Transmissão As mensagens são enviadas utilizando o método POST do protocolo HTTP (o método GET não é suportado por este Web Service), conforme as especificações abaixo: Request: POST /hotelservices.asmx HTTP/1.1 Host: 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 Todos os dados enviados e recebidos estarão na codificação UTF-8.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 8 de 45

Mensagem de Requisição (Request) Cada mensagem enviada pelo cliente é empacotada em um envelope SOAP, contendo um cabeçalho (soap:Header), com as credenciais do cliente para autenticação no sistema, e um corpo (soap:Body), contendo o documento XML com os dados da requisição, conforme o exemplo abaixo: <?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> Consulte a seção Autenticação para uma descrição completa deste documento.. </Documento XML com as credenciais do cliente> </soap:Header> <soap:Body> <Documento XML com os dados da solicitação> Consulte o capítulo 3 para uma descrição completa de cada tipo de documento. </Documento XML com os dados da solicitação> </soap:Body> </soap:Envelope> Autenticação Tendo em vista que o acesso a este Web Service é restrito aos clientes e parceiros da Trend Operadora, o sistema precisa identificar quem está fazendo a requisição e se possui autorização para tal. Isso é feito através da autenticação das credenciais fornecidas no cabeçalho SOAP de cada requisição. Abaixo temos uma descrição dos parâmetros que compõem a credencial do cliente: Parâmetro Tipo de dado Descrição Domain String Área de acesso relacionada ao tipo de cliente.

Parâmetro obrigatório.

AccessCode Integer Identificador numérico do cliente na Trend Operadora. Parâmetro obrigatório.

UserName String Nome de usuário. Parâmetro obrigatório.

Password String Senha de acesso: alfanumérica e sensível a letras maiúsculas e minúsculas. Parâmetro obrigatório.

O exemplo a seguir demonstra uma requisição genérica contendo uma credencial com os seguintes dados:

• Domínio: myDomain • Código de acesso: 99999999 • Nome de usuário: myUserName • Senha: myPassword

<?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>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 9 de 45

Autorização O mecanismo de autorização do Web Service da Trend Operadora realiza as seguintes verificações:

• Validade do IP de origem da requisição: o acesso é restrito a endereços IP previamente liberados em nosso servidor web.

• Validade das credenciais no domínio: os dados de acesso (AccessCode, UserName, Password)

são válidos apenas dentro de um domínio (Domain) específico. Validação da requisição Antes de processar as requisições recebidas o sistema irá validar a consistência de seus dados de acordo com as especificações descritas no Capítulo 3 deste documento. Caso os dados não sejam validados, será retornada uma mensagem de erro informando as falhas encontradas, conforme o exemplo abaixo:

Server was unable to process request. --->

Message: SearchHotelByIdRequest, Field: Nights, Error: A quantidade máxima de diárias para consulta é 30.

Message: SearchHotelByIdRequest, Field: HotelIdList, Error: O código dos Hotéis a consultar deve ser informado.

Message: SearchHotelByIdRequest, Field: RoomsInformation.ChildAges, Error: A quantidade de idades informada [ChildAges] deve ser equivalente à quantidade de crianças informada [ChildrenNum].

Caso a requisição seja validada, o sistema irá processá-la e enviar a mensagem de resposta para o cliente. Mensagem de resposta (Response) Cada mensagem enviada pela Trend é empacotada em um envelope SOAP, sem cabeçalho (soap:Header), contendo o documento XML com os dados da resposta à requisição em seu corpo (soap:Body), conforme o exemplo abaixo: <?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> Consulte o Capítulo 3 para uma descrição completa de cada tipo de documento. </Documento XML com os dados de retorno> </soap:Body> </soap:Envelope>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 10 de 45

Fluxograma O esquema a seguir demonstra como funciona o fluxo de troca de mensagens no Web Service da Trend Operadora:

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 11 de 45

Capítulo 3: Descrição dos Métodos Este capítulo fornece a descrição dos métodos utilizados pela Interface de Programação do Web Service de Hotelaria para implementar o intercâmbio de mensagens. Abaixo temos uma imagem da página que expõe o Web Service de Hotelaria, bem como uma relação de seus métodos com uma descrição resumida.

Os métodos serão detalhados neste capítulo seguindo a ordem de seu fluxo de utilização:

• GetDestinationList • SearchHotel • SearchHotelById • GetHotelDetails • BookHotel • GetReservationGroupDetails • GetCancellationPolicies • GetCancellationFee • CancelReservation

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 12 de 45

GetDestinationList() A finalidade deste método é retornar a lista de destinos (cidades) onde existem Hotéis que possuem acordo tarifário com a Trend Operadora. A partir desta lista é possível obter o Id (identificador) do destino que será utilizado na pesquisa de Hotéis, através do método SeachHotel(...). GetDestinationList() Request A requisição deste método não possui parâmetros específicos, apenas o cabeçalho SOAP com as credenciais para autenticação, conforme exposto na página 8 deste documento. Exemplo do 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 Este método retorna um documento XML baseado no esquema DestinationList.xsd, o qual é descrito a seguir:

Campo Tipo de dado Descrição Id Integer Identificador único do destino.

City String Nome da Cidade.

State String Sigla do Estado.

Country String Nome do País.

IataCode String Código IATA (Aeroportuário) da Cidade. O conteúdo deste campo será nulo se a cidade não possuir um aeroporto e, consequentemente, um código IATA.

Exemplo do 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>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 13 de 45

SearchHotel(...) A finalidade deste método é retornar uma lista de Hotéis de acordo com os critérios especificados em sua requisição. SearchHotel(...) Request Além do cabeçalho SOAP com as credenciais para autenticação (descrito na página 8 deste documento), a requisição deste método depende dos parâmetros descritos a seguir:

Parâmetro Tipo de dado Descrição DestinationId Integer Identificador numérico do destino/cidade desejada.

A lista dos destinos operados pela Trend, bem como o identificador numérico de cada destino, podem ser obtidos utilizando-se o método GetDestinationList(), descrito na seção anterior deste captítulo. Parâmetro Obrigatório.

CheckIn Date YYYY-MM-DD Data desejada para check in no Hotel, no formato ANO-MÊS-DIA. Ex: 2007-11-15. Parâmetro Obrigatório.

CheckOut Date YYYY-MM-DD Data desejada para check out no Hotel, no formato ANO-MÊS-DIA. Ex: 2007-11-19. Parâmetro Obrigatório.

RoomsInformation List of RoomInfoType

Composição dos quartos desejados. Este parâmetro é representado por uma lista do tipo de dado RoomInfoType, o qual é composto por um conjunto de campos que especifica cada quarto: AdultsNum: Inteiro curto, contendo a quantidade de adultos que ocuparão o quarto. Mínimo = 1. ChildrenNum: Inteiro curto, contendo a quantidade de crianças que ocuparão o quarto. Mínimo = 0. ChildAges: Caso o campo ChildrenNum seja maior que 0 (zero), este campo será obrigatório e deverá conter um array, do tipo inteiro curto, com a idade de cada criança. Parâmetro Obrigatório.

MaxAvrNightPrice Double Os hotéis serão filtrados de acordo com o valor máximo a ser pago por noite (diária média), considerando a soma de todos os quartos requisitados. O valor padrão deste parâmetro é 0 (zero), o que especifica que nenhum filtro será aplicado. Parâmetro Opcional.

AvailableOnly Boolean Os hotéis serão filtrados de acordo com sua disponibilidade: AvailableOnly = true: Serão retornados apenas o hotéis com disponibilidade para todos os quartos especificados. AvailableOnly = false: Nenhum filtro será aplicado, retornando todos os hotéis. O valor padrão deste parâmetro é false. Parâmetro Opcional.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 14 de 45

Exemplo do SearchHotel(...) Request O exemplo a seguir demonstra a requisição de uma consulta de hotéis com a seguinte configuração:

• Cidade: São Paulo, SP, Brasil (DestinationId=5238) • Período de hospedagem: 13/12/2007 a 16/12/2007 • Quantidade de quartos: 2 • Ocupantes do primeiro quarto: 2 adultos e 2 crianças, com idades de 4 e 5 anos • Ocupantes do segundo quarto: 2 adultos • Valor máximo a ser pago pelos 2 quartos por noite: $ 300,00 • Exibir apenas os hotéis com disponibilidade para os dois quartos solicitados: sim

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> Considerações sobre o SearchHotel(...) Request O número máximo de noites permitido por requisição é 30. Ao consultar um período com mais de 30 noites em uma única requisição, uma mensagem de erro será exibida. A quantidade máxima de quartos permitida por requisição é 4. Ao consultar mais de 4 quartos em uma única requisição, uma mensagem de erro será exibida.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 15 de 45

SearchHotel(...) Response Este método retorna um documento XML baseado no esquema SearchHotelResult.xsd o qual é descrito a seguir:

Tabela: RoomRequested Descrição: Este tabela contém a configuração dos quartos informados na requisição do método,

acrescendo o tipo de acomodação (SGL, DBL, TPL, etc.) adequado a cada quarto especificado. Campo Tipo de dado Descrição Index Integer Índice numérico do quarto especificado iniciando em 0 (zero).

Ex: Caso tenham sido requisitados 3 quartos, teremos: Primeiro: Index = 0; Segundo: Index = 1; Terceiro: Index = 2.

RoomRequestedId Integer Identificador numérico da requisição. A finalidade deste campo é apenas agrupar os itens desta tabela na formatação do documento XML, ele não tem nenhuma influência no tratamento dos dados. Deve ser ignorado.

numAdults Short Quantidade de adultos requisitada em cada quarto.

numChildren Short Quantidade de crianças requisitada em cada quarto.

ChildAges String Idade das crianças informada em cada quarto. Quando há mais de uma criança no quarto, este campo retorna as idades separadas por ; (ponto e virgula).

AccomodationTypeId Integer Identificador numérico do tipo de acomodação. Ex: 1 (SGL), 2 (DBL), 3 (TPL), 4 (QDL), 5 (QTL)

AccomodationType String Sigla do tipo de acomodação, com três letras. Ex: SGL, DBL, TPL, QDL, QTL

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 16 de 45

Tabela: Hotel Descrição: Esta tabela contém a lista dos hotéis que se adequaram aos critérios especificados na

requisição do método. Campo Tipo de dado Descrição

HotelId Integer Identificador numérico do hotel. Este campo é chave primária.

Name String Nome do hotel.

Chain String Nome da cadeia / rede a qual o hotel pertence. Quando o hotel é independente (não pertence a nenhuma rede), este campo virá preenchido com “--”.

CategoryId Integer Identificador numérico da categoria do hotel.

Category String Descrição da categoria. Ex: FLAT, DUAS ESTRELAS, QUATRO ESTRELAS

Description String Descrição do hotel.

Address String Endereço do hotel: LOGRADOURO, NÚMERO, BAIRRO.

Location String Localização do hotel: CIDADE, UF (SIGLA DO ESTADO), PAÍS

Thumb String Nome do arquivo da imagem de exibição do hotel, sem URL. As imagens podem ser utilizadas a partir da URL do servidor de imagens da Trend ou pode-se optar por baixar os arquivos localmente. Para maiores informações, contate nosso suporte técnico.

Currency String Código da moeda, com três letras. Ex: BRL = REAL (BRASIL), USD = DOLAR (US).

minAvrNightPrice Double Representa qual seria o valor médio pago por uma noite para esta hospedagem (todos os quartos), considerando os tipos de apartamento com as tarifas mais baratas.

minAvrNightPriceNet Double Representa qual seria o valor médio pago por uma noite para esta hospedagem (todos os quartos), considerando os tipos de apartamento com as tarifas mais baratas e descontando-se o valor da comissão (%) da agência.

Tax Double Valor percentual das taxas cobradas pelo hotel. Quando diferente de 0 (zero), este percentual é cobrado por diária e não está incluso nas tarifas informadas. O valor final das tarifas, incluindo as taxas, deve ser calculado pelo sistema que está integrando este Web Service.

IsAvailable Boolean Status da disponibilidade do hotel, considerando todos os quartos solicitados e demais critérios especificados na requisição do método. IsAvailable = true: O hotel possui disponibilidade para todos os quartos solicitados. IsAvailable = false: Pelo menos um dos quartos solicitados não está disponível.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 17 de 45

Tabela: RoomType Descrição: Esta tabela contém a lista dos tipos de quarto de cada hotel que se adequaram aos critérios

especificados na requisição do método. Campo Tipo de dado Descrição

RoomTypeId Integer Identificador numérico do tipo de quarto. Este campo é chave primária.

Name String Nome do tipo de quarto.

HotelId Integer Identificador numérico do hotel ao qual este tipo de quarto pertence. Este campo é chave estrangeira.

BoardBaseId Integer Identificador numérico do regime de alimentação incluso na tarifa. Quando este campo for igual a 0 (zero), significa que este tipo de quarto não inclui regime de alimentação incluso em sua tarifa.

BoardBase String Descrição do regime de alimentação incluso na tarifa do tipo de quarto.

BedTypeId Short Identificador numérico do tipo de cama. Quando este campo for igual a 0 (zero), significa que este tipo de quarto pode possuir tanto cama de casal quanto de solteiro. Neste caso, no momento da reserva qualquer um dos dois tipos de cama pode ser solicitado para este tipo de quarto. Quando este campo for igual a 1 (um), significa que este tipo de quarto possui apenas cama de solteiro. Neste caso não é possível solicitar cama de casal no momento da reserva. Quando este campo for igual a 2 (dois), significa que este tipo de quarto possui apenas cama de casal. Neste caso não é possível solicitar cama de solteiro no momento da reserva.

BedType String Descrição do tipo de cama. Quando o campo BedTypeId for igual a 0 (zero), o valor deste campo será nulo.

AccomodationTypeId Integer Identificador numérico do tipo de acomodação. Ex: 1 (SGL), 2 (DBL), 3 (TPL), 4 (QDL), 5 (QTL)

AccomodationType String Sigla do tipo de acomodação, com três letras. Ex: SGL, DBL, TPL, QDL, QTL

avrNightPrice Double Valor médio da diária para este tipo de quarto no período especificado.

avrNightPriceNet Double Valor médio da diária para este tipo de quarto no período especificado, descontando-se o valor da comissão (%) da agência.

Tax Double Valor percentual das taxas cobradas pelo hotel. Quando diferente de 0 (zero), este percentual é cobrado por diária e não está incluso nas tarifas informadas. O valor final das tarifas, incluindo as taxas, deve ser calculado pelo sistema que está integrando este Web Service.

qtyAvailable Integer Quantidade de unidades deste tipo de apartamento que possuem disponibilidade para o período informado. Quando este campo for igual a 0 (zero) significa que não há disponibilidade para este tipo de apartamento.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 18 de 45

Tabela: PricesAndAvailability Descrição: Esta tabela contém o valor da diária e a disponibilidade para cada tipo de quarto em cada data

do período especificado na requisição do método. Campo Tipo de dado Descrição RoomTypeId Integer Identificador numérico do tipo de quarto.

Este campo é chave estrangeira e parte integrante de uma chave primária composta.

Date Date Data a qual a tarifa e a disponibilidade se referem. Este campo é parte integrante de uma chave primária composta.

Price Double Valor da tarifa para a data em questão.

PriceNet Double Valor da tarifa para a data em questão, descontando-se o valor da comissão (%) da agência.

Tax Double Valor percentual das taxas cobradas pelo hotel. Quando diferente de 0 (zero), este percentual é cobrado por diária e não está incluso na tarifa informada. O valor final da tarifa, incluindo as taxas, deve ser calculado pelo sistema que está integrando este Web Service.

qtyAvailable Integer Quantidade de unidades do tipo de apartamento que possuem disponibilidade para a data em questão. Quando este campo for igual a 0 (zero) significa que não há disponibilidade para o tipo de apartamento na data em questão.

RateTypeId Integer Identificador numérico do tipo de tarifa. Os tipos possíveis são: 0 = NORMAL 1 = PROMOCIONAL 3 = CONGRESSO/EVENTOS 4 = MÉDIA TEMPORADA 5 = ALTA TEMPORADA 998 = LAST MINUTE O resultado de uma consulta pode trazer um tipo diferente de tarifa para cada data, dependendo com a validade de cada acordo.

RateType String Descrição do tipo de tarifa.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 19 de 45

Exemplo do SearchHotel(...) Response O exemplo a seguir demonstra o retorno da requisição especificada anteriormente neste capítulo, na seção “Exemplo do SearchHotel(...) Request” (página: 14): <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>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 20 de 45

SearchHotelById(...) A finalidade deste método é retornar uma lista de Hotéis de acordo com os critérios especificados em sua requisição. SearchHotelById(...) Request Além do cabeçalho SOAP com as credenciais para autenticação (descrito na página 8 deste documento), a requisição deste método depende dos parâmetros descritos a seguir:

Parâmetro Tipo de dado Descrição HotelIdList List of Integer Array do tipo inteiro longo contendo os identificadores numéricos

dos hotéis desejados. Parâmetro Obrigatório.

CheckIn Date YYYY-MM-DD Data desejada para check in no Hotel, no formato ANO-MÊS-DIA. Ex: 2007-11-15. Parâmetro Obrigatório.

CheckOut Date YYYY-MM-DD Data desejada para check out no Hotel, no formato ANO-MÊS-DIA. Ex: 2007-11-19. Parâmetro Obrigatório.

RoomsInformation List of RoomInfoType

Composição dos quartos desejados. Este parâmetro é representado por uma lista do tipo de dado RoomInfoType, o qual é composto por um conjunto de campos que especifica cada quarto: AdultsNum: Inteiro curto, contendo a quantidade de adultos que ocuparão o quarto. Mínimo = 1. ChildrenNum: Inteiro curto, contendo a quantidade de crianças que ocuparão o quarto. Mínimo = 0. ChildAges: Caso o campo ChildrenNum seja maior que 0 (zero), este campo será obrigatório e deverá conter um array, do tipo inteiro curto, com a idade de cada criança. Parâmetro Obrigatório.

MaxAvrNightPrice Double Os hotéis serão filtrados de acordo com o valor máximo a ser pago por noite (diária média), considerando a soma de todos os quartos requisitados. O valor padrão deste parâmetro é 0 (zero), o que especifica que nenhum filtro será aplicado. Parâmetro Opcional.

AvailableOnly Boolean Os hotéis serão filtrados de acordo com sua disponibilidade: AvailableOnly = true: Serão retornados apenas o hotéis com disponibilidade para todos os quartos especificados. AvailableOnly = false: Nenhum filtro será aplicado, retornando todos os hotéis. O valor padrão deste parâmetro é false. Parâmetro Opcional.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 21 de 45

Exemplo do SearchHotelById(...) Request O exemplo a seguir demonstra a requisição de uma consulta de hotéis com a seguinte configuração:

• Hotéis: Normandie (HotelId=105889) e San Juan São Paulo (HotelId=100002) • Período de hospedagem: 13/12/2007 a 16/12/2007 • Quantidade de quartos: 2 • Ocupantes do primeiro quarto: 2 adultos e 2 crianças, com idades de 4 e 5 anos • Ocupantes do segundo quarto: 2 adultos • Valor máximo a ser pago pelos 2 quartos por noite: $ 300,00 • Exibir apenas os hotéis com disponibilidade para os dois quartos solicitados: sim

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> Considerações sobre o SearchHotelById(...) Request O número máximo de noites permitido por requisição é 30. Ao consultar um período com mais de 30 noites em uma única requisição, uma mensagem de erro será exibida. A quantidade máxima de quartos permitida por requisição é 4. Ao consultar mais de 4 quartos em uma única requisição, uma mensagem de erro será exibida. SearchHotelById(...) Response O documento XML retornado por este método é baseado no esquema SearchHotelResult.xsd, a qual já foi descrita na página 15 deste documento.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 22 de 45

Exemplo do SearchHotelById(...) Response O exemplo a seguir demonstra o retorno da requisição especificada anteriormente neste capítulo, na seção “Exemplo do SearchHotelById(...) Request” (página: 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>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 23 de 45

GetHotelDetails(...) A finalidade do método GetHotelDetails(...) é retornar as informações detalhadas de um hotel específico, de acordo com o HotelId informado. GetHotelDetails(...) Request Além do cabeçalho SOAP com as credenciais para autenticação (descrito na página 8 deste documento), a requisição deste método depende dos parâmetros descritos a seguir:

Parâmetro Tipo de dado Descrição HotelId Integer Identificador numérico do hotel desejado.

Parâmetro Obrigatório.

Exemplo do GetHotelDetails(...) Request O exemplo a seguir demonstra a requisição dos detalhes do hotel Teste Plaza (HotelId=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>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 24 de 45

GetHotelDetails(...) Response Este método retorna um documento XML baseado no esquema HotelDetailsResult.xsd, o qual é descrito a seguir:

Tabela: Hotel Descrição: Esta tabela contém os dados primários do hotel.

Campo Tipo de dado Descrição HotelId Integer Identificador numérico do hotel.

Este campo é chave primária.

Name String Nome do hotel.

Chain String Nome da cadeia / rede a qual o hotel pertence. Quando o hotel é independente (não pertence a nenhuma rede), este campo virá preenchido com “--”.

qtyRooms Integer Quantidade de apartamentos que o hotel contém.

CategoryId Integer Identificador numérico da categoria do hotel.

Category String Descrição da categoria. Ex. FLAT, TRÊS ESTRELAS, CINCO ESTRELAS

Description String Descrição do hotel.

Thumb String Nome do arquivo da imagem de exibição do hotel, sem URL.

Street String Nome da rua e número onde o hotel está localizado.

Quarter String Nome do bairro onde o hotel está localizado.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 25 de 45

Tabela: Hotel (continuação)

Campo Tipo de dado Descrição City String Nome da cidade onde o hotel está localizado.

State String Sigla do estado onde o hotel está localizado, com duas letras.

Country String Nome do país onde o hotel está localizado.

PostalCode String Código postal do hotel.

Phone String Telefone do hotel, no formato +DDI (DDD) NÚMERO

Fax String Fax do hotel, no formato +DDI (DDD) NÚMERO

Site String URL do web site do hotel.

Latitude String Coordenada geográfica do hotel em relação à linha do equador. Em conjunto com a longitude, fornece a localização do hotel no globo terrestre, podendo ser utilizado em sistemas de geolocalização, como o Google Maps®.

Longitude String Coordenada geográfica do hotel em relação ao Meridiano de Greenwich. Em conjunto com a latitude, fornece a localização do hotel no globo terrestre, podendo ser utilizado em sistemas de geolocalização, como o Google Maps®.

LbsId String Código de geolocalização do hotel no sistema de mapas da Trend Operadora. Para saber como utilizar o Trend Maps, entre em contato com nosso suporte técnico.

Tabela: Image Descrição: Esta tabela contém uma lista com as imagens do hotel.

Campo Tipo de dado Descrição HotelId Integer Identificador numérico do hotel.

Este campo é chave estrangeira.

Thumb String Nome do arquivo de imagem, sem URL

Name String Nome da imagem.

Description String Descrição da imagem.

Tabela: Amenity Descrição: Esta tabela contém uma lista com as instalações públicas e conveniências oferecidas pelo hotel.

Campo Tipo de dado Descrição HotelId Integer Identificador numérico do hotel.

Este campo é chave estrangeira.

Name String Nome da instalação / conveniência.

Tabela: Facility Descrição: Esta tabela contém uma lista com as facilidades oferecidas pelos apartamentos do hotel.

Campo Tipo de dado Descrição HotelId Integer Identificador numérico do hotel.

Este campo é chave estrangeira.

Name String Nome da facilidade.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 26 de 45

Tabela: RoomType Descrição: Esta tabela contém a lista dos tipos de quarto oferecidos pelo hotel.

Campo Tipo de dado Descrição RoomTypeId Integer Identificador numérico do tipo de quarto.

Este campo é chave primária.

HotelId Integer Identificador numérico do hotel. Este campo é chave estrangeira.

Name String Nome do tipo de quarto.

AccomodationTypeId Integer Identificador numérico do tipo de acomodação. Ex: 1 (SGL), 2 (DBL), 3 (TPL), 4 (QDL), 5 (QTL)

AccomodationType String Nome do tipo de acomodação.

BedTypeId Short Identificador numérico do tipo de cama. Quando este campo for igual a 0 (zero), significa que este tipo de quarto pode possuir tanto cama de casal quanto de solteiro. Neste caso, no momento da reserva qualquer um dos dois tipos de cama pode ser solicitado para este tipo de quarto. Quando este campo for igual a 1 (um), significa que este tipo de quarto possui apenas cama de solteiro. Neste caso não é possível solicitar cama de casal no momento da reserva. Quando este campo for igual a 2 (dois), significa que este tipo de quarto possui apenas cama de casal. Neste caso não é possível solicitar cama de solteiro no momento da reserva.

BedType String Descrição do tipo de cama. Quando o campo BedTypeId for igual a 0 (zero), o valor deste campo será nulo.

BoardBaseId Integer Identificador numérico do regime de alimentação incluso na tarifa. Quando este campo for igual a 0 (zero), significa que este tipo de quarto não inclui regime de alimentação incluso em sua tarifa.

BoardBase String Descrição do regime de alimentação incluso nas tarifas do tipo de quarto.

Tabela: PaymentModes Descrição: Esta tabela contém a lista com as formas de pagamento aceitas pelo hotel para emissão de

reservas através da Trend Operadora. Campo Tipo de dado Descrição

PaymentModeId Integer Identificador numérico da forma de pagamento. Este campo é chave primária.

HotelId Integer Identificador numérico do hotel. Este campo é chave estrangeira.

Name String Nome da forma de pagamento.

Tabela: InterestPoints Descrição: Esta tabela contém uma lista com os pontos de interesse próximos ao hotel.

Campo Tipo de dado Descrição HotelId Integer Identificador numérico do hotel.

Este campo é chave estrangeira.

Name String Nome do ponto de interesse.

Type String Tipo do ponto de interesse. Ex: PRAIA, SHOPPING CENTER, RESTAURANTE

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 27 de 45

Tabela: InterestPoints (continuação) Campo Tipo de dado Descrição Distance Double Distância do hotel ao ponto de interesse.

DistanceUnit String Unidade de medida da distância. Ex: METROS, KILOMETROS, MINUTOS

Latitude String Coordenada geográfica do ponto de interesse em relação à linha do equador.

Longitude String Coordenada geográfica do ponto de interesse em relação ao Meridiano de Greenwich.

LbsId String Código de geolocalização do ponto de interesse no sistema de mapas da Trend Operadora.

Tabela: Policies Descrição: Esta tabela contém os dados referentes às políticas operacionais do hotel.

Campo Tipo de dado Descrição HotelId Integer Identificador numérico do hotel.

Este campo é chave estrangeira.

CheckInHour String Hora mínima para que o check in seja efetuado, no formato HH24:MI (Ex: 14:30).

EarlyCheckInPenaltyId Integer Identificador numérico da penalidade aplicada quando o check in é efetuado antes do horário limite.

EarlyCheckInPenalty String Descrição da penalidade aplicada quando o check in é efetuado antes do horário limite.

CheckOutHour String Hora máxima para que o check out seja efetuado, no formato HH24:MI (Ex: 13:30).

LateCheckOutPenaltyId Integer Identificador numérico da penalidade aplicada quando o check out é efetuado após o horário limite.

LateCheckOutPenalty String Descrição da penalidade aplicada quando o check out é efetuado após o horário limite.

Childs String Descrição da política do hotel para crianças.

Pets String Descrição da política do hotel para animais de estimação.

NoShowPenaltyId Integer Identificador numérico da penalidade aplicada quando ocorre um no show.

NoShowPenalty String Descrição da penalidade aplicada quando ocorre um no show.

CancellationDeadLineType Short Identificador numérico do tipo de dead line para cancelamento: 0 = ANTES DO CHECK IN 1 = APÓS A EMISSÃO DA RESERVA

CancellationDeadLineHours Integer Quantidade de horas que compõem o dead line.

CancellationDeadLine String Descrição do dead line para cancelamento.

CancellationAfterDeadLinePenaltyId Integer Identificador numérico da penalidade aplicada quando um cancelamento é efetuado após o dead line.

CancellationAfterDeadLinePenalty String Descrição da penalidade aplicada quando um cancelamento é efetuado após o dead line.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 28 de 45

Exemplo do GetHotelDetails(...) Response O exemplo a seguir demonstra o retorno da requisição especificada anteriormente neste capítulo, na seção “Exemplo do GetHotelDetails(...) Request” (página: 23): <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.trendoperadora.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="" /> ...

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 29 de 45

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

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 30 de 45

BookHotel(...) A finalidade deste método é emitir uma reserva para cada quarto solicitado em um hotel de acordo com os critérios especificados. BookHotel(...) Request Além do cabeçalho SOAP com as credenciais para autenticação (descrito na página 8 deste documento), a requisição deste método depende dos parâmetros descritos a seguir:

Parâmetro Tipo de dado Descrição RGID Integer Identificador numérico de um grupo de reservas pré-existente.

O valor padrão deste campo é 0 (zero), o que significa que as reservas emitidas nesta solicitação não pertencem a nenhum grupo pré-existente e que um novo grupo será gerado com esta emissão. Ao informar um valor diferente de 0 (zero), o sistema irá verificar a existência de um grupo com o identificador informado e relacionado a agência que fez a requisição. Caso o resultado desta verificação seja positivo, as reservas emitidas serão alocadas neste grupo. Caso não, uma mensagem de erro será retornada. Parâmetro Opcional.

HotelId Integer Identificador numérico do hotel em que as reservas devem ser emitidas. Parâmetro Obrigatório.

CheckIn Date YYYY-MM-DD Data em que será efetuado o check in no Hotel, no formato ANO-MÊS-DIA. Ex: 2007-11-15. Parâmetro Obrigatório.

CheckOut Date YYYY-MM-DD Data em que será efetuado o check out no Hotel, no formato ANO-MÊS-DIA. Ex: 2007-11-20. Parâmetro Obrigatório.

PaymentModeId Integer Identificador numérico da forma de pagamento. O valor padrão deste parâmetro é 100 (FATURAR DIÁRIAS). Para especificar outra forma de pagamento, é necessário executar o método GetHotelDetails(...) para identificar as formas de pagamento aceitas pelo hotel. Parâmetro Opcional.

RoomList List of RoomReserveInfoType

Composição dos quartos desejados. Este parâmetro é representado por uma lista do tipo de dado RoomReserveInfoType, o qual é composto por um conjunto de campos que especifica cada quarto: RoomTypeId: Identificador numérico do tipo de quarto. PaxName: Nome do hóspede em que a reserva deve ser feita. BedTypeId: Identificador numérico do tipo de cama. Padrão = 0. AdultsNum: Inteiro curto, contendo a quantidade de adultos que ocuparão o quarto. Mínimo = 1. ChildrenNum: Inteiro curto, contendo a quantidade de crianças que ocuparão o quarto. Mínimo = 0. ChildAges: Caso o campo ChildrenNum seja maior que 0 (zero), este campo será obrigatório e deverá conter um array, do tipo inteiro curto, com a idade de cada criança. Notes: Observações referentes ao hóspede ou a reserva. Parâmetro Obrigatório.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 31 de 45

Continuação: Parâmetro Tipo de dado Descrição

AgentRefNumber String Código interno deste processo para a agência que está efetuando a reserva, com no máximo 20 caracteres. Parâmetro Opcional.

AvailableOnly Boolean Indica se a emissão deverá ser condicionada a disponibilidade de todos os quartos solicitados. True = As reservas serão emitidas apenas se todos os quartos tiverem disponibilidade. False = Caso algum dos quartos não tenha disponibilidade, será gerado um pedido eletrônico (On Request) a ser processado offline. O valor padrão deste campo é False. Parâmetro Opcional.

IgnoreDuplicity Boolean Indica se a emissão deverá ser condicionada à verificação de possibilidade de duplicidade de reservas em nome do hóspede. True = As reservas serão emitidas sem verificação de duplicidade. False = Será feita uma verificação de possibilidade de duplicidade antes da emissão das reservas. Caso nenhuma possibilidade seja encontrada, as reservas serão emitidas diretamente. Caso alguma possibilidade de duplicidade seja encontrada, será gerado um pedido eletrônico (On Request) a ser processado offline. A verificação de possibilidade do duplicidade considera:

• Intersecção de períodos (Ex: 21/10/2007 a 25/10/2007 e 24/10/2007 a 30/10/2007);

• Código fonético das palavras que compõem o nome do hóspede;

• Mínimo de três coincidências de código fonético entre as palavras que compõem o nome do hóspede (Isso caso o nome seja composto de mais de três palavras, caso contrário o mínimo de coincidências será a quantidade de palavras que compõem o nome do hóspede);

• Agência que emitiu a reserva. A verificação de possibilidade de duplicidade desconsidera:

• Em qual hotel a reserva está sendo feita (se em um período similar houver uma reserva desta agência para um hóspede com nome similar em outro hotel, será levantada uma possibilidade de duplicidade);

• A ordem das palavras que compõem o nome do hóspede; • As preposições e artigos (de, da, do, dos, a, e) no nome do

hóspede; Desta forma, reservas da agência com os seguintes nomes em períodos sobrepostos, independente do hotel, indicariam possibilidade de duplicidade: Luiz Augusto Magalhães de Andrade Andrade Magalhães, Luís Augusto Luis de Magalhães Neto O valor padrão deste campo é False. Parâmetro Opcional.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 32 de 45

Exemplo do BookHotel(...) Request O exemplo a seguir demonstra uma requisição de reserva com a seguinte configuração:

• Hotel: Teste Plaza (HotelId=100018) • Período de hospedagem: 13/12/2007 a 16/12/2007 • Forma de pagamento: Faturar diárias (PaymentModeId=100) • Quantidade de quartos: 2 • Primeiro quarto: TPL - SUP (RoomTypeId=5444) em nome de Luiz Carlos Magalhães

acomodando 2 adultos e 2 crianças, com idades de 4 e 5 anos • Segundo quarto: DBL - SUP (RoomTypeId=5440) em nome de Adriana Lemos acomodando 2

adultos com cama da casal (BedTypeId=2) • Código interno deste processo para a agência solicitante: RSV200710230001 • Emitir reservas apenas se os dois quartos tiverem disponibilidade: sim • Ignorar verificação de duplicidade: sim

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>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 33 de 45

Considerações sobre o BookhHotel(...) Request Antes de chamar o método BookHotel(...), é necessário utilizar os métodos SearchHotel(...) ou SearchHotelById(...) para obter os dados necessários para emissão das reservas, tais como identificadores numéricos válidos, restrições e disponibilidade dos quartos. A tabela RoomRequested, retornada pelos métodos SearchHotel(...) e SearchHotelById(...) informa o AccomodationTypeId adequado a cada quarto solicitado. A finalidade desta tabela é permitir que o sistema que esteja integrando este Web Service possa identificar na tabela RoomType o tipo de quarto adequado a cada item solicitado, através da comparação dos campos AccomodationTypeId:

Caso a quantidade de adultos e crianças informada para um tipo de quarto na chamada do método BookHotel(...) for incompatível com o seu AccomodationTypeId, uma mensagem de erro será gerada. Na especificação dos quartos durante a chamada do método BookHotel(...), o campo BedTypeId deve ser compatível com os tipos de cama aceitos pelo tipo de quarto, conforme o valor constante na tabela RoomType, obtida através dos métodos SearchHotel(...) e SearchHotelById(...). Caso o valor do campo BedTypeId da tabela RoomType seja igual a 0 (zero), os possíveis valores a informar no método BookHotel(...) seriam 0 (indiferente), 1 (cama de solteiro) ou 2 (cama de casal). Caso o valor do campo BedTypeId da tabela RoomType seja igual a 1 (um), os possíveis valores a informar no método BookHotel(...) seriam 0 (indiferente) ou 1 (cama de solteiro). Caso o valor do campo BedTypeId da tabela RoomType seja igual a 2 (dois), os possíveis valores a informar no método BookHotel(...) seriam 0 (indiferente) ou 2 (cama de casal). Para mais informações sobre o campo BedTypeId da tabela RoomType (retornada pelos métodos SearchHotel(...) e SearchHotelById(...)), consulte a página 17 deste documento.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 34 de 45

BookHotel(...) Response Este método retorna um documento XML baseado no esquema BookHotelResult.xsd, o qual é descrito a seguir:

Tabela: ReservationGroup Descrição: Esta tabela contém os dados primários do agrupamento de reservas.

Campo Tipo de dado Descrição RGID Integer Identificador numérico do agrupamento de reservas.

Este campo é chave primária.

Currency String Código da moeda, com três letras. Ex: BRL = REAL (BRASIL), USD = DOLAR (US).

TotalPrice Double Valor total de todas as reservas confirmadas, incluindo taxas. Este valor não inclui os processos on request.

TotalPriceNet Double Valor total de todas as reservas confirmadas, incluindo taxas e descontando o valor da comissão (%) da agência. Este valor não inclui os processos on request.

qtyReservations Integer Quantidade de reservas confirmadas no grupo.

qtyOnRequestProcesses Integer Quantidade de processos on request (pedidos a confirmar) no grupo.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 35 de 45

Tabela: OnRequestProcess Descrição: Esta tabela contém a lista dos processos que não foram confirmados on line e entraram em

lista de espera. Campo Tipo de dado Descrição

ProcessId Integer Identificador numérico do processo / pedido. Este campo é chave primária.

RGID Integer Identificador numérico do agrupamento de reservas. Este campo é chave estrangeira.

Type String Descrição do tipo de processo: RESERVA, ALTERAÇÃO ou CANCELAMENTO.

ReservationId Integer Identificador numérico da reserva a qual o processo se refere. Caso o tipo do processo seja RESERVA, o valor deste campo será igual a 0 (zero).

HotelId Integer Identificador numérico do hotel.

HotelName String Nome do hotel.

HotelCategory String Descrição da categoria do hotel.

HotelAdress String Endereço do hotel.

HotelLocation String Localidade do hotel (cidade, estado, país).

HotelPhone String Telefone do hotel.

RoomType String Descrição do tipo de apartamento.

BedType String Descrição do tipo de cama.

BoardBase String Descrição do regime de alimentação.

CheckIn DateTime Data de check in.

CheckOut DateTime Data de check out.

Currency String Código da moeda, com três letras. Ex: BRL = REAL (BRASIL), USD = DOLAR (US).

Price Double Valor total da hospedagem para o período, desconsiderando as taxas do hotel.

PriceNet Double Valor total da hospedagem para o período, desconsiderando as taxas do hotel e descontando o valor da comissão (%) da agência.

Tax Double Valor percentual das taxas cobradas pelo hotel. Quando diferente de 0 (zero), este percentual é cobrado por diária e não está incluso nas tarifas informadas. O valor final das tarifas, incluindo as taxas, deve ser calculado pelo sistema que está integrando este Web Service.

PaymentMode String Descrição da forma de pagamento.

PaxName String Nome do hóspede em que a reserva deve ser feita.

numOfAdults Short Quantidade de adultos.

numOfChildren Short Quantidade de crianças.

Status String Descrição da situação do processo.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 36 de 45

Tabela: Reservation Descrição: Esta tabela contém a lista das reservas confirmadas de acordo com o agrupamento

especificado. Campo Tipo de dado Descrição

ReservationId Integer Identificador numérico da reserva. Este campo é chave primária.

RGID Integer Identificador numérico do agrupamento de reservas. Este campo é chave estrangeira.

HotelId Integer Identificador numérico do hotel.

HotelName String Nome do hotel.

HotelCategory String Descrição da categoria do hotel.

HotelAdress String Endereço do hotel.

HotelLocation String Localidade do hotel (cidade, estado, país).

HotelPhone String Telefone do hotel.

RoomType String Descrição do tipo de apartamento.

BedType String Descrição do tipo de cama.

BoardBase String Descrição do regime de alimentação.

CheckIn DateTime Data programada para check in.

CheckOut DateTime Data programada para check out.

Currency String Código da moeda, com três letras. Ex: BRL = REAL (BRASIL), USD = DOLAR (US).

Price Double Valor total da hospedagem para o período, desconsiderando as taxas do hotel.

PriceNet Double Valor total da hospedagem para o período, desconsiderando as taxas do hotel e descontando o valor da comissão (%) da agência.

Tax Double Valor percentual das taxas cobradas pelo hotel. Quando diferente de 0 (zero), este percentual é cobrado por diária e não está incluso nas tarifas informadas. O valor final das tarifas, incluindo as taxas, deve ser calculado pelo sistema que está integrando este Web Service.

PaymentMode String Descrição da forma de pagamento.

PaxName String Nome do hóspede em que a reserva deve ser feita.

numOfAdults Short Quantidade de adultos.

numOfChildren Short Quantidade de crianças.

Status String Descrição da situação da reserva.

Tabela: InportantNotes Descrição: Esta tabela contém uma lista de observações importantes para cada reserva.

Campo Tipo de dado Descrição ReservationId Integer Identificador numérico da reserva.

Este campo é chave estrangeira.

Note String Notas importantes sobre a reserva, tais como: horário para check in e check out, descrição de políticas e penalidades. Os dados deste campo são descritivos e podem ser utilizados para exibição no Voucher gerado pelo sistema que está integrando este Web Service, como forma de alertar ao hóspede sobre as políticas do hotel e as penalidades decorrentes de seu descumprimento.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 37 de 45

Exemplo do BookHotel(...) Response O exemplo a seguir demonstra o retorno da requisição especificada anteriormente neste capítulo, na seção “Exemplo do BookHotel(...) Request” (página: 32): <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:00- 03: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>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 38 de 45

GetReservationGroupDetails(...) Este método retorna as reservas e os processos on request que estejam agrupados por um mesmo RGID. Sua utilização possui as seguintes finalidades:

• Acompanhar a evolução dos processos referentes ao grupo que entraram em lista de espera; • Obter os dados das reservas do grupo que foram processadas off line (a partir de processos

on request); GetReservationGroupDetails(...) Request Além do cabeçalho SOAP com as credenciais para autenticação (descrito na página 8 deste documento), a requisição deste método depende dos parâmetros descritos a seguir:

Parâmetro Tipo de dado Descrição RGID Integer Identificador numérico do agrupamento de reservas desejado.

OBS: Caso um identificador de agrupamento inválido para sua agência seja informado, será retornado um erro. Parâmetro Obrigatório.

Exemplo do GetReservationGroupDetails(...) Request O exemplo a seguir demonstra a requisição dos detalhes de um agrupamento de reservas (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 O documento XML retornado por este método é baseado no esquema BookHotelResult.xsd, o qual já foi descrito na página 34, deste documento.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 39 de 45

Exemplo do GetReservationGroupDetails(...) Response O exemplo a seguir demonstra o retorno da requisição especificada anteriormente neste capítulo, na seção “Exemplo do GetReservationGroupDetails(...) Request” (página 38): <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>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 40 de 45

GetCancellationPolicies(...) A finalidade deste método é retornar as regras e penalidades que fundamentam o cálculo da taxa de cancelamento de uma reserva. GetCancellationPolicies(...) Request Além do cabeçalho SOAP com as credenciais para autenticação (descrito na página 8 deste documento), a requisição deste método depende de parâmetros adicionais, que podem ser passados sob duas perspectivas: 01. Havendo o número da reserva, este pode ser passado isoladamente:

Parâmetro Tipo de dado Descrição ReservationId Integer Identificador numérico da reserva.

OBS: Caso um identificador de reserva inválido para sua agência seja informado, será retornado um erro. Parâmetro Obrigatório.

02. Não havendo o número da reserva, devem ser passados os dados básicos da hospedagem:

Parâmetro Tipo de dado Descrição HotelId Integer Identificador numérico do hotel.

Parâmetro Obrigatório.

RoomTypeId Integer Identificador numérico do tipo de quarto. Parâmetro Obrigatório.

CheckIn Date YYYY-MM-DD Data desejada para check in no Hotel, no formato ANO-MÊS-DIA. Ex: 2007-11-15. Parâmetro Obrigatório.

CheckOut Date YYYY-MM-DD Data desejada para check out no Hotel, no formato ANO-MÊS-DIA. Ex: 2007-11-19. Parâmetro Obrigatório.

Exemplos do GetCancellationPolicies(...) Request 01. O exemplo abaixo demonstra a requisição das políticas de cancelamento a partir de um identificador numérico de reserva (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>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 41 de 45

02. O exemplo abaixo demonstra a requisição das políticas de cancelamento a partir dos dados de uma hospedagem, com a seguinte configuração:

• Hotel: Teste Plaza (HotelId=100018) • Quarto: TPL - SUP (RoomTypeId=5444) • Período: 23/12/2007 a 27/12/2007

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 Este método retorna um documento XML baseado no esquema CancellationPolicies.xsd, o qual é descrito a seguir: Tabela: CancellationPolicy Descrição: Esta tabela contém a relação de deadlines para cancelamento e as respectivas penalidades

aplicadas quando o cancelamento ocorre após cada prazo. Campo Tipo de dado Descrição

DeadLineType Short Identificador numérico do tipo de dead line para cancelamento: 0 = ANTES DO CHECK IN 1 = APÓS A EMISSÃO DA RESERVA

DeadLineHours Integer Quantidade de horas que compõem o dead line.

DeadLine String Descrição do dead line para cancelamento.

PenaltyId Integer Identificador numérico da penalidade aplicada quando um cancelamento é efetuado após o dead line.

Penalty String Descrição da penalidade aplicada quando um cancelamento é efetuado após o dead line. ATENÇÃO: Em caso de no show (se a reserva não for cancelada e o hóspede não comparecer ao hotel), a penalidade aplicada será referente à do deadline mais próximo à data de check in. Ex: Caso o hotel possua os seguintes deadlines com as seguintes penallidades: • 96 HORAS ANTES DO CHECK IN: COBRAR MEIA DIÁRIA + TAXAS

• 72 HORAS ANTES DO CHECK IN: COBRAR UMA DIÁRIA + TAXAS

• 24 HORAS ANTES DO CHECK IN: COBRAR PERÍODO INTEGRAL + TAXAS

A penalidade aplicada em caso de no show será: COBRAR PERÍODO INTEGRAL + TAXAS.

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 42 de 45

Exemplos do GetCancellationPolicies(...) Request 01. O exemplo a seguir exibe uma situação em que a política é bem simples: aceitar cancelamentos até 24 horas antes do check in, e cobrar uma diária + taxas em caso de cancelamento após este prazo ou em caso de no show: <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> 02. Este segundo exemplo demonstra uma situação mista, em que o hotel exigiu garantia irrevogável de no show, cobrando o valor de uma diária + taxas para qualquer cancelamento efetuado imediatamente após a emissão da reserva até 96 horas antes do check in. A partir de 96 horas antes do check in o hotel passará a cobrar o valor do período integral da reserva + taxas. Esta é uma situação comum para períodos em que o hotel está com alta demanda (devido a congressos, eventos, festividades, 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>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 43 de 45

GetCancellationFee(...) Este método retorna a taxa que será cobrada para o cancelamento de uma reserva em uma data específica, considerando as políticas de cancelamento do hotel para o período.

GetCancellationFee(...) Request Além do cabeçalho SOAP com as credenciais para autenticação (descrito na página 8 deste documento), a requisição deste método depende dos parâmetros descritos a seguir:

Parâmetro Tipo de dado Descrição ReservationId Integer Identificador numérico da reserva.

OBS: Caso um identificador de reserva inválido para sua agência seja informado, será retornado um erro. Parâmetro Obrigatório.

CancellationDate Date YYYY-MM-DD

Data em que a reserva seria cancelada, no formato ANO-MÊS-DIA. Ex: 2007-11-15. Caso nenhuma data seja especificada, o sistema considerará a data atual como referência para cálculo da taxa. Parâmetro opcional.

Exemplos de GetCancellationFee(...) Request 01. Informando apenas o número da reserva (implicitamente o sistema considerará a data atual como base para o cálculo): 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. Informando o número da reserva e uma data de referência para o cálculo da taxa: 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> </soap:Body> </soap:Envelope>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 44 de 45

GetCancellationFee(...) Response Este método retorna um documento XML com os seguintes elementos:

Elemento Tipo de dado Descrição CancellationFeeValue Double Valor da taxa de cancelamento a ser cobrada de acordo com os

critérios especificados.

Currency String Código da moeda, com três letras. Ex: BRL = REAL (BRASIL), USD = DOLAR (US).

Exemplos de GetCancellationFee(...) Response 01. O exemplo a seguir exibe o documento XML de retorno, onde está especificado que nenhuma taxa será cobrada para o cancelamento na data especificada. <GetCancellationFeeResult xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <CancellationFeeValue>0</CancellationFeeValue> <Currency>BRL</Currency> </GetCancellationFeeResult> 02. Este segundo exibe o documento XML de retorno, onde está especificado que será cobrada uma taxa de R$ 120,50 para o cancelamento na data especificada. <GetCancellationFeeResult xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <CancellationFeeValue>120.5</CancellationFeeValue> <Currency>BRL</Currency> </GetCancellationFeeResult>

Hotel Services

Copyright © 2003-2007 :: Trend Operadora Página 45 de 45

CancelReservation(...) Este método possibilita o cancelamento de uma reserva a partir de seu identificador numérico (ReservationId). CancelReservation(...) Request Além do cabeçalho SOAP com as credenciais para autenticação (descrito na página 8 deste documento), a requisição deste método depende dos parâmetros descritos a seguir:

Parâmetro Tipo de dado Descrição ReservationId Integer Identificador numérico da reserva a ser cancelada.

Parâmetro Obrigatório.

Exemplo do 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 Este método retorna um documento XML com os seguintes elementos:

Elemento Tipo de dado Descrição Result Boolean Indicado de sucesso ou falha no procedimento.

True = Sucesso False = Falha

CancellationFeeValue Double Valor da taxa de cancelamento a ser cobrada.

Currency String Código da moeda, com três letras. Ex: BRL = REAL (BRASIL), USD = DOLAR (US).

Message String Descrição do resultado do procedimento. Em caso de falha no cancelamento, este campo contém a descrição do motivo.

Exemplo do 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>