Pular para o conteúdo principal

Preparando o contexto

Antes de buscar disponibilidade e criar reservas, convém carregar o contexto do tenant: quais idiomas e moedas ele suporta, em quais lugares opera e com quais horários de atendimento. Esses catálogos definem, em conjunto, quais reservas podem ser criadas (onde, quando e em qual moeda).

Faça cache do contexto

Esses dados mudam pouco. Busque-os uma vez ao iniciar e reutilize-os; atualize-os de tempos em tempos em vez de solicitá-los a cada operação. Todos os endpoints usam o header Authorization: Bearer {token}.

Idiomas

GET /api/languages devolve os idiomas suportados pelo sistema. Eles determinam os valores válidos do query param ?language= que controla o idioma das respostas (ver Idiomas).

curl "https://{tenant}.rently.com.ar/api/languages" \
-H "Authorization: Bearer {token}"
observação

Para metadados mais ricos de cada idioma (nome nativo, etc.) há GET /api/languages-info.

Moedas

GET /api/currencies devolve as moedas suportadas com sua taxa de câmbio. Daqui sai o CurrencyCode que você usa em GET /api/search, GET /api/booking/price e POST /api/booking/book.

curl "https://{tenant}.rently.com.ar/api/currencies" \
-H "Authorization: Bearer {token}"
[
{ "Id": 1, "ISOCode": "USD", "Name": "Dólar", "Symbol": "U$S", "ExchangeRate": 1.0, "IsSystemDefault": true },
{ "Id": 2, "ISOCode": "ARS", "Name": "Peso argentino", "Symbol": "$", "ExchangeRate": 950.0, "IsSystemDefault": false }
]
CampoDescrição
ISOCodeCódigo ISO da moeda. É o que se envia como CurrencyCode.
Symbol / NamePara exibição.
ExchangeRateTaxa de câmbio em relação à moeda padrão do sistema.
IsSystemDefaultMarca a moeda base do tenant.

Lugares

GET /api/places devolve os lugares de entrega e devolução. Seus Id são os que se passam como FromPlace/ToPlace (busca) e DeliveryPlace/ReturnPlace (reserva). Cada lugar pertence a uma filial (BranchOfficeId) e tem um tipo (aeroporto, agência, hotel…), cujo catálogo é GET /api/placetypes.

curl "https://{tenant}.rently.com.ar/api/places" \
-H "Authorization: Bearer {token}"
[
{
"Id": 1,
"Name": "Aeropuerto LAX",
"Category": "Aeropuerto",
"City": "Los Angeles",
"Country": "United States",
"BranchOfficeId": 10,
"BranchOfficeName": "LAX",
"BranchOfficeIATACode": "LAX"
}
]
CampoDescrição
IdIdentificador do lugar. É o FromPlace/ToPlace/DeliveryPlace.Id.
CategoryTipo de lugar (de GET /api/placetypes).
BranchOfficeId / BranchOfficeName / BranchOfficeIATACodeFilial à qual pertence.

Horários de atendimento

GET /api/attentionschedule devolve a configuração de horários por filial. Isso define quando se pode entregar e devolver um carro: dias e horas de abertura, fuso horário, margens (gaps) e regras de fora do horário. É o que determina se um From/To dado é válido para um lugar.

curl "https://{tenant}.rently.com.ar/api/attentionschedule" \
-H "Authorization: Bearer {token}"
CampoDescrição
ScheduleFaixas de abertura por dia.
TimezoneId / TimezoneUTCOffsetFuso horário da filial (interprete os From/To nele).
Gap / GapForBookingTimeMargens mínimas para reservar / entre operações.
AllowAfterHours / BeforeHoursMaxMinutes / AfterHoursMaxMinutesSe é permitido operar fora do horário e com quais limites.

Como se relacionam

Para saber quais reservas podem ser criadas, combine os quatro catálogos:

Idioma (?language=) → em qual idioma vêm as respostas

Lugar (place) → ONDE se entrega/devolve (FromPlace / DeliveryPlace)
│ pertence a

Filial (branch office)
│ tem

Horário de atendimento → QUANDO é válido (dias/horas/timezone/after-hours) → define From/To

Moeda (CurrencyCode) → EM QUAL MOEDA se calcula o preço

Na prática:

  1. Escolha um lugar de entrega (e de devolução) de GET /api/places.
  2. Veja o horário de atendimento da sua filial (GET /api/attentionschedule) para fixar um From/To dentro das faixas válidas e no fuso horário correto.
  3. Escolha uma moeda suportada (GET /api/currencies).
  4. Opcionalmente, defina o idioma das respostas com ?language=.

Com isso você já pode iniciar a Reserva de ponta a ponta.