M11: implement operational booking lifecycle

This commit is contained in:
NuklearRabbit
2026-08-10 03:06:30 +02:00
parent 3f13912739
commit 4a3c3bd0a9
15 changed files with 516 additions and 7 deletions
+30 -1
View File
@@ -3,6 +3,7 @@
"eyebrow": "Operations / Schedule",
"title": "Bookings",
"description": "Review active rental windows and upcoming vehicle commitments.",
"create": "New booking",
"searchLabel": "Search",
"searchPlaceholder": "Booking, customer or vehicle",
"statusLabel": "Status",
@@ -27,6 +28,28 @@
"next": "Next",
"rangeOf": "{{from}}–{{to}} of {{total}}"
},
"create": {
"backLink": "Booking ledger",
"eyebrow": "Bookings / New reservation",
"title": "Create booking",
"description": "Select a customer and a vehicle that is available for the full rental window.",
"startsAt": "Starts",
"endsAt": "Ends",
"customerSearch": "Search customer",
"customerPlaceholder": "Name, email or customer reference",
"customer": "Customer",
"searchFirst": "Search for a customer first",
"chooseCustomer": "Select a customer",
"vehicle": "Available vehicle",
"loadingVehicles": "Checking availability…",
"chooseVehicle": "Select a vehicle",
"noVehicles": "No vehicle available for this window",
"requirementsComplete": "Driving licence and rental requirements have been checked",
"cancel": "Cancel",
"save": "Create booking",
"saving": "Saving booking…",
"failed": "The booking could not be created. Check the window and availability."
},
"statuses": {
"reserved": "reserved",
"active": "active",
@@ -49,6 +72,12 @@
"endOdometerPending": "Not yet recorded — not yet closed",
"requirementsComplete": "Requirements complete",
"yes": "Yes",
"no": "No"
"no": "No",
"cancelAction": "Cancel booking",
"cancelReason": "Reason",
"cancelReasonPlaceholder": "Why is this booking being cancelled?",
"confirmCancel": "Confirm cancellation",
"cancelling": "Cancelling…",
"cancelFailed": "The booking could not be cancelled."
}
}
+30 -1
View File
@@ -3,6 +3,7 @@
"eyebrow": "Exploitation / Planning",
"title": "Réservations",
"description": "Consultez les périodes de location actives et les engagements de véhicules à venir.",
"create": "Nouvelle réservation",
"searchLabel": "Rechercher",
"searchPlaceholder": "Réservation, client ou véhicule",
"statusLabel": "Statut",
@@ -27,6 +28,28 @@
"next": "Suivant",
"rangeOf": "{{from}}–{{to}} sur {{total}}"
},
"create": {
"backLink": "Registre des réservations",
"eyebrow": "Réservations / Nouvelle réservation",
"title": "Créer une réservation",
"description": "Sélectionnez un client et un véhicule disponible pendant toute la période de location.",
"startsAt": "Début",
"endsAt": "Fin",
"customerSearch": "Rechercher un client",
"customerPlaceholder": "Nom, e-mail ou référence client",
"customer": "Client",
"searchFirst": "Recherchez d'abord un client",
"chooseCustomer": "Sélectionnez un client",
"vehicle": "Véhicule disponible",
"loadingVehicles": "Vérification des disponibilités…",
"chooseVehicle": "Sélectionnez un véhicule",
"noVehicles": "Aucun véhicule disponible pour cette période",
"requirementsComplete": "Le permis de conduire et les exigences de location ont été vérifiés",
"cancel": "Annuler",
"save": "Créer la réservation",
"saving": "Enregistrement…",
"failed": "La réservation n'a pas pu être créée. Vérifiez la période et les disponibilités."
},
"statuses": {
"reserved": "réservé",
"active": "actif",
@@ -49,6 +72,12 @@
"endOdometerPending": "Pas encore enregistré — pas encore clôturé",
"requirementsComplete": "Exigences complètes",
"yes": "Oui",
"no": "Non"
"no": "Non",
"cancelAction": "Annuler la réservation",
"cancelReason": "Motif",
"cancelReasonPlaceholder": "Pourquoi cette réservation est-elle annulée ?",
"confirmCancel": "Confirmer l'annulation",
"cancelling": "Annulation…",
"cancelFailed": "La réservation n'a pas pu être annulée."
}
}
+30 -1
View File
@@ -3,6 +3,7 @@
"eyebrow": "Uitvoeren / Planning",
"title": "Boekingen",
"description": "Bekijk actieve verhuurperiodes en aankomende voertuigverbintenissen.",
"create": "Nieuwe boeking",
"searchLabel": "Zoeken",
"searchPlaceholder": "Boeking, klant of voertuig",
"statusLabel": "Status",
@@ -27,6 +28,28 @@
"next": "Volgende",
"rangeOf": "{{from}}–{{to}} van {{total}}"
},
"create": {
"backLink": "Boekingsoverzicht",
"eyebrow": "Boekingen / Nieuwe reservatie",
"title": "Boeking aanmaken",
"description": "Selecteer een klant en een voertuig dat voor de volledige huurperiode beschikbaar is.",
"startsAt": "Start",
"endsAt": "Einde",
"customerSearch": "Klant zoeken",
"customerPlaceholder": "Naam, e-mail of klantreferentie",
"customer": "Klant",
"searchFirst": "Zoek eerst een klant",
"chooseCustomer": "Selecteer een klant",
"vehicle": "Beschikbaar voertuig",
"loadingVehicles": "Beschikbaarheid controleren…",
"chooseVehicle": "Selecteer een voertuig",
"noVehicles": "Geen beschikbaar voertuig in deze periode",
"requirementsComplete": "Rijbewijs- en huurvereisten zijn gecontroleerd",
"cancel": "Annuleren",
"save": "Boeking aanmaken",
"saving": "Boeking opslaan…",
"failed": "De boeking kon niet worden aangemaakt. Controleer de periode en beschikbaarheid."
},
"statuses": {
"reserved": "gereserveerd",
"active": "actief",
@@ -49,6 +72,12 @@
"endOdometerPending": "Nog niet vastgelegd — nog niet afgesloten",
"requirementsComplete": "Vereisten volledig",
"yes": "Ja",
"no": "Nee"
"no": "Nee",
"cancelAction": "Boeking annuleren",
"cancelReason": "Reden",
"cancelReasonPlaceholder": "Waarom wordt deze boeking geannuleerd?",
"confirmCancel": "Annulering bevestigen",
"cancelling": "Annuleren…",
"cancelFailed": "De boeking kon niet worden geannuleerd."
}
}