TrendWebServicesGuid..

Transcrição

TrendWebServicesGuid..
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
Histórico de Alterações
Data
16/10/2007
10/11/2007
11/11/2007
Versão
0.0
0.1
1.0
Descrição
Criação do documento
Revisão de texto
Revisão técnica
Copyright © 2003-2007 :: Trend Operadora
Autor
Emanoel Lima
Jucelei Kviatkoski
Emanoel Lima
Página 2 de 45
Hotel Services
Í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
Copyright © 2003-2007 :: Trend Operadora
Página 3 de 45
Hotel Services
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
Copyright © 2003-2007 :: Trend Operadora
Página 4 de 45
Hotel Services
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
Emanoel Lima
Cláudio Rodrigues
Júnior Suzuki
Telefone
+55 (011) 3123-8555
+55 (011) 3123-8555
+55 (011) 3123-8555
Copyright © 2003-2007 :: Trend Operadora
Ramal
1088
1039
1162
E-mail + MSN
[email protected]
[email protected]
[email protected]
Página 5 de 45
Hotel Services
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.
Copyright © 2003-2007 :: Trend Operadora
Página 6 de 45
Hotel Services
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.
Copyright © 2003-2007 :: Trend Operadora
Página 7 de 45
Hotel Services
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
Domain
Tipo de dado
String
Descrição
Á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>
Copyright © 2003-2007 :: Trend Operadora
Página 8 de 45
Hotel Services
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>
Copyright © 2003-2007 :: Trend Operadora
Página 9 de 45
Hotel Services
Fluxograma
O esquema a seguir demonstra como funciona o fluxo de troca de mensagens no Web Service da
Trend Operadora:
Copyright © 2003-2007 :: Trend Operadora
Página 10 de 45
Hotel Services
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
Copyright © 2003-2007 :: Trend Operadora
Página 11 de 45
Hotel Services
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
Id
Tipo de dado
Integer
Descrição
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>
Copyright © 2003-2007 :: Trend Operadora
Página 12 de 45
Hotel Services
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
DestinationId
Tipo de dado
Integer
Descrição
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.
Copyright © 2003-2007 :: Trend Operadora
Página 13 de 45
Hotel Services
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.
Copyright © 2003-2007 :: Trend Operadora
Página 14 de 45
Hotel Services
SearchHotel(...) Response
Este método retorna um documento XML baseado no esquema SearchHotelResult.xsd o qual é
descrito a seguir:
Tabela:
Descrição:
RoomRequested
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
Index
Tipo de dado
Integer
Descrição
Í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
Copyright © 2003-2007 :: Trend Operadora
Página 15 de 45
Hotel Services
Tabela:
Descrição:
Hotel
Esta tabela contém a lista dos hotéis que se adequaram aos critérios especificados na
requisição do método.
Campo
HotelId
Tipo de dado
Integer
Descrição
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
Category
Integer
String
Identificador numérico da categoria do hotel.
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.
Copyright © 2003-2007 :: Trend Operadora
Página 16 de 45
Hotel Services
Tabela:
Descrição:
RoomType
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
RoomTypeId
Tipo de dado
Integer
Descrição
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.
BoardBaseId
Integer
Identificador numérico do regime de alimentação incluso na tarifa.
Este campo é chave estrangeira.
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.
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
Ex: SGL, DBL, TPL, QDL, QTL
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.
Copyright © 2003-2007 :: Trend Operadora
Página 17 de 45
Hotel Services
Tabela:
Descrição:
Campo
RoomTypeId
PricesAndAvailability
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.
Tipo de dado
Integer
Descrição
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
Copyright © 2003-2007 :: Trend Operadora
Descrição do tipo de tarifa.
Página 18 de 45
Hotel Services
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>
Copyright © 2003-2007 :: Trend Operadora
Página 19 de 45
Hotel Services
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
HotelIdList
Tipo de dado
Descrição
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.
Copyright © 2003-2007 :: Trend Operadora
Página 20 de 45
Hotel Services
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.
Copyright © 2003-2007 :: Trend Operadora
Página 21 de 45
Hotel Services
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>
Copyright © 2003-2007 :: Trend Operadora
Página 22 de 45
Hotel Services
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
HotelId
Tipo de dado
Integer
Descrição
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>
Copyright © 2003-2007 :: Trend Operadora
Página 23 de 45
Hotel Services
GetHotelDetails(...) Response
Este método retorna um documento XML baseado no esquema HotelDetailsResult.xsd, o qual é
descrito a seguir:
Tabela:
Descrição:
Hotel
Esta tabela contém os dados primários do hotel.
Campo
Tipo de dado
HotelId
Integer
Descrição
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
CategoryId
Integer
Quantidade de apartamentos que o hotel contém.
Identificador numérico da categoria do hotel.
Category
String
Descrição da categoria.
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.
Ex. FLAT, TRÊS ESTRELAS, CINCO ESTRELAS
Copyright © 2003-2007 :: Trend Operadora
Página 24 de 45
Hotel Services
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:
Descrição:
Image
Esta tabela contém uma lista com as imagens do hotel.
Campo
Tipo de dado
HotelId
Integer
Descrição
Thumb
String
Name
String
Nome da imagem.
Description
String
Descrição da imagem.
Identificador numérico do hotel.
Este campo é chave estrangeira.
Tabela:
Descrição:
Nome do arquivo de imagem, sem URL
Amenity
Esta tabela contém uma lista com as instalações públicas e conveniências oferecidas pelo hotel.
Campo
Tipo de dado
HotelId
Integer
Descrição
Identificador numérico do hotel.
Este campo é chave estrangeira.
Name
Tabela:
Descrição:
String
Nome da instalação / conveniência.
Facility
Esta tabela contém uma lista com as facilidades oferecidas pelos apartamentos do hotel.
Campo
Tipo de dado
HotelId
Integer
Descrição
Identificador numérico do hotel.
Este campo é chave estrangeira.
Name
String
Copyright © 2003-2007 :: Trend Operadora
Nome da facilidade.
Página 25 de 45
Hotel Services
Tabela:
Descrição:
RoomType
Esta tabela contém a lista dos tipos de quarto oferecidos pelo hotel.
Campo
Tipo de dado
RoomTypeId
Integer
Descrição
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
AccomodationTypeId
Integer
Nome do tipo de quarto.
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
Tabela:
Descrição:
String
Descrição do regime de alimentação incluso nas tarifas do tipo de
quarto.
PaymentModes
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.
HotelId
Integer
Identificador numérico do hotel.
Este campo é chave primária.
Este campo é chave estrangeira.
Name
Tabela:
Descrição:
String
Nome da forma de pagamento.
InterestPoints
Esta tabela contém uma lista com os pontos de interesse próximos ao hotel.
Campo
Tipo de dado
HotelId
Integer
Descrição
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
Copyright © 2003-2007 :: Trend Operadora
Página 26 de 45
Hotel Services
Tabela:
InterestPoints (continuação)
Campo
Tipo de dado
Distance
Double
Distância do hotel ao ponto de interesse.
Descrição
DistanceUnit
String
Unidade de medida da distância.
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.
Ex: METROS, KILOMETROS, MINUTOS
Tabela:
Descrição:
Policies
Esta tabela contém os dados referentes às políticas operacionais do hotel.
Campo
HotelId
Tipo de dado
Integer
Descrição
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).
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).
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.
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:
EarlyCheckInPenaltyId
LateCheckOutPenaltyId
NoShowPenaltyId
0 = ANTES DO CHECK IN
1 = APÓS A EMISSÃO DA RESERVA
CancellationDeadLineHours
CancellationDeadLine
CancellationAfterDeadLinePenaltyId
CancellationAfterDeadLinePenalty
Copyright © 2003-2007 :: Trend Operadora
Integer
String
Quantidade de horas que compõem o dead line.
Descrição do dead line para cancelamento.
Integer
Identificador numérico da penalidade aplicada
quando um cancelamento é efetuado após o
dead line.
String
Descrição da penalidade aplicada quando um
cancelamento é efetuado após o dead line.
Página 27 de 45
Hotel Services
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="" />
...
Copyright © 2003-2007 :: Trend Operadora
Página 28 de 45
Hotel Services
<InterestPoints HotelId="100018" Name="NEVERLAND TRADE CENTER" Type="CENTRO EMPRESARIAL"
Distance="20" DistanceUnit="Minuto(s)" Latitude="" Longitude="" LbsId="" />
<InterestPoints HotelId="100018" Name="NEVERLAND SHOPPING" Type="SHOPPING CENTER"
Distance="15" DistanceUnit="Minuto(s)" Latitude="" Longitude="" LbsId="" />
<Policies HotelId="100018">
<CheckInHour>13:00</CheckInHour>
<EarlyCheckInPenaltyId>1</EarlyCheckInPenaltyId>
<EarlyCheckInPenalty>SERÁ COBRADO O VALOR DE UMA DIARIA</EarlyCheckInPenalty>
<CheckOutHour>12:00</CheckOutHour>
<LateCheckOutPenaltyId>1</LateCheckOutPenaltyId>
<LateCheckOutPenalty>SERÁ COBRADO O VALOR DE UMA DIARIA</LateCheckOutPenalty>
<Childs>UMA CRIANÇA DE ATÉ 6 ANOS POR APTO. SERÁ CORTESIA.</Childs>
<Pets />
<NoShowPenaltyId>90</NoShowPenaltyId>
<NoShowPenalty>SERÁ COBRADO O VALOR DO PERÍODO INTEGRAL + TAXAS</NoShowPenalty>
<CancellationDeadLineType>0</CancellationDeadLineType>
<CancellationDeadLineHours>96</CancellationDeadLineHours>
<CancellationDeadLine>96 HORAS ANTES DO CHECK IN.</CancellationDeadLine>
<CancellationAfterDeadLinePenaltyId>90</CancellationAfterDeadLinePenaltyId>
<CancellationAfterDeadLinePenalty>
SERÁ COBRADO O VALOR DO PERÍODO INTEGRAL + TAXAS
</CancellationAfterDeadLinePenalty>
</Policies>
</Hotel>
</HotelDetailsResult>
Copyright © 2003-2007 :: Trend Operadora
Página 29 de 45
Hotel Services
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
RGID
Tipo de dado
Integer
Descrição
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 ANOMÊ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 ANOMÊ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.
Copyright © 2003-2007 :: Trend Operadora
Página 30 de 45
Hotel Services
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.
Copyright © 2003-2007 :: Trend Operadora
Página 31 de 45
Hotel Services
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>
Copyright © 2003-2007 :: Trend Operadora
Página 32 de 45
Hotel Services
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.
Copyright © 2003-2007 :: Trend Operadora
Página 33 de 45
Hotel Services
BookHotel(...) Response
Este método retorna um documento XML baseado no esquema BookHotelResult.xsd, o qual é
descrito a seguir:
Tabela:
Descrição:
ReservationGroup
Esta tabela contém os dados primários do agrupamento de reservas.
Campo
RGID
Tipo de dado
Integer
Descrição
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.
Copyright © 2003-2007 :: Trend Operadora
Página 34 de 45
Hotel Services
Tabela:
Descrição:
Campo
ProcessId
OnRequestProcess
Esta tabela contém a lista dos processos que não foram confirmados on line e entraram em
lista de espera.
Tipo de dado
Integer
Descrição
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
ReservationId
String
Integer
Descrição do tipo de processo: RESERVA, ALTERAÇÃO ou
CANCELAMENTO.
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.
String
Descrição do regime de alimentação.
BoardBase
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.
Copyright © 2003-2007 :: Trend Operadora
Página 35 de 45
Hotel Services
Tabela:
Descrição:
Campo
ReservationId
Reservation
Esta tabela contém a lista das reservas confirmadas de acordo com o agrupamento
especificado.
Tipo de dado
Integer
Descrição
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.
String
Descrição do regime de alimentação.
BoardBase
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:
Descrição:
Campo
ReservationId
InportantNotes
Esta tabela contém uma lista de observações importantes para cada reserva.
Tipo de dado
Integer
Descrição
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.
Copyright © 2003-2007 :: Trend Operadora
Página 36 de 45
Hotel Services
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:0003:00" Currency="BRL" Price="483" PriceNet="434.7" Tax="15" PaymentMode="FATURAR DIÁRIAS"
PaxName="ADRIANA LEMOS" numOfAdults="2" numOfChildren="0" Status="CONFIRMADA">
<ImportantNotes ReservationId="7123863"
Note="PRAZO PARA ALTERAÇÕES E CANCELAMENTO: 96 HORAS ANTES DO CHECK IN." />
<ImportantNotes ReservationId="7123863"
Note="APÓS ESTE PRAZO PODERÁ SER COBRADO NOSHOW." />
<ImportantNotes ReservationId="7123863"
Note="POLÍTICA PARA NOSHOW: SERÁ COBRADO O VALOR DO PERÍODO INTEGRAL + TAXAS" />
<ImportantNotes ReservationId="7123863" Note="HORÁRIO DE CHECK IN: A PARTIR DE 13:00" />
<ImportantNotes ReservationId="7123863"
Note="POLÍTICA PARA EARLY CHECK IN: SERÁ COBRADO O VALOR DE UMA DIARIA" />
<ImportantNotes ReservationId="7123863" Note="HORÁRIO DE CHECK OUT: ATÉ 12:00" />
<ImportantNotes ReservationId="7123863"
Note="POLÍTICA PARA LATE CHECK OUT: SERÁ COBRADO O VALOR DE UMA DIARIA" />
<ImportantNotes ReservationId="7123863"
Note="POLÍTICA PARA CHD: UMA CRIANÇA DE ATÉ 6 ANOS POR APTO. SERÁ CORTESIA." />
</Reservation>
<Reservation ReservationId="7123862" RGID="10040" HotelId="100018"
HotelName="TESTE PLAZA (HOTEL P/ TREINAMENTO DE EMISSORES)" HotelCategory="UMA ESTRELA"
HotelAddress="TERRA DO NUNCA, S/N, NEVERLAND" HotelLocation="SAO PAULO, SP, BRASIL"
HotelPhone="+55 (011) 3123-8555" RoomType="TPL - SUP" BedType=" " BoardBase="NÃO INCLUI"
CheckIn="2007-12-13T00:00:00-03:00" CheckOut="2007-12-16T00:00:00-03:00" Currency="BRL"
Price="552" PriceNet="496.8" Tax="15" PaymentMode="FATURADO DIÁRIAS"
PaxName="LUIS CARLOS MAGALHÃES" numOfAdults="2" numOfChildren="2" Status="CONFIRMADA">
<ImportantNotes ReservationId="7123862"
Note="PRAZO PARA ALTERAÇÕES E CANCELAMENTO: 96 HORAS ANTES DO CHECK IN." />
<ImportantNotes ReservationId="7123862"
Note="APÓS ESTE PRAZO PODERÁ SER COBRADO NOSHOW." />
<ImportantNotes ReservationId="7123862"
Note="POLÍTICA PARA NOSHOW: SERÁ COBRADO O VALOR DO PERÍODO INTEGRAL + TAXAS" />
<ImportantNotes ReservationId="7123862" Note="HORÁRIO DE CHECK IN: A PARTIR DE 13:00" />
<ImportantNotes ReservationId="7123862"
Note="POLÍTICA PARA EARLY CHECK IN: SERÁ COBRADO O VALOR DE UMA DIARIA" />
<ImportantNotes ReservationId="7123862" Note="HORÁRIO DE CHECK OUT: ATÉ 12:00" />
<ImportantNotes ReservationId="7123862"
Note="POLÍTICA PARA LATE CHECK OUT: SERÁ COBRADO O VALOR DE UMA DIARIA" />
<ImportantNotes ReservationId="7123862"
Note="POLÍTICA PARA CHD: UMA CRIANÇA DE ATÉ 6 ANOS POR APTO. SERÁ CORTESIA." />
</Reservation>
</ReservationGroup>
</BookHotelResult>
Copyright © 2003-2007 :: Trend Operadora
Página 37 de 45
Hotel Services
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
RGID
Tipo de dado
Integer
Descrição
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.
Copyright © 2003-2007 :: Trend Operadora
Página 38 de 45
Hotel Services
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>
Copyright © 2003-2007 :: Trend Operadora
Página 39 de 45
Hotel Services
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
ReservationId
Tipo de dado
Integer
Descrição
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
HotelId
Tipo de dado
Integer
Descrição
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>
Copyright © 2003-2007 :: Trend Operadora
Página 40 de 45
Hotel Services
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:
Descrição:
CancellationPolicy
Campo
Tipo de dado
DeadLineType
Short
Esta tabela contém a relação de deadlines para cancelamento e as respectivas penalidades
aplicadas quando o cancelamento ocorre após cada prazo.
Descrição
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
PenaltyId
Integer
Identificador numérico da penalidade aplicada quando um cancelamento é
efetuado após o dead line.
String
Descrição da penalidade aplicada quando um cancelamento é efetuado
após o dead line.
Penalty
Descrição do dead line para cancelamento.
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.
Copyright © 2003-2007 :: Trend Operadora
Página 41 de 45
Hotel Services
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>
Copyright © 2003-2007 :: Trend Operadora
Página 42 de 45
Hotel Services
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
ReservationId
Tipo de dado
Integer
Descrição
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>
Copyright © 2003-2007 :: Trend Operadora
Página 43 de 45
Hotel Services
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>
Copyright © 2003-2007 :: Trend Operadora
Página 44 de 45
Hotel Services
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
ReservationId
Integer
Descrição
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
Result
Tipo de dado
Boolean
Descrição
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>
Copyright © 2003-2007 :: Trend Operadora
Página 45 de 45