Saltar al contenido principal

Preparando el contexto

Antes de buscar disponibilidad y crear reservas conviene cargar el contexto del tenant: qué idiomas y monedas soporta, en qué lugares opera y con qué horarios de atención. Estos catálogos definen, en conjunto, qué reservas se pueden crear (dónde, cuándo y en qué moneda).

Cacheá el contexto

Estos datos cambian poco. Traelos una vez al iniciar y reutilizalos; refrescalos cada tanto en vez de pedirlos en cada operación. Todos los endpoints usan el header Authorization: Bearer {token}.

Idiomas

GET /api/languages devuelve los idiomas soportados por el sistema. Determinan los valores válidos del query param ?language= que controla el idioma de las respuestas (ver Idiomas).

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

Para metadatos más ricos de cada idioma (nombre nativo, etc.) está GET /api/languages-info.

Monedas

GET /api/currencies devuelve las monedas soportadas con su tipo de cambio. De acá sale el CurrencyCode que usás en GET /api/search, GET /api/booking/price y 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 }
]
CampoDescripción
ISOCodeCódigo ISO de la moneda. Es el que se envía como CurrencyCode.
Symbol / NamePara mostrar.
ExchangeRateTipo de cambio respecto de la moneda por defecto del sistema.
IsSystemDefaultMarca la moneda base del tenant.

Lugares

GET /api/places devuelve los lugares de entrega y devolución. Sus Id son los que se pasan como FromPlace/ToPlace (búsqueda) y DeliveryPlace/ReturnPlace (reserva). Cada lugar pertenece a una sucursal (BranchOfficeId) y tiene un tipo (aeropuerto, agencia, hotel…), cuyo catálogo es 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"
}
]
CampoDescripción
IdIdentificador del lugar. Es el FromPlace/ToPlace/DeliveryPlace.Id.
CategoryTipo de lugar (de GET /api/placetypes).
BranchOfficeId / BranchOfficeName / BranchOfficeIATACodeSucursal a la que pertenece.

Horarios de atención

GET /api/attentionschedule devuelve la configuración de horarios por sucursal. Esto define cuándo se puede entregar y devolver un auto: días y horas de apertura, zona horaria, márgenes (gaps) y reglas de fuera de horario. Es lo que determina si un From/To dado es válido para un lugar.

curl "https://{tenant}.rently.com.ar/api/attentionschedule" \
-H "Authorization: Bearer {token}"
CampoDescripción
ScheduleFranjas de apertura por día.
TimezoneId / TimezoneUTCOffsetZona horaria de la sucursal (interpretá los From/To en ella).
Gap / GapForBookingTimeMárgenes mínimos para reservar / entre operaciones.
AllowAfterHours / BeforeHoursMaxMinutes / AfterHoursMaxMinutesSi se permite operar fuera de hora y con qué límites.

Cómo se relacionan

Para saber qué reservas se pueden crear, combiná los cuatro catálogos:

Idioma (?language=) → en qué idioma vienen las respuestas

Lugar (place) → DÓNDE se entrega/devuelve (FromPlace / DeliveryPlace)
│ pertenece a

Sucursal (branch office)
│ tiene

Horario de atención → CUÁNDO es válido (días/horas/timezone/after-hours) → define From/To

Moneda (CurrencyCode) → EN QUÉ MONEDA se calcula el precio

En la práctica:

  1. Elegí un lugar de entrega (y de devolución) de GET /api/places.
  2. Mirá el horario de atención de su sucursal (GET /api/attentionschedule) para fijar un From/To dentro de las franjas válidas y en la zona horaria correcta.
  3. Elegí una moneda soportada (GET /api/currencies).
  4. Opcionalmente, fijá el idioma de las respuestas con ?language=.

Con eso ya podés arrancar la Reserva de punta a punta.