A documentação e orientações técnicas descritas a seguir tem o objetivo de comunicação com os produtos TOTVS Hospitalidade PMS - Linha Hotal (VHF). Essa integração foi desenvolvida pela TOTVS Hospitalidade visando atender uma necessidade identificada, atuando como como facilitador de integrações entre sistemas utilizados por nossos clientes e que não se adequem aos padrões já utilizados pelas soluções HIGS e CMNET Reservas.
O acesso as informações e operações relacionadas a reservas e hospedagens, são feitas através de endpoints específicos.
Em decorrência do avanço da utilização do ambiente em cloud, as integrações e consumo de dados que eram realizadas através de views no SGBD, não atende a acessibilidade imediata das informações. Com isso a necessidade da evolução da disponibilização dos dados através de API.
| Execute o instalador baixado na sua maquina. Clique no boão avançar na tela que é mostrada. |
|---|---|
| Nessa nova tela, clique em instalar. Neste momento o instalador esta iniciando o processo de instalação do xamp, isso pode levar alguns minutos. |
| Nessa tela são os parametros para acesso ao banco de dados do cliente.
Path : Caminho onde esta instalado o apache do xamp. (não deve ser alterada)Porta da API : Porta da API. (não deve ser alterada)Nome da API : Nome do serviço de API do Front. (não deve ser alterada)Api SecretKey : Não deve ser preenchido.
Schema : Eschema do banco do clienteAlias : Alias do banco do clienteUsuário do Banco : Usuário de acesso ao banco.Senha do Banco : Senha do usuário do banco.
ID Parametro : Usado para o Timesahring API. (não deve ser preenchido).ID Hotel : ID do Hotel na base do cliente.ID Empresa : ID da empresa na base do cliente.ID Usuaério : ID do usuário do sistema.Tipo de Ambiente : Informa o tipo de ambiente, no cliente pode ser colocado produção.Clique no botão (Salvar Configurações) |
| Neste momento o serviço do xamp já foi instalado, os aquivos necessários para funcionar a API já esta configurada, clique em concluir para fechar a tela de instalação. |
Integram Com Essa API 1- Bebook 2- Voa 3- Upcash |
No caso de clientes que possuam serviço de terceiros (FTC Cloud da Faitec, por ex.), a configuração do XAMPP deverá ser realizada pelo terceiro, que retornará a informação do ip público (externo) e porta, para que seja informado ao parceiro da integração junto com o Client ID, Client Secret e o id do Hotel.
Para consultar os requisitos mínimos de hardware recomendados para o servidor de aplicação, clique aqui e acesse o tópico "Configuração recomendada para servidor de aplicações".
Para que seja consumido os dados dos EndPoints da API - FRONTOFFICEAPI, necessita de liberação do ClienteID e ClienteSecret. A liberação será realizar pela equipe de Plugin mediante a contratação comercial.
A API - FRONTOFFICEEAPI possui os EndPoints conforme documentação do Swagger no link abaixo:
Swagger: http://IP:Porta/frontofficeapi/v1/swagger/doc/html#/
Exemplo de Swagger: http://129.151.33.247:89/frontofficeapi/v1/swagger/doc/html#/
| Após instalação localize no iniciar do windows o atalho para abrir o programa xamp. |
|---|---|
| Após iniciar o aplicativo será mostrado a tela ao lado, clique no botão start para que o serviço fique habilitado para o uso. |
| Desta forna o serviço já esta disponivel para ser utilizado, feche a tela. |
Abaixo os Métodos disponíveis nos EndPoints da API.
Authenticate: POST - http://localhost:porta/frontofficeapi/v1/authenticateHotel: GET – http://localhost:porta/frontofficeapi/v1/hotelOrigem Reserva: GET – http://localhost:porta/frontofficeapi/v1/origemReservaReserva Grupo : GET – http://localhost:porta/frontofficeapi/v1/reservaGrupo/?dataEntada=10/11/2021&idHotel=1Cliente Reservante: GET – http://localhost:porta/frontofficeapi/v1/clienteReservante/?idHotel=1Inventário: GET – http://localhost:porta/frontofficeapi/v1/inventario/?idHotel=1&dataIni=01/04/2022&dataFim=10/08/2022Hospedagem: GET – http://localhost:porta/frontofficeapi/v1/hospedagem?idHotel=1&dataIni=01/04/2022&dataFim=31/12/2022UH: GET – http://localhost:porta/frontofficeapi/v1/UH/?idHotel=3&tipo=9Tipo UH: GET – http://localhost:porta/frontofficeapi/v1/tipoUH/?idHotel=1 |
Descrição: Inserir Authenticate
{
"clientId": "38629890-9CF8-46B0-ACF8-03AD46A3DCC8",
"clientSecret": "276d56d0-77ad-11f0-8962-113d4e2eef4e",
"app": "FRONTOFFICEAPI"
}
Código | Response |
201 | OK |
400 | Bad Request |
/frontofficeapi/v1/clienteReservante
Descrição: Listar cliente reservante
Parâmetros
Nome | Tipo | Obrigatório | Descrição |
idHotel | integer | Sim | Identificador do hotel |
status | string | Não | Status |
dataPassandoInicio | string | Não | Data passando inicial |
dataPassandoFim | string | Não | Data passando final |
dataChegadaInicio | string | Não | Data chegada inicial |
dataChegadaFim | string | Não | Data chegada final |
dataPartidaInicio | string | Não | Data partida inicial |
dataPartidaFim | string | Não | Data partida final |
page | string | Não | Número da página. Para utilizar esse recurso adicionar a tag (X-Paginate=true) no Header da requisição. |
limit | string | Não | Quantidade de registros por página |
Respostas
Código | Descrição |
200 | OK |
/frontofficeapi/v1/disponibilidade
Descrição: Listar Disponibilidade
Nome | Tipo | Obrigatório | Descrição |
idHotel | integer | Sim | Identificador do hotel |
dataIni | string | Sim | Data inicial - padrão dd-mm-yyyy |
dataFim | string | Sim | Data final - padrão dd-mm-yyyy |
tipouh | string | Sim | Tipo UH |
idContrato | integer | Não | Identificador do contrato do cliente |
idAgrupadorUh | string | Não | Identificador do Agrupador de Uhs |
codAgrupadorUH | string | Não | Código do Agrupador de Uhs |
page | string | Não | Número da página. Para utilizar esse recurso adicionar a tag (X-Paginate=true) no Header da requisição. |
limit | string | Não | Quantidade de registros por página |
Código | Descrição |
200 | OK |
/frontofficeapi/v1/hospedagem
Descrição: Listar Hospedagem
Nome | Tipo | Obrigatório | Descrição |
idHotel | integer | Sim | Identificador do hotel |
dataIni | string | Sim | Data inicial |
dataFim | string | Sim | Data Final |
cancelada | integer | Não | Para incluir reservas canceladas na resposta, utilize o valor 6 |
gratuidade | integer | Não | Para incluir reservas gratuitas na resposta, utilize o valor 1 |
page | string | Não | Número da página. Para utilizar esse recurso adicionar a tag (X-Paginate=true) no Header da requisição. |
limit | string | Não | Quantidade de registros por página |
Código | Descrição |
200 | OK |
/frontofficeapi/v1/hospede
Descrição: Listar Hospede
Nome | Tipo | Obrigatório | Descrição |
idHospede | integer | Sim | Identificador do hospede |
page | string | Não | Número da página. Para utilizar esse recurso adicionar a tag (X-Paginate=true) no Header da requisição. |
limit | string | Não | Quantidade de registros por página |
Código | Descrição |
200 | OK |
/frontofficeapi/v1/hotel
Descrição: Listar hotel
Nome | Tipo | Obrigatório | Descrição |
idHotel | integer | Não | Identificador do hotel |
nome | string | Não | Nome do hotel |
Código | Descrição |
200 | OK |
/frontofficeapi/v1/inventario
Descrição: Listar Inventario
Nome | Tipo | Obrigatório | Descrição |
idHotel | integer | Sim | Identificador do hotel |
dataIni | string | Sim | Data inicial - padrão dd-mm-yyyy |
dataFim | string | Sim | Data final - padrão dd-mm-yyyy |
tipouh | string | Sim | Tipo UH |
idContrato | integer | Não | Identificador do contrato do cliente |
page | string | Não | Número da página. Para utilizar esse recurso adicionar a tag (X-Paginate=true) no Header da requisição. |
limit | string | Não | Quantidade de registros por página |
Código | Descrição |
200 | OK |
/frontofficeapi/v1/origemReserva
Descrição: Listar Origem Reserva
Código | Descrição |
200 | OK |
/frontofficeapi/v1/reserva/{numReserva}
Descrição: Cancelar Reserva
Nome | Tipo | Obrigatório | Descrição |
numReserva | integer | Sim | Número da reserva |
Código | Descrição |
201 | Created |
204 | No Content |
404 | Not Found |
/frontofficeapi/v1/reserva
Descrição: Listar Reserva
Nome | Tipo | Obrigatório | Descrição |
idhotel | string | Não | Identificador do hotel |
numreserva | string | Não | Numero da reserva |
numdocumento | string | Não | Documento do cliente |
page | integer | Não | Número da página |
pageSize | integer | Não | Quantidade de registros por página |
Código | Descrição |
200 | OK |
204 | No Content |
/frontofficeapi/v1/reserva
Descrição: Inserir Reserva
Nome | Tipo | Obrigatório | Descrição |
dados |
| Sim |
|
Código | Descrição |
201 | Created |
400 | Bad Request |
/frontofficeapi/v1//reservaGrupo
Descrição: Listar reserva de grupo
Nome | Tipo | Obrigatório | Descrição |
idHotel | integer | Sim | Identificador do hotel |
dataEntrada | string | Sim | Data da entrada |
dataSaida | string | Sim | Data da saída |
page | string | Não | Número da página. Para utilizar esse recurso adicionar a tag (X-Paginate=true) no Header da requisição. |
limit | string | Não | Quantidade de registros por página |
Código | Descrição |
200 | OK |
/frontofficeapi/v1/Segmento
Descrição: Listar Segmento
Nome | Tipo | Obrigatório | Descrição |
IdHotel | string | Não | Hotel |
CodSegmento | integer | Não | Identificador do Segmento |
Código | Descrição |
200 | OK |
/frontofficeapi/v1/tipoUH
Descrição: Listar TipoUH
Nome | Tipo | Obrigatório | Descrição |
idHotel | integer | Sim | Identificador do hotel |
IdTipoUh | integer | Não | Identificador do tipo de UH |
Código | Descrição |
200 | OK |
/frontofficeapi/v1/UH
Descrição: Listar UH
Nome | Tipo | Obrigatório | Descrição |
idHotel | integer | Sim | Identificador do hotel |
tipo | string | Não | Tipo da UH |
grupo | string | Não | Grupo da UH |
Código | Descrição |
200 | OK |
/frontofficeapi/v1/agrupadorUh/codReduzido
Descrição: Buscar agrupador de Uh
Nome | Tipo | Obrigatório | Descrição |
idHotel | integer | Sim | Identificador do hotel |
idAgrupadorUh | integer | Não | Identificador do agrupador de uh |
codReduzido | string | Não | Código reduzido |
Código | Descrição |
200 | OK |
404 | Not Found |