ReservaServicos

APIDescription
GET api/reservas/{idReserva}/servicos

Vai buscar todos os serviços extras de uma reserva específica.

GET api/ReservaServicos

Vai buscar todos os serviços extras adicionados às reservas.

POST api/ReservaServicos

Adiciona um serviço extra a uma reserva e atualiza automaticamente o valor de extras e o valor total da reserva.

DELETE api/ReservaServicos/{id}

Remove um serviço extra de uma reserva e atualiza o valor final.

Faturas

APIDescription
GET api/Faturas

Vai buscar todas as faturas registadas.

GET api/Faturas/{id}

Vai buscar uma fatura através do seu ID.

POST api/Faturas/{id}

Gera uma fatura para uma reserva com check-out concluído.

Servicos

APIDescription
GET api/Servicos

Vai buscar todos os serviços ativos registados na base de dados.

GET api/Servicos/{id}

Vai buscar um serviço ativo específico pelo seu ID.

POST api/Servicos

Cria um novo serviço extra disponível para as reservas.

Quartos

APIDescription
GET api/Quartos

Vai buscar todos os quartos registados na base de dados.

GET api/Quartos/{id}

Vai buscar um quarto através do seu ID.

POST api/Quartos

Cria um novo quarto e guarda-o na base de dados.

PUT api/Quartos

Altera os dados de um quarto já registado.

DELETE api/Quartos/{id}

Apaga um quarto se não existirem reservas futuras para ele.

Hospedes

APIDescription
GET api/Hospedes

Vai buscar todos os hóspedes registados na base de dados.

GET api/Hospedes/{id}

Vai buscar um hóspede através do seu ID.

POST api/Hospedes

Cria um novo hóspede e guarda-o na base de dados.

PUT api/Hospedes

Altera os dados de um hóspede já registado.

DELETE api/Hospedes/{id}

Apaga um hóspede se não existirem reservas ativas associadas a ele.

Pagamentos

APIDescription
GET api/Pagamentos

Vai buscar todos os pagamentos registados.

GET api/Pagamentos/{id}

Vai buscar um pagamento através do seu ID.

POST api/Pagamentos

Regista um pagamento para uma reserva.

Pesquisa

APIDescription
GET api/Pesquisa?entidade={entidade}&idHospede={idHospede}&nomeHospede={nomeHospede}&idQuarto={idQuarto}&dataEntrada={dataEntrada}&dataSaida={dataSaida}&tipoQuarto={tipoQuarto}&estadoQuarto={estadoQuarto}&precoMin={precoMin}&precoMax={precoMax}

Pesquisa filtrada de reservas, quartos ou hóspedes.

CheckInCheckOut

APIDescription
POST api/CheckInCheckOut/{id}

Regista o check-in de uma reserva e ocupa o quarto. Aplica multa se o check-in for antecipado.

PUT api/CheckInCheckOut/{id}

Regista o check-out de uma reserva, liberta o quarto, calcula o valor final e cria o histórico de estadia.

Reservas

APIDescription
GET api/Reservas

Vai buscar todas as reservas registadas na base de dados, ordenadas pela data de entrada.

GET api/Reservas/{id}

Vai buscar uma reserva específica pelo seu ID.

POST api/Reservas

Cria uma nova reserva, validando datas, existência do hóspede e do quarto, estado do quarto, capacidade e conflito de datas com outras reservas do mesmo quarto.

PUT api/Reservas

Atualiza os dados de uma reserva existente, revalidando datas e conflitos de período.

DELETE api/Reservas/{id}

Apaga uma reserva pelo ID, impedindo a eliminação se já houver check-in sem check-out.