Skip to content
English
  • There are no suggestions because the search field is empty.

How Booking Status Transitions and Lifecycle Works

Source: events_controller.rb

  • Only bookings in OPEN status can be edited; closed or converted bookings are locked
  • Hard delete (permanent removal) requires three conditions: the event must be OPEN, have no loan cars attached, and no WS API integration active
  • Soft delete marks the event as deleted (event.deleted=true), unlinks any loan car, and marks all event_times and event_items as deleted — the record remains in the database
  • Event-to-invoice conversion closes the event (sets status to CLOSED) and creates a new Invoice record copying all fields including line items, notes, discounts, and tax groups
  • During conversion, any attached loan car carries over to the newly created invoice
  • Batch convert processes all open bookings for a given date in one operation, converting each to an invoice
  • The new job/invoice inherits the loan car, VV Garage ID, discounts, notes, and tax groups from the source booking

Support scenarios

  • "I can't edit my booking" → The booking is no longer in OPEN status. It has either been closed or converted to an invoice. Only OPEN bookings can be edited.
  • "I can't delete a booking" → Hard delete is blocked if the booking has a loan car attached or has WS API integration. Unlink the loan car first, or the system will perform a soft delete instead.
  • "I converted my booking to a job but the loan car is missing" → The loan car should carry over automatically during conversion. If it did not appear, check if the loan car was unlinked or cancelled before conversion.