Passer au contenu principal

Statuts

Transitions :
  • RESERVED → IN_PROGRESS : départ (pickup).
  • IN_PROGRESS → COMPLETED : retour (return).
  • RESERVED → CANCELLED : annulation (cancel).
  • PENDING_APPROVAL → RESERVED : approbation, dans Lexio seulement.
  • PENDING_APPROVAL → CANCELLED : refus (cancel) ou expiration.
Une location créée par l’API naît RESERVED. Le loueur fait les mêmes transitions dans Lexio. Une location IN_PROGRESS ou COMPLETED ne s’annule plus. Chaque changement de statut produit un événement (rental.updated, ou rental.cancelled pour une annulation) : voir Synchronisation par événements.

Actions possibles selon le statut

Une action hors de ses statuts répond 409 RENTAL_STATUS_NOT_ALLOWED, avec rentalStatus, allowedStatuses et action (première colonne). « sans champ » signale un champ refusé dans ce statut : le reste de l’action passe.
  • Annuler une location déjà CANCELLED répond 200 sans rien écrire, avec effects.cancellation.alreadyCancelled à true.
  • Annuler une demande PENDING_APPROVAL la refuse : Lexio tente ensuite de relâcher l’autorisation de paiement du client, et effects.paymentAuthorizationRelease en donne le résultat.
  • ?dryRun=true prévisualise les actions qui l’acceptent sans rien écrire : voir Idempotence et reprise.

Caution

La caution se demande à la réservation (deposit) et s’encaisse à part, en paiement de type DEPOSIT ; elle n’entre ni dans totalTTC ni dans balance. Sa restitution ou sa retenue ne se fait pas par l’API : le loueur la décide dans Lexio après le retour. L’API la lit dans les lignes DEPOSIT de GET /rentals/{rentalId}/payments et, à l’annulation, dans effects.cancellation.depositsHeld (caution encaissée à rendre, empreinte à relâcher).