Referência
Hospedarias e hotéis
A propriedade, os tipos de quarto e os quartos, os planos tarifários com tarifas por dia e restrições de venda, as reservas com depósito e prazo, a recepção (chegadas, partidas, check-in e check-out), o folio e a sua facturação, o housekeeping, a manutenção, os bloqueios de quartos, o night audit e os indicadores hoteleiros. A facturação do folio emite um documento fiscal do núcleo, pelo fluxo de sempre. As fichas dos hóspedes e os seus ocupantes estão na área «Hóspedes».
A propriedade, os tipos de quarto e os quartos, os planos tarifários com tarifas por dia e restrições de venda, as reservas com depósito e prazo, a recepção (chegadas, partidas, check-in e check-out), o folio e a sua facturação, o housekeeping, a manutenção, os bloqueios de quartos, o night audit e os indicadores hoteleiros. A facturação do folio emite um documento fiscal do núcleo, pelo fluxo de sempre. As fichas dos hóspedes e os seus ocupantes estão na área «Hóspedes».
| Operação | O que faz |
|---|---|
GET /api/hospedagem/propriedades | As propriedades da empresa, com as horas de check-in e check-out, o prazo do depósito, a hora do night audit, a data do hotel e os créditos de limpeza. |
POST /api/hospedagem/propriedades | Cria uma propriedade. |
PUT /api/hospedagem/propriedades/{id} | Altera uma propriedade. |
GET /api/hospedagem/tipos-de-quarto | Os tipos de quarto, com a lotação e o artigo de alojamento. |
POST /api/hospedagem/tipos-de-quarto | Cria um tipo de quarto. |
PUT /api/hospedagem/tipos-de-quarto/{id} | Altera um tipo de quarto. |
GET /api/hospedagem/quartos | Os quartos, com o tipo e o estado. |
POST /api/hospedagem/quartos | Cria um quarto de um tipo. |
PUT /api/hospedagem/quartos/{id} | Altera um quarto. |
GET /api/hospedagem/planos | Os planos tarifários (o que a tarifa inclui, a política de cancelamento e a garantia exigida). |
POST /api/hospedagem/planos | Cria um plano tarifário. |
PUT /api/hospedagem/planos/{id} | Altera um plano tarifário. |
GET /api/hospedagem/tarifas | As tarifas de um plano num intervalo de datas. |
PUT /api/hospedagem/tarifas/base | Define o preço base de um tipo de quarto num plano. |
PUT /api/hospedagem/tarifas/dias | Define o preço de uma noite (sem IVA) num intervalo de datas, para um tipo (ou todos os activos), opcionalmente só em certos dias da semana (0 = domingo). |
POST /api/hospedagem/tarifas/dias/remover | Tira o preço especial de um intervalo: os dias voltam ao preço base do plano. |
GET /api/hospedagem/restricoes | As restrições de venda (estadia mínima e máxima, fechado a chegadas, a partidas ou à venda). |
POST /api/hospedagem/restricoes | Cria uma restrição de venda num intervalo de datas, para um plano e/ou um tipo de quarto. |
PUT /api/hospedagem/restricoes/{id} | Altera uma restrição de venda. |
DELETE /api/hospedagem/restricoes/{id} | Remove uma restrição de venda. |
GET /api/hospedagem/extras | Os extras do catálogo (consumos e serviços lançáveis no folio). |
POST /api/hospedagem/extras | Cria um extra, ligado a um artigo do catálogo. |
PUT /api/hospedagem/extras/{id} | Altera um extra. |
GET /api/hospedagem/taxas | As taxas de alojamento configuradas pela propriedade. |
POST /api/hospedagem/taxas | Cria uma taxa de alojamento, ligada a um artigo. |
PUT /api/hospedagem/taxas/{id} | Altera uma taxa de alojamento. |
GET /api/hospedagem/calendario | O calendário da propriedade num intervalo de datas, por tipo de quarto. |
GET /api/hospedagem/orcamento | O orçamento de uma estadia antes de a vender: há vaga em todas as noites, que restrições a impedem, o preço de cada noite, o total e o IVA e o total com IVA. |
GET /api/hospedagem/reservas | A lista de reservas de uma propriedade, por data de chegada. |
POST /api/hospedagem/reservas | Cria uma reserva. |
GET /api/hospedagem/chegadas | As chegadas de um dia (por omissão, a data do hotel): reservas pedidas ou confirmadas que chegam, por hora prevista. |
GET /api/hospedagem/partidas | As partidas de um dia (por omissão, a data do hotel): hóspedes em casa cuja partida é nesse dia. |
GET /api/hospedagem/em-casa | Os hóspedes em casa agora. |
GET /api/hospedagem/mapa | O mapa de quartos: cada quarto com o estado de limpeza, quem lá está (ou chega ou parte hoje) e o motivo de estar fora de serviço. |
POST /api/hospedagem/reservas/{id}/confirmar | Confirma uma reserva pedida, com a garantia indicada. |
POST /api/hospedagem/reservas/{id}/cancelar | Cancela uma reserva, com motivo. |
PUT /api/hospedagem/reservas/{id}/dados | Altera os dados de uma reserva: a empresa, o plano, o segmento, a hora prevista de chegada, as notas, os pedidos especiais, o VIP e as rotas de facturação. |
POST /api/hospedagem/reservas/{id}/estadias | Acrescenta um troço (estadia) a uma reserva. |
PUT /api/hospedagem/reservas/{id}/estadias/{estadiaId} | Altera um troço de uma reserva pedida ou confirmada (datas, tipo, ocupantes, quarto). |
DELETE /api/hospedagem/reservas/{id}/estadias/{estadiaId} | Retira um troço de uma reserva. |
PUT /api/hospedagem/reservas/{id}/estadias/{estadiaId}/quarto | Atribui (ou muda) o quarto físico de um troço, sempre do mesmo tipo. |
POST /api/hospedagem/reservas/{id}/depositos/pedir | Pede um depósito por referência à reserva. |
POST /api/hospedagem/reservas/{id}/depositos/registar | Regista um depósito já recebido (dinheiro, TPA, transferência confirmada). |
POST /api/hospedagem/depositos/{id}/pago | Marca um depósito pedido como pago, com o método de pagamento e a referência. |
POST /api/hospedagem/depositos/{id}/devolver | Devolve um depósito pago (por exemplo, um cancelamento sem penalização). |
POST /api/hospedagem/reservas/{id}/check-in | O hóspede chegou: atribui os quartos que faltam (do tipo reservado, limpos e sem avaria), muda a reserva para «em casa» e abre o folio com a rota e o limite de crédito. |
POST /api/hospedagem/reservas/{id}/pre-check-in | Regista que o hóspede já tratou do pré-check-in (dados e documento entregues antes de chegar): à chegada só se atribui o quarto e se assina. |
POST /api/hospedagem/reservas/{id}/check-out | O hóspede saiu: lança as noites que faltam, liberta as noites seguintes (saída antecipada), deixa o quarto sujo com a limpeza de partida no plano e fecha o folio se nada falta facturar. |
POST /api/hospedagem/reservas/{id}/estadias/{estadiaId}/estender | Estende a estadia de um hóspede em casa até uma nova partida. |
POST /api/hospedagem/reservas/{id}/estadias/{estadiaId}/trocar-quarto | Troca de quarto de um hóspede em casa (avaria, pedido, upgrade). |
GET /api/hospedagem/reservas/{id}/folio | O folio de uma reserva: os lançamentos, as janelas de facturação, as facturações e os depósitos pagos. |
POST /api/hospedagem/reservas/{id}/folio/lancamentos | Lança um consumo ou um extra no folio: de um extra do catálogo (a quantidade sai da regra do extra) ou de um artigo à escolha. |
POST /api/hospedagem/reservas/{id}/folio/taxas | Aplica ao folio as taxas de alojamento configuradas pela propriedade, calculadas pelas suas bases. |
POST /api/hospedagem/reservas/{id}/folio/lancamentos/{lancamentoId}/estornar | Corrige o folio estornando (total ou em parte) um lançamento, com motivo. |
PUT /api/hospedagem/reservas/{id}/folio/limite | Define o limite de crédito do folio (o que o hóspede pode dever, sem IVA, antes de a recepção ser avisada). |
GET /api/hospedagem/reservas/{id}/folio/facturacao | O que se facturaria agora numa janela do folio: o total com IVA que o núcleo emitiria, os depósitos que se abateriam e se pode facturar. |
POST /api/hospedagem/reservas/{id}/folio/facturar | Factura uma janela do folio: um documento pelo comando do «Novo documento». |
GET /api/hospedagem/housekeeping/plano | O plano de limpezas do dia. |
POST /api/hospedagem/housekeeping/plano/gerar | Gera o plano do dia a partir das reservas (partidas, estadias, preparações) e ordena-o: quem chega manda. |
POST /api/hospedagem/housekeeping/plano/distribuir | Reparte as limpezas por fazer do dia pelas camareiras escolhidas: sempre para a que tem menos créditos. |
PUT /api/hospedagem/housekeeping/tarefas/{id}/camareira | Atribui uma limpeza a uma camareira (ou retira a atribuição). |
POST /api/hospedagem/housekeeping/tarefas/{id}/iniciar | Inicia uma limpeza. |
POST /api/hospedagem/housekeeping/tarefas/{id}/concluir | Conclui uma limpeza. |
POST /api/hospedagem/housekeeping/tarefas/{id}/nao-incomodar | O hóspede pediu para não ser incomodado: a limpeza fica adiada e o quarto marcado, até a camareira voltar a tentar. |
POST /api/hospedagem/housekeeping/tarefas/{id}/inspeccionar | A governanta aprova (o quarto fica inspeccionado e pronto a vender) ou reprova com motivo (o quarto volta a sujo e a camareira refaz). |
POST /api/hospedagem/housekeeping/minibar | Lança o consumo do minibar de um quarto ao folio do hóspede que lá está. |
GET /api/hospedagem/manutencao/tickets | Os pedidos de manutenção. |
POST /api/hospedagem/manutencao/tickets | Abre um pedido de manutenção (por exemplo, uma avaria vista pela camareira). |
PUT /api/hospedagem/manutencao/tickets/{id}/tecnico | Atribui um pedido de manutenção a um técnico (ou retira a atribuição). |
POST /api/hospedagem/manutencao/tickets/{id}/iniciar | Inicia um pedido de manutenção. |
POST /api/hospedagem/manutencao/tickets/{id}/resolver | Resolve o pedido, dizendo o que se fez. |
POST /api/hospedagem/manutencao/tickets/{id}/cancelar | Cancela um pedido de manutenção, com motivo. |
PUT /api/hospedagem/manutencao/tickets/{id}/prioridade | Muda a prioridade de um pedido de manutenção. |
GET /api/hospedagem/bloqueios | Os bloqueios de quartos (fora de serviço ou fora de venda). |
POST /api/hospedagem/bloqueios | Tira um quarto da venda entre duas datas. |
POST /api/hospedagem/bloqueios/{id}/encerrar | Encerra um bloqueio: o quarto volta a vender a partir de hoje (ou do primeiro dia do bloqueio, se ainda não começou). |
GET /api/hospedagem/night-audit | O estado do night audit: a data do hotel, se o fecho do dia é devido e os últimos fechos. |
POST /api/hospedagem/night-audit/fechar | Fecha o dia da data do hotel à mão (o gerente). |
GET /api/hospedagem/indicadores | Os indicadores hoteleiros de um período: ocupação, ADR, RevPAR e TRevPAR, mais o movimento (reservas, cancelamentos, no-shows, chegadas, partidas). |
/api/hospedagem/propriedades#As propriedades da empresa, com as horas de check-in e check-out, o prazo do depósito, a hora do night audit, a data do hotel e os créditos de limpeza.
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/propriedades' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/propriedades#Cria uma propriedade.
nome, horaDeCheckIn, horaDeCheckOut, prazoDoDepositoHoras e horaDoNightAudit são os campos de funcionamento; perfis indica o tipo de alojamento e creditoDaPartida, creditoDaEstadia e creditoDaPreparacao os créditos de limpeza. lojaId liga-a a um estabelecimento.
Corpo do pedido (JSON · GuardarPropriedadeCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
lojaId | identificador (UUID) ou nulo | O estabelecimento. | |
nome | texto | sim | O nome. |
categoria | texto ou nulo | ||
morada | texto ou nulo | ||
telefone | texto ou nulo | O telefone. | |
email | texto ou nulo | O endereço de e-mail. | |
perfis | lista de texto ou nulo | ||
horaDeCheckIn | texto | sim | |
horaDeCheckOut | texto | sim | |
prazoDoDepositoHoras | número inteiro | sim | |
horaDoNightAudit | texto | sim | |
creditoDaPartida | número | sim | |
creditoDaEstadia | número | sim | |
creditoDaPreparacao | número | sim | |
activa | verdadeiro/falso | sim |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/propriedades' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto",
"horaDeCheckIn": "texto",
"horaDeCheckOut": "texto",
"prazoDoDepositoHoras": 1,
"horaDoNightAudit": "texto",
"creditoDaPartida": 0,
"creditoDaEstadia": 0,
"creditoDaPreparacao": 0,
"activa": false
}'
/api/hospedagem/propriedades/{id}#Altera uma propriedade.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · GuardarPropriedadeCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
lojaId | identificador (UUID) ou nulo | O estabelecimento. | |
nome | texto | sim | O nome. |
categoria | texto ou nulo | ||
morada | texto ou nulo | ||
telefone | texto ou nulo | O telefone. | |
email | texto ou nulo | O endereço de e-mail. | |
perfis | lista de texto ou nulo | ||
horaDeCheckIn | texto | sim | |
horaDeCheckOut | texto | sim | |
prazoDoDepositoHoras | número inteiro | sim | |
horaDoNightAudit | texto | sim | |
creditoDaPartida | número | sim | |
creditoDaEstadia | número | sim | |
creditoDaPreparacao | número | sim | |
activa | verdadeiro/falso | sim |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/propriedades/<id>' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto",
"horaDeCheckIn": "texto",
"horaDeCheckOut": "texto",
"prazoDoDepositoHoras": 1,
"horaDoNightAudit": "texto",
"creditoDaPartida": 0,
"creditoDaEstadia": 0,
"creditoDaPreparacao": 0,
"activa": false
}'
/api/hospedagem/tipos-de-quarto#Os tipos de quarto, com a lotação e o artigo de alojamento.
apenasActivos (por omissão, verdadeiro). propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
apenasActivos | na pesquisa | verdadeiro/falso |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/tipos-de-quarto' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/tipos-de-quarto#Cria um tipo de quarto.
adultosMaximo, criancasMaximo, camas, areaM2, artigoDeAlojamentoId (o artigo que se factura), ordemDeVenda e overbookingMaximo. propriedadeId é opcional quando a empresa só tem uma propriedade.
Corpo do pedido (JSON · GuardarTipoDeQuartoCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
propriedadeId | identificador (UUID) ou nulo | ||
nome | texto | sim | O nome. |
adultosMaximo | número inteiro | sim | |
criancasMaximo | número inteiro | sim | |
camas | texto ou nulo | ||
areaM2 | número ou nulo | ||
descricao | texto ou nulo | A descrição. | |
artigoDeAlojamentoId | identificador (UUID) ou nulo | ||
ordemDeVenda | número inteiro | sim | |
overbookingMaximo | número inteiro | sim | |
activo | verdadeiro/falso | sim | Se está activo. |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/tipos-de-quarto' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto",
"adultosMaximo": 1,
"criancasMaximo": 1,
"ordemDeVenda": 1,
"overbookingMaximo": 1,
"activo": false
}'
/api/hospedagem/tipos-de-quarto/{id}#Altera um tipo de quarto.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · GuardarTipoDeQuartoCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
propriedadeId | identificador (UUID) ou nulo | ||
nome | texto | sim | O nome. |
adultosMaximo | número inteiro | sim | |
criancasMaximo | número inteiro | sim | |
camas | texto ou nulo | ||
areaM2 | número ou nulo | ||
descricao | texto ou nulo | A descrição. | |
artigoDeAlojamentoId | identificador (UUID) ou nulo | ||
ordemDeVenda | número inteiro | sim | |
overbookingMaximo | número inteiro | sim | |
activo | verdadeiro/falso | sim | Se está activo. |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/tipos-de-quarto/<id>' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto",
"adultosMaximo": 1,
"criancasMaximo": 1,
"ordemDeVenda": 1,
"overbookingMaximo": 1,
"activo": false
}'
/api/hospedagem/quartos#Os quartos, com o tipo e o estado.
apenasActivos (por omissão, verdadeiro). propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
apenasActivos | na pesquisa | verdadeiro/falso |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/quartos' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/quartos#Cria um quarto de um tipo.
numero, piso, caracteristicas. propriedadeId é opcional quando a empresa só tem uma propriedade.
Corpo do pedido (JSON · GuardarQuartoCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
propriedadeId | identificador (UUID) ou nulo | ||
tipoDeQuartoId | identificador (UUID) | sim | |
numero | texto | sim | O número legível, atribuído pelo servidor («FR LC2026/25»). |
piso | texto ou nulo | ||
caracteristicas | texto ou nulo | ||
activo | verdadeiro/falso | sim | Se está activo. |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/quartos' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"tipoDeQuartoId": "00000000-0000-0000-0000-000000000000",
"numero": "texto",
"activo": false
}'
/api/hospedagem/quartos/{id}#Altera um quarto.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · GuardarQuartoCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
propriedadeId | identificador (UUID) ou nulo | ||
tipoDeQuartoId | identificador (UUID) | sim | |
numero | texto | sim | O número legível, atribuído pelo servidor («FR LC2026/25»). |
piso | texto ou nulo | ||
caracteristicas | texto ou nulo | ||
activo | verdadeiro/falso | sim | Se está activo. |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/quartos/<id>' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"tipoDeQuartoId": "00000000-0000-0000-0000-000000000000",
"numero": "texto",
"activo": false
}'
/api/hospedagem/planos#Os planos tarifários (o que a tarifa inclui, a política de cancelamento e a garantia exigida).
apenasActivos (por omissão, verdadeiro). propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
apenasActivos | na pesquisa | verdadeiro/falso |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/planos' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/planos#Cria um plano tarifário.
regime: SoQuarto, PequenoAlmoco, MeiaPensao, PensaoCompleta ou TudoIncluido. penalizacao: Nenhuma, PrimeiraNoite, Percentagem ou Total (com percentagemDePenalizacao). garantiaExigida: SemGarantia, Deposito, PrePagamentoTotal, CreditoDeEmpresa, Cartao ou OtaPrePaga. publico e diasGratuitos completam o plano. propriedadeId é opcional quando a empresa só tem uma propriedade.
Corpo do pedido (JSON · GuardarPlanoCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
propriedadeId | identificador (UUID) ou nulo | ||
nome | texto | sim | O nome. |
regime | texto | sim | |
diasGratuitos | número inteiro ou nulo | ||
penalizacao | texto | sim | |
percentagemDePenalizacao | número | sim | |
garantiaExigida | texto | sim | |
publico | verdadeiro/falso | sim | |
activo | verdadeiro/falso | sim | Se está activo. |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/planos' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto",
"regime": "texto",
"penalizacao": "texto",
"percentagemDePenalizacao": 0,
"garantiaExigida": "texto",
"publico": false,
"activo": false
}'
/api/hospedagem/planos/{id}#Altera um plano tarifário.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · GuardarPlanoCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
propriedadeId | identificador (UUID) ou nulo | ||
nome | texto | sim | O nome. |
regime | texto | sim | |
diasGratuitos | número inteiro ou nulo | ||
penalizacao | texto | sim | |
percentagemDePenalizacao | número | sim | |
garantiaExigida | texto | sim | |
publico | verdadeiro/falso | sim | |
activo | verdadeiro/falso | sim | Se está activo. |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/planos/<id>' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto",
"regime": "texto",
"penalizacao": "texto",
"percentagemDePenalizacao": 0,
"garantiaExigida": "texto",
"publico": false,
"activo": false
}'
/api/hospedagem/tarifas#As tarifas de um plano num intervalo de datas.
planoId, de e ate são obrigatórios.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
planoId | na pesquisa | identificador (UUID) | sim |
de | na pesquisa | data (AAAA-MM-DD) | sim |
ate | na pesquisa | data (AAAA-MM-DD) | sim |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/tarifas' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/tarifas/base#Define o preço base de um tipo de quarto num plano.
Devolve 204, sem corpo.
Corpo do pedido (JSON · DefinirTarifaBaseCommand)
| Campo | Tipo | Obrigatório |
|---|---|---|
planoId | identificador (UUID) | sim |
tipoDeQuartoId | identificador (UUID) | sim |
preco | número | sim |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/tarifas/base' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"planoId": "00000000-0000-0000-0000-000000000000",
"tipoDeQuartoId": "00000000-0000-0000-0000-000000000000",
"preco": 0
}'
/api/hospedagem/tarifas/dias#Define o preço de uma noite (sem IVA) num intervalo de datas, para um tipo (ou todos os activos), opcionalmente só em certos dias da semana (0 = domingo).
É a edição em massa do calendário de tarifas. Devolve alteradas, o número de noites alteradas.
Corpo do pedido (JSON · DefinirTarifasDoDiaCommand)
| Campo | Tipo | Obrigatório |
|---|---|---|
planoId | identificador (UUID) | sim |
tipoDeQuartoId | identificador (UUID) ou nulo | |
de | data (AAAA-MM-DD) | sim |
ate | data (AAAA-MM-DD) | sim |
preco | número | sim |
diasDaSemana | lista de número inteiro ou nulo |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/tarifas/dias' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"planoId": "00000000-0000-0000-0000-000000000000",
"de": "2026-10-12",
"ate": "2026-10-12",
"preco": 0
}'
/api/hospedagem/tarifas/dias/remover#Tira o preço especial de um intervalo: os dias voltam ao preço base do plano.
Devolve removidas, o número de noites afectadas.
Corpo do pedido (JSON · RemoverTarifasDoDiaCommand)
| Campo | Tipo | Obrigatório |
|---|---|---|
planoId | identificador (UUID) | sim |
tipoDeQuartoId | identificador (UUID) ou nulo | |
de | data (AAAA-MM-DD) | sim |
ate | data (AAAA-MM-DD) | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/tarifas/dias/remover' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"planoId": "00000000-0000-0000-0000-000000000000",
"de": "2026-10-12",
"ate": "2026-10-12"
}'
/api/hospedagem/restricoes#As restrições de venda (estadia mínima e máxima, fechado a chegadas, a partidas ou à venda).
Filtros: de e ate. propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
de | na pesquisa | data (AAAA-MM-DD) | |
ate | na pesquisa | data (AAAA-MM-DD) |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/restricoes' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/restricoes#Cria uma restrição de venda num intervalo de datas, para um plano e/ou um tipo de quarto.
estadiaMinima, estadiaMaxima, fechadoAChegada, fechadoAPartida, fechadoAVenda e antecedenciaMinimaDias. propriedadeId é opcional quando a empresa só tem uma propriedade.
Corpo do pedido (JSON · GuardarRestricaoCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
propriedadeId | identificador (UUID) ou nulo | ||
planoId | identificador (UUID) ou nulo | ||
tipoDeQuartoId | identificador (UUID) ou nulo | ||
de | data (AAAA-MM-DD) | sim | |
ate | data (AAAA-MM-DD) | sim | |
estadiaMinima | número inteiro ou nulo | ||
estadiaMaxima | número inteiro ou nulo | ||
fechadoAChegada | verdadeiro/falso | sim | |
fechadoAPartida | verdadeiro/falso | sim | |
fechadoAVenda | verdadeiro/falso | sim | |
antecedenciaMinimaDias | número inteiro ou nulo |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/restricoes' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"de": "2026-10-12",
"ate": "2026-10-12",
"fechadoAChegada": false,
"fechadoAPartida": false,
"fechadoAVenda": false
}'
/api/hospedagem/restricoes/{id}#Altera uma restrição de venda.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · GuardarRestricaoCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
propriedadeId | identificador (UUID) ou nulo | ||
planoId | identificador (UUID) ou nulo | ||
tipoDeQuartoId | identificador (UUID) ou nulo | ||
de | data (AAAA-MM-DD) | sim | |
ate | data (AAAA-MM-DD) | sim | |
estadiaMinima | número inteiro ou nulo | ||
estadiaMaxima | número inteiro ou nulo | ||
fechadoAChegada | verdadeiro/falso | sim | |
fechadoAPartida | verdadeiro/falso | sim | |
fechadoAVenda | verdadeiro/falso | sim | |
antecedenciaMinimaDias | número inteiro ou nulo |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/restricoes/<id>' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"de": "2026-10-12",
"ate": "2026-10-12",
"fechadoAChegada": false,
"fechadoAPartida": false,
"fechadoAVenda": false
}'
/api/hospedagem/restricoes/{id}#Remove uma restrição de venda.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl -X DELETE 'https://<endereço-da-API>/api/hospedagem/restricoes/<id>' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/extras#Os extras do catálogo (consumos e serviços lançáveis no folio).
apenasActivos (por omissão, verdadeiro). propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
apenasActivos | na pesquisa | verdadeiro/falso |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/extras' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/extras#Cria um extra, ligado a um artigo do catálogo.
regra: PorUnidade, PorNoite, PorPessoa ou PorEstadia. categoria (por exemplo Minibar) e precoPadrao. propriedadeId é opcional quando a empresa só tem uma propriedade.
Corpo do pedido (JSON · GuardarExtraCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
propriedadeId | identificador (UUID) ou nulo | ||
nome | texto | sim | O nome. |
artigoId | identificador (UUID) | sim | |
regra | texto | sim | |
categoria | texto | sim | |
precoPadrao | número ou nulo | ||
activo | verdadeiro/falso | sim | Se está activo. |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/extras' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto",
"artigoId": "00000000-0000-0000-0000-000000000000",
"regra": "texto",
"categoria": "texto",
"activo": false
}'
/api/hospedagem/extras/{id}#Altera um extra.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · GuardarExtraCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
propriedadeId | identificador (UUID) ou nulo | ||
nome | texto | sim | O nome. |
artigoId | identificador (UUID) | sim | |
regra | texto | sim | |
categoria | texto | sim | |
precoPadrao | número ou nulo | ||
activo | verdadeiro/falso | sim | Se está activo. |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/extras/<id>' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto",
"artigoId": "00000000-0000-0000-0000-000000000000",
"regra": "texto",
"categoria": "texto",
"activo": false
}'
/api/hospedagem/taxas#As taxas de alojamento configuradas pela propriedade.
apenasActivas (por omissão, verdadeiro). propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
apenasActivas | na pesquisa | verdadeiro/falso |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/taxas' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/taxas#Cria uma taxa de alojamento, ligada a um artigo.
base: PorNoite, PorPessoaNoite, PorEstadia ou PercentagemDoAlojamento; valor. propriedadeId é opcional quando a empresa só tem uma propriedade.
Corpo do pedido (JSON · GuardarTaxaCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
propriedadeId | identificador (UUID) ou nulo | ||
nome | texto | sim | O nome. |
artigoId | identificador (UUID) | sim | |
base | texto | sim | |
valor | número | sim | O valor. |
activa | verdadeiro/falso | sim |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/taxas' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto",
"artigoId": "00000000-0000-0000-0000-000000000000",
"base": "texto",
"valor": 0,
"activa": false
}'
/api/hospedagem/taxas/{id}#Altera uma taxa de alojamento.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · GuardarTaxaCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
id | identificador (UUID) ou nulo | Identificador único (UUID). | |
propriedadeId | identificador (UUID) ou nulo | ||
nome | texto | sim | O nome. |
artigoId | identificador (UUID) | sim | |
base | texto | sim | |
valor | número | sim | O valor. |
activa | verdadeiro/falso | sim |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/taxas/<id>' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"nome": "texto",
"artigoId": "00000000-0000-0000-0000-000000000000",
"base": "texto",
"valor": 0,
"activa": false
}'
/api/hospedagem/calendario#O calendário da propriedade num intervalo de datas, por tipo de quarto.
de e ate são obrigatórios; planoId (opcional) escolhe o plano. propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
de | na pesquisa | data (AAAA-MM-DD) | sim |
ate | na pesquisa | data (AAAA-MM-DD) | sim |
propriedadeId | na pesquisa | identificador (UUID) | |
planoId | na pesquisa | identificador (UUID) |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/calendario' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/orcamento#O orçamento de uma estadia antes de a vender: há vaga em todas as noites, que restrições a impedem, o preço de cada noite, o total e o IVA e o total com IVA.
A política de cancelamento e a garantia exigida vêm do plano. Não grava nada. planoId, tipoDeQuartoId, chegada, partida, adultos e criancas são obrigatórios; quartos (por omissão 1) e permitirOverbooking.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
planoId | na pesquisa | identificador (UUID) | sim |
tipoDeQuartoId | na pesquisa | identificador (UUID) | sim |
chegada | na pesquisa | data (AAAA-MM-DD) | sim |
partida | na pesquisa | data (AAAA-MM-DD) | sim |
adultos | na pesquisa | número inteiro | sim |
propriedadeId | na pesquisa | identificador (UUID) | |
criancas | na pesquisa | número inteiro | |
quartos | na pesquisa | número inteiro | |
permitirOverbooking | na pesquisa | verdadeiro/falso | |
excluirReservaId | na pesquisa | identificador (UUID) |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/orcamento' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/reservas#A lista de reservas de uma propriedade, por data de chegada.
O filtro de datas apanha as reservas que têm alguma noite no intervalo. Por omissão só as abertas (pedidas, confirmadas e em casa). Filtros: texto, estado, de, ate, clienteId, soAbertas e tamanho (por omissão 100). propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
texto | na pesquisa | texto | |
estado | na pesquisa | texto | |
de | na pesquisa | data (AAAA-MM-DD) | |
ate | na pesquisa | data (AAAA-MM-DD) | |
clienteId | na pesquisa | identificador (UUID) | |
soAbertas | na pesquisa | verdadeiro/falso | |
tamanho | na pesquisa | número inteiro |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/reservas' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/reservas#Cria uma reserva.
modo: Pedida (sem garantia, com prazo; o quarto fica bloqueado até lá), Confirmada (com garantia registada, ou sem ela com a aprovação de um gerente) ou WalkIn (reserva e check-in no mesmo passo, hoje, com os quartos atribuídos). O pedido corre todo sob o bloqueio da propriedade: dois pedidos para o último quarto nunca passam os dois.
canal: Recepcao, Telefone, WhatsApp, MotorDirecto, PortalDeEmpresas, Ota, Agencia ou WalkIn. segmento: Lazer, Corporativo, Grupo, Tripulacao, GovernoOuOng, Residente, EstadiaLonga ou Ota. Devolve 201 com o id, o numero, o estado, o total do alojamento e se ficou em overbooking.
Corpo do pedido (JSON · CriarReservaCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
propriedadeId | identificador (UUID) ou nulo | ||
clienteId | identificador (UUID) | sim | O cliente do documento. |
empresaClienteId | identificador (UUID) ou nulo | ||
planoId | identificador (UUID) | sim | |
canal | texto | sim | |
segmento | texto | sim | |
estadias | lista de objectos | sim | |
estadias[].tipoDeQuartoId | identificador (UUID) | sim | |
estadias[].quartoId | identificador (UUID) ou nulo | ||
estadias[].chegada | data (AAAA-MM-DD) | sim | |
estadias[].partida | data (AAAA-MM-DD) | sim | |
estadias[].adultos | número inteiro | sim | |
estadias[].criancas | número inteiro | sim | |
estadias[].hospedeNome | texto ou nulo | ||
modo | texto | sim | |
garantia | texto ou nulo | ||
depositoValor | número ou nulo | ||
depositoReferencia | texto ou nulo | ||
depositoMetodoPagamentoId | identificador (UUID) ou nulo | ||
prazoDaGarantiaHoras | número inteiro ou nulo | ||
horaPrevistaDeChegada | texto ou nulo | ||
notas | texto ou nulo | ||
pedidosEspeciais | texto ou nulo | ||
vip | verdadeiro/falso | sim | |
rotas | objecto ou nulo | ||
rotas.alojamento | texto | sim | |
rotas.refeicoes | texto | sim | |
rotas.extras | texto | sim | |
rotas.taxas | texto | sim | |
aceitarOverbooking | verdadeiro/falso | sim | |
aprovarSemGarantia | verdadeiro/falso | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"clienteId": "00000000-0000-0000-0000-000000000000",
"planoId": "00000000-0000-0000-0000-000000000000",
"canal": "texto",
"segmento": "texto",
"estadias": [
{
"tipoDeQuartoId": "00000000-0000-0000-0000-000000000000",
"chegada": "2026-10-12",
"partida": "2026-10-12",
"adultos": 1,
"criancas": 1
}
],
"modo": "texto",
"vip": false,
"aceitarOverbooking": false,
"aprovarSemGarantia": false
}'
/api/hospedagem/chegadas#As chegadas de um dia (por omissão, a data do hotel): reservas pedidas ou confirmadas que chegam, por hora prevista.
data (opcional). propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
data | na pesquisa | data (AAAA-MM-DD) |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/chegadas' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/partidas#As partidas de um dia (por omissão, a data do hotel): hóspedes em casa cuja partida é nesse dia.
data (opcional). propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
data | na pesquisa | data (AAAA-MM-DD) |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/partidas' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/em-casa#Os hóspedes em casa agora.
propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/em-casa' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/mapa#O mapa de quartos: cada quarto com o estado de limpeza, quem lá está (ou chega ou parte hoje) e o motivo de estar fora de serviço.
É a vista principal da recepção. O nome do hóspede só aparece a quem pode ver reservas. propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/mapa' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/reservas/{id}/confirmar#Confirma uma reserva pedida, com a garantia indicada.
garantia e, se for caso disso, aprovarSemGarantia (a aprovação de um gerente).
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · ConfirmarPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
garantia | texto | sim |
aprovarSemGarantia | verdadeiro/falso | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/confirmar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"garantia": "texto",
"aprovarSemGarantia": false
}'
/api/hospedagem/reservas/{id}/cancelar#Cancela uma reserva, com motivo.
Devolve o estado, a penalizacao apurada e a politica do plano.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · MotivoPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
motivo | texto | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/cancelar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"motivo": "texto"
}'
/api/hospedagem/reservas/{id}/dados#Altera os dados de uma reserva: a empresa, o plano, o segmento, a hora prevista de chegada, as notas, os pedidos especiais, o VIP e as rotas de facturação.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · DadosPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
empresaClienteId | identificador (UUID) ou nulo | |
planoId | identificador (UUID) | sim |
segmento | texto | sim |
horaPrevistaDeChegada | texto ou nulo | |
notas | texto ou nulo | |
pedidosEspeciais | texto ou nulo | |
vip | verdadeiro/falso | sim |
rotas | objecto ou nulo | |
rotas.alojamento | texto | sim |
rotas.refeicoes | texto | sim |
rotas.extras | texto | sim |
rotas.taxas | texto | sim |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/dados' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"planoId": "00000000-0000-0000-0000-000000000000",
"segmento": "texto",
"vip": false
}'
/api/hospedagem/reservas/{id}/estadias#Acrescenta um troço (estadia) a uma reserva.
aceitarOverbooking (por omissão, falso). Devolve o id da estadia.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · EstadiaPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
estadia | objecto | sim |
estadia.tipoDeQuartoId | identificador (UUID) | sim |
estadia.quartoId | identificador (UUID) ou nulo | |
estadia.chegada | data (AAAA-MM-DD) | sim |
estadia.partida | data (AAAA-MM-DD) | sim |
estadia.adultos | número inteiro | sim |
estadia.criancas | número inteiro | sim |
estadia.hospedeNome | texto ou nulo | |
aceitarOverbooking | verdadeiro/falso | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/estadias' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"estadia": {
"tipoDeQuartoId": "00000000-0000-0000-0000-000000000000",
"chegada": "2026-10-12",
"partida": "2026-10-12",
"adultos": 1,
"criancas": 1
},
"aceitarOverbooking": false
}'
/api/hospedagem/reservas/{id}/estadias/{estadiaId}#Altera um troço de uma reserva pedida ou confirmada (datas, tipo, ocupantes, quarto).
Os preços recalculam-se com as tarifas de hoje: se o total mudar, a recepção avisa o hóspede. Devolve totalDoAlojamento.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
estadiaId | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · EstadiaPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
estadia | objecto | sim |
estadia.tipoDeQuartoId | identificador (UUID) | sim |
estadia.quartoId | identificador (UUID) ou nulo | |
estadia.chegada | data (AAAA-MM-DD) | sim |
estadia.partida | data (AAAA-MM-DD) | sim |
estadia.adultos | número inteiro | sim |
estadia.criancas | número inteiro | sim |
estadia.hospedeNome | texto ou nulo | |
aceitarOverbooking | verdadeiro/falso | sim |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/estadias/<estadiaId>' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"estadia": {
"tipoDeQuartoId": "00000000-0000-0000-0000-000000000000",
"chegada": "2026-10-12",
"partida": "2026-10-12",
"adultos": 1,
"criancas": 1
},
"aceitarOverbooking": false
}'
/api/hospedagem/reservas/{id}/estadias/{estadiaId}#Retira um troço de uma reserva.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
estadiaId | no caminho | identificador (UUID) | sim |
Pedido
curl -X DELETE 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/estadias/<estadiaId>' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/reservas/{id}/estadias/{estadiaId}/quarto#Atribui (ou muda) o quarto físico de um troço, sempre do mesmo tipo.
Para mudar de tipo, altera-se a estadia; com o hóspede em casa, troca-se de quarto.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
estadiaId | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · QuartoPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
quartoId | identificador (UUID) | sim |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/estadias/<estadiaId>/quarto' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{
"quartoId": "00000000-0000-0000-0000-000000000000"
}'
/api/hospedagem/reservas/{id}/depositos/pedir#Pede um depósito por referência à reserva.
Expira no prazo da propriedade e a recepção marca-o pago quando o dinheiro chega.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · DepositoPedido)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
valor | número | sim | O valor. |
referencia | texto ou nulo |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/depositos/pedir' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"valor": 0
}'
/api/hospedagem/reservas/{id}/depositos/registar#Regista um depósito já recebido (dinheiro, TPA, transferência confirmada).
Uma reserva pedida passa a confirmada. valor, metodoPagamentoId e referencia.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · DepositoPedido)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
valor | número | sim | O valor. |
referencia | texto ou nulo |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/depositos/registar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"valor": 0
}'
/api/hospedagem/depositos/{id}/pago#Marca um depósito pedido como pago, com o método de pagamento e a referência.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · DepositoPedido)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
valor | número | sim | O valor. |
referencia | texto ou nulo |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/depositos/<id>/pago' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"valor": 0
}'
/api/hospedagem/depositos/{id}/devolver#Devolve um depósito pago (por exemplo, um cancelamento sem penalização).
Mexe em dinheiro: é do gerente, com motivo.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · MotivoPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
motivo | texto | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/depositos/<id>/devolver' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"motivo": "texto"
}'
/api/hospedagem/reservas/{id}/check-in#O hóspede chegou: atribui os quartos que faltam (do tipo reservado, limpos e sem avaria), muda a reserva para «em casa» e abre o folio com a rota e o limite de crédito.
Um hóspede na lista negra só entra com a aprovação de um gerente. Devolve o folioId e avisos que não bloqueiam (ficha por completar, documento caducado, depósito por receber). atribuicoes e limiteDeCredito são opcionais.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · CheckInPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
atribuicoes | lista de objectos ou nulo | |
atribuicoes[].estadiaId | identificador (UUID) | sim |
atribuicoes[].quartoId | identificador (UUID) | sim |
limiteDeCredito | número ou nulo |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/check-in' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{}'
/api/hospedagem/reservas/{id}/pre-check-in#Regista que o hóspede já tratou do pré-check-in (dados e documento entregues antes de chegar): à chegada só se atribui o quarto e se assina.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/pre-check-in' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/reservas/{id}/check-out#O hóspede saiu: lança as noites que faltam, liberta as noites seguintes (saída antecipada), deixa o quarto sujo com a limpeza de partida no plano e fecha o folio se nada falta facturar.
Com lançamentos por facturar recusa, salvo se a recepção escolher saidaSemFacturar (a conta fica aberta e factura-se depois, por exemplo a uma empresa). Devolve o estado, se o folio ficou fechado, o que fica porFacturar e as pendencias.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · CheckOutPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
saidaSemFacturar | verdadeiro/falso | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/check-out' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"saidaSemFacturar": false
}'
/api/hospedagem/reservas/{id}/estadias/{estadiaId}/estender#Estende a estadia de um hóspede em casa até uma nova partida.
As noites novas têm de ter o mesmo quarto livre, vaga no tipo e preço no plano da reserva. Sem o mesmo quarto livre, troca-se de quarto e estende-se depois.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
estadiaId | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · EstenderPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
novaPartida | data (AAAA-MM-DD) | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/estadias/<estadiaId>/estender' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"novaPartida": "2026-10-12"
}'
/api/hospedagem/reservas/{id}/estadias/{estadiaId}/trocar-quarto#Troca de quarto de um hóspede em casa (avaria, pedido, upgrade).
O quarto novo tem de estar livre até à partida e pronto. Se o tipo muda, manterPreco decide se o hóspede continua a pagar o preço que tinha (cortesia) ou passa ao preço do tipo novo. O quarto que fica vago fica sujo, com a limpeza de partida no plano do dia.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
estadiaId | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · TrocaPedida)
| Campo | Tipo | Obrigatório |
|---|---|---|
novoQuartoId | identificador (UUID) | sim |
manterPreco | verdadeiro/falso ou nulo |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/estadias/<estadiaId>/trocar-quarto' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"novoQuartoId": "00000000-0000-0000-0000-000000000000"
}'
/api/hospedagem/reservas/{id}/folio#O folio de uma reserva: os lançamentos, as janelas de facturação, as facturações e os depósitos pagos.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/folio' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/reservas/{id}/folio/lancamentos#Lança um consumo ou um extra no folio: de um extra do catálogo (a quantidade sai da regra do extra) ou de um artigo à escolha.
O preço é sem IVA; sem preço usa o do extra ou o preço de venda 1 do artigo. Só com o hóspede em casa. O consumo do restaurante, do spa ou da lavandaria lança-se aqui à mão com o valor da conta. janela: Hospede ou Empresa.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · LancamentoPedido)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
extraId | identificador (UUID) ou nulo | ||
artigoId | identificador (UUID) ou nulo | ||
descricao | texto ou nulo | A descrição. | |
quantidade | número | sim | A quantidade. |
precoUnitario | número ou nulo | O preço de uma unidade, sem imposto. | |
categoria | texto ou nulo | ||
janela | texto ou nulo |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/folio/lancamentos' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"quantidade": 0
}'
/api/hospedagem/reservas/{id}/folio/taxas#Aplica ao folio as taxas de alojamento configuradas pela propriedade, calculadas pelas suas bases.
Cada taxa só se aplica uma vez por folio (as já aplicadas saltam-se). Sem taxas configuradas não faz nada. Devolve aplicadas.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/folio/taxas' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/reservas/{id}/folio/lancamentos/{lancamentoId}/estornar#Corrige o folio estornando (total ou em parte) um lançamento, com motivo.
É do gerente. Um lançamento já facturado corrige-se com uma nota de crédito sobre o documento.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
lancamentoId | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · EstornoPedido)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
quantidade | número | sim | A quantidade. |
motivo | texto ou nulo |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/folio/lancamentos/<lancamentoId>/estornar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"quantidade": 0
}'
/api/hospedagem/reservas/{id}/folio/limite#Define o limite de crédito do folio (o que o hóspede pode dever, sem IVA, antes de a recepção ser avisada).
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · LimitePedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
limiteDeCredito | número ou nulo |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/folio/limite' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{}'
/api/hospedagem/reservas/{id}/folio/facturacao#O que se facturaria agora numa janela do folio: o total com IVA que o núcleo emitiria, os depósitos que se abateriam e se pode facturar.
janela é obrigatória. Não emite nada nem altera o folio. As noites do dia ainda por lançar só entram na facturação em si (o night audit lança-as sozinho).
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
janela | na pesquisa | texto | sim |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/folio/facturacao' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/reservas/{id}/folio/facturar#Factura uma janela do folio: um documento pelo comando do «Novo documento».
Factura/recibo se há pagamentos (os depósitos pagos abatem-se primeiro, com o método com que foram recebidos; o resto são os pagamentos indicados), factura em conta corrente se não há nenhum (uma empresa com crédito). Os pagamentos têm de cobrir o total exacto que o núcleo calcula.
pedidoId identifica o pedido: repetir com o mesmo valor devolve a mesma facturação.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · FacturarPedido)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
pedidoId | identificador (UUID) | sim | |
janela | texto | sim | |
pagamentos | lista de objectos ou nulo | ||
pagamentos[].metodoPagamentoId | identificador (UUID) | sim | O método de pagamento. |
pagamentos[].valor | número | sim | O valor. |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/reservas/<id>/folio/facturar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"pedidoId": "00000000-0000-0000-0000-000000000000",
"janela": "texto"
}'
/api/hospedagem/housekeeping/plano#O plano de limpezas do dia.
data (opcional) e minhas (por omissão, falso). propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
data | na pesquisa | data (AAAA-MM-DD) | |
minhas | na pesquisa | verdadeiro/falso |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/housekeeping/plano' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/housekeeping/plano/gerar#Gera o plano do dia a partir das reservas (partidas, estadias, preparações) e ordena-o: quem chega manda.
Repetir não duplica. Devolve criadas, o número de tarefas criadas.
Corpo do pedido (JSON · PlanoPedido)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
propriedadeId | identificador (UUID) ou nulo | ||
data | data (AAAA-MM-DD) ou nulo | A data e hora (UTC). |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/housekeeping/plano/gerar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{}'
/api/hospedagem/housekeeping/plano/distribuir#Reparte as limpezas por fazer do dia pelas camareiras escolhidas: sempre para a que tem menos créditos.
Só mexe no que ainda não começou. camareiras é a lista de identificadores de utilizador. Devolve distribuidas.
Corpo do pedido (JSON · DistribuirPedido)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
propriedadeId | identificador (UUID) ou nulo | ||
data | data (AAAA-MM-DD) ou nulo | A data e hora (UTC). | |
camareiras | lista de identificador (UUID) ou nulo |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/housekeeping/plano/distribuir' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{}'
/api/hospedagem/housekeeping/tarefas/{id}/camareira#Atribui uma limpeza a uma camareira (ou retira a atribuição).
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · CamareiraPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
camareiraUserId | identificador (UUID) ou nulo |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/housekeeping/tarefas/<id>/camareira' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{}'
/api/hospedagem/housekeeping/tarefas/{id}/iniciar#Inicia uma limpeza.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/housekeeping/tarefas/<id>/iniciar' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/housekeeping/tarefas/{id}/concluir#Conclui uma limpeza.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/housekeeping/tarefas/<id>/concluir' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/housekeeping/tarefas/{id}/nao-incomodar#O hóspede pediu para não ser incomodado: a limpeza fica adiada e o quarto marcado, até a camareira voltar a tentar.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · NotaPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
nota | texto ou nulo |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/housekeeping/tarefas/<id>/nao-incomodar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{}'
/api/hospedagem/housekeeping/tarefas/{id}/inspeccionar#A governanta aprova (o quarto fica inspeccionado e pronto a vender) ou reprova com motivo (o quarto volta a sujo e a camareira refaz).
aprovado e, se reprovar, motivo.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · InspeccaoPedida)
| Campo | Tipo | Obrigatório |
|---|---|---|
aprovado | verdadeiro/falso | sim |
motivo | texto ou nulo |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/housekeeping/tarefas/<id>/inspeccionar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"aprovado": false
}'
/api/hospedagem/housekeeping/minibar#Lança o consumo do minibar de um quarto ao folio do hóspede que lá está.
O preço vem do extra do catálogo, que tem de ser da categoria minibar. Quem lança não vê a conta nem o hóspede: só o quarto e o que gastou.
Corpo do pedido (JSON · MinibarPedido)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
quartoId | identificador (UUID) | sim | |
extraId | identificador (UUID) | sim | |
quantidade | número | sim | A quantidade. |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/housekeeping/minibar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"quartoId": "00000000-0000-0000-0000-000000000000",
"extraId": "00000000-0000-0000-0000-000000000000",
"quantidade": 0
}'
/api/hospedagem/manutencao/tickets#Os pedidos de manutenção.
Filtros: estado, quartoId e apenasAbertos (por omissão, verdadeiro). propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
estado | na pesquisa | texto | |
quartoId | na pesquisa | identificador (UUID) | |
apenasAbertos | na pesquisa | verdadeiro/falso |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/manutencao/tickets' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/manutencao/tickets#Abre um pedido de manutenção (por exemplo, uma avaria vista pela camareira).
A manutenção atribui-o e resolve-o. area, descricao e prioridade são obrigatórios. propriedadeId é opcional quando a empresa só tem uma propriedade.
Corpo do pedido (JSON · CriarTicketCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
propriedadeId | identificador (UUID) ou nulo | ||
quartoId | identificador (UUID) ou nulo | ||
area | texto | sim | |
descricao | texto | sim | A descrição. |
prioridade | texto | sim |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/manutencao/tickets' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"area": "texto",
"descricao": "texto",
"prioridade": "texto"
}'
/api/hospedagem/manutencao/tickets/{id}/tecnico#Atribui um pedido de manutenção a um técnico (ou retira a atribuição).
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · TecnicoPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
tecnicoUserId | identificador (UUID) ou nulo |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/manutencao/tickets/<id>/tecnico' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{}'
/api/hospedagem/manutencao/tickets/{id}/iniciar#Inicia um pedido de manutenção.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/manutencao/tickets/<id>/iniciar' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/manutencao/tickets/{id}/resolver#Resolve o pedido, dizendo o que se fez.
Se havia um quarto bloqueado por causa dele, o quarto volta a vender a partir de hoje.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · ResolucaoPedida)
| Campo | Tipo | Obrigatório |
|---|---|---|
resolucao | texto ou nulo |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/manutencao/tickets/<id>/resolver' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{}'
/api/hospedagem/manutencao/tickets/{id}/cancelar#Cancela um pedido de manutenção, com motivo.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · MotivoPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
motivo | texto | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/manutencao/tickets/<id>/cancelar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"motivo": "texto"
}'
/api/hospedagem/manutencao/tickets/{id}/prioridade#Muda a prioridade de um pedido de manutenção.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · PrioridadePedida)
| Campo | Tipo | Obrigatório |
|---|---|---|
prioridade | texto ou nulo |
Pedido
curl -X PUT 'https://<endereço-da-API>/api/hospedagem/manutencao/tickets/<id>/prioridade' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Content-Type: application/json' \
-d '{}'
/api/hospedagem/bloqueios#Os bloqueios de quartos (fora de serviço ou fora de venda).
apenasEmVigor (por omissão, verdadeiro). propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
apenasEmVigor | na pesquisa | verdadeiro/falso |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/bloqueios' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/bloqueios#Tira um quarto da venda entre duas datas.
tipo: ForaDeServico (avaria, OOO: sai do inventário e do denominador da ocupação) ou ForaDeVenda (OOS: utilizável mas não vendido; sai do inventário e fica no denominador). É do gerente (quem aprova fica registado).
Recusa se o quarto tem hóspedes ou reservas atribuídas nessas noites (mudam-se primeiro de quarto), se já tem outro bloqueio nas mesmas datas, ou se o tipo ficasse sem vaga para reservas já vendidas.
Corpo do pedido (JSON · CriarBloqueioCommand)
| Campo | Tipo | Obrigatório |
|---|---|---|
propriedadeId | identificador (UUID) ou nulo | |
quartoId | identificador (UUID) | sim |
tipo | texto | sim |
de | data (AAAA-MM-DD) | sim |
ate | data (AAAA-MM-DD) | sim |
motivo | texto | sim |
ticketId | identificador (UUID) ou nulo |
Resposta
Devolve 201 com o id do registo criado.
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/bloqueios' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"quartoId": "00000000-0000-0000-0000-000000000000",
"tipo": "texto",
"de": "2026-10-12",
"ate": "2026-10-12",
"motivo": "texto"
}'
/api/hospedagem/bloqueios/{id}/encerrar#Encerra um bloqueio: o quarto volta a vender a partir de hoje (ou do primeiro dia do bloqueio, se ainda não começou).
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/bloqueios/<id>/encerrar' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/night-audit#O estado do night audit: a data do hotel, se o fecho do dia é devido e os últimos fechos.
tomar (por omissão 30) limita os dias devolvidos. propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
propriedadeId | na pesquisa | identificador (UUID) | |
tomar | na pesquisa | número inteiro |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/night-audit' \
-H 'X-Api-Key: <a-sua-chave>'
/api/hospedagem/night-audit/fechar#Fecha o dia da data do hotel à mão (o gerente).
Só quando o calendário já passou ao dia seguinte; antes disso só com antecipar (o gerente fecha o dia mais cedo, por exemplo ao fim do turno da noite). Repetir não faz nada de novo: a data do hotel só avança um dia de cada vez e o registo é único por dia.
Corpo do pedido (JSON · FecharPedido)
| Campo | Tipo | Obrigatório |
|---|---|---|
propriedadeId | identificador (UUID) ou nulo | |
antecipar | verdadeiro/falso | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/hospedagem/night-audit/fechar' \
-H 'X-Api-Key: <a-sua-chave>' \
-H 'Idempotency-Key: <um-GUID-novo>' \
-H 'Content-Type: application/json' \
-d '{
"antecipar": false
}'
/api/hospedagem/indicadores#Os indicadores hoteleiros de um período: ocupação, ADR, RevPAR e TRevPAR, mais o movimento (reservas, cancelamentos, no-shows, chegadas, partidas).
de e ate são obrigatórios. A ocupação conta as noites vendidas (reservas pedidas, confirmadas, em casa ou já terminadas) sobre os quartos disponíveis; um quarto fora de serviço sai do denominador, um fora de venda não. propriedadeId é opcional quando a empresa só tem uma propriedade.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
de | na pesquisa | data (AAAA-MM-DD) | sim |
ate | na pesquisa | data (AAAA-MM-DD) | sim |
propriedadeId | na pesquisa | identificador (UUID) |
Pedido
curl 'https://<endereço-da-API>/api/hospedagem/indicadores' \
-H 'X-Api-Key: <a-sua-chave>'