Passa al contenuto principale

Preparazione del contesto

Prima di cercare la disponibilità e creare prenotazioni conviene caricare il contesto del tenant: quali lingue e valute supporta, in quali luoghi opera e con quali orari di apertura. Questi cataloghi definiscono, nel loro insieme, quali prenotazioni si possono creare (dove, quando e in quale valuta).

Memorizza il contesto in cache

Questi dati cambiano di rado. Recuperali una volta all'avvio e riutilizzali; aggiornali ogni tanto invece di richiederli a ogni operazione. Tutti gli endpoint usano l'header Authorization: Bearer {token}.

Lingue

GET /api/languages restituisce le lingue supportate dal sistema. Determinano i valori validi del query param ?language= che controlla la lingua delle risposte (vedi Lingue).

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

Per metadati più ricchi di ogni lingua (nome nativo, ecc.) c'è GET /api/languages-info.

Valute

GET /api/currencies restituisce le valute supportate con il loro tasso di cambio. Da qui si ricava il CurrencyCode che usi in 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 }
]
CampoDescrizione
ISOCodeCodice ISO della valuta. È quello che si invia come CurrencyCode.
Symbol / NamePer la visualizzazione.
ExchangeRateTasso di cambio rispetto alla valuta predefinita del sistema.
IsSystemDefaultIndica la valuta di base del tenant.

Luoghi

GET /api/places restituisce i luoghi di consegna e restituzione. I loro Id sono quelli che si passano come FromPlace/ToPlace (ricerca) e DeliveryPlace/ReturnPlace (prenotazione). Ogni luogo appartiene a una filiale (BranchOfficeId) e ha un tipo (aeroporto, agenzia, hotel…), il cui catalogo è 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"
}
]
CampoDescrizione
IdIdentificatore del luogo. È il FromPlace/ToPlace/DeliveryPlace.Id.
CategoryTipo di luogo (da GET /api/placetypes).
BranchOfficeId / BranchOfficeName / BranchOfficeIATACodeFiliale a cui appartiene.

Orari di apertura

GET /api/attentionschedule restituisce la configurazione degli orari per filiale. Questo definisce quando si può consegnare e restituire un'auto: giorni e orari di apertura, fuso orario, margini (gap) e regole per il fuori orario. È ciò che determina se un From/To dato è valido per un luogo.

curl "https://{tenant}.rently.com.ar/api/attentionschedule" \
-H "Authorization: Bearer {token}"
CampoDescrizione
ScheduleFasce di apertura per giorno.
TimezoneId / TimezoneUTCOffsetFuso orario della filiale (interpreta i From/To in esso).
Gap / GapForBookingTimeMargini minimi per prenotare / tra operazioni.
AllowAfterHours / BeforeHoursMaxMinutes / AfterHoursMaxMinutesSe è consentito operare fuori orario e con quali limiti.

Come si relazionano

Per sapere quali prenotazioni si possono creare, combina i quattro cataloghi:

Lingua (?language=) → in quale lingua arrivano le risposte

Luogo (place) → DOVE si consegna/restituisce (FromPlace / DeliveryPlace)
│ appartiene a

Filiale (branch office)
│ ha

Orario di apertura → QUANDO è valido (giorni/orari/timezone/after-hours) → definisce From/To

Valuta (CurrencyCode) → IN QUALE VALUTA si calcola il prezzo

In pratica:

  1. Scegli un luogo di consegna (e di restituzione) da GET /api/places.
  2. Guarda l'orario di apertura della sua filiale (GET /api/attentionschedule) per fissare un From/To all'interno delle fasce valide e nel fuso orario corretto.
  3. Scegli una valuta supportata (GET /api/currencies).
  4. Facoltativamente, imposta la lingua delle risposte con ?language=.

Con questo puoi già iniziare la Prenotazione end-to-end.