Skip to content

Booking & Availability

Cars exist. Now staff need to book them — and everything around booking needs to work before a single rental can be processed.

This is the largest feature in the project. It consolidates five previously separate roadmap items into one cohesive loop: customer identity, rental setup, pricing, bookings, and the availability calendar. They're combined because they share data, share configuration, and can't be tested meaningfully in isolation.

What you'll build

  • Customer identificationCustomer table extension with driver's licence, passport number, and expiry dates; Document Attachments FactBox on the Customer Card
  • Rental setup — configuration record holding deposit %, cash bank account, and forfeit G/L account
  • Duration discounts — two Price List Line rows per car (Min Qty 7 → 10 %, Min Qty 30 → 20 %); no custom pricing code
  • Booking with double-booking guardSales Header extension adds Rental Finish Date and Next Billing Date; event subscriber prevents overlapping bookings for the same car
  • Fleet Booking Board — a Gantt-style calendar page showing all cars and their booked periods, backed by the same open Sales Line query as the guard

Same loop, same skills

The loop is the same — spec, implement, test, docs, finalise. But this time you won't be writing long prompts from scratch. Use the skills you created in the previous feature:

  • create-feature-spec — opens the branch and produces the spec files
  • generate-docs — generates the user guide section and runs the BC Code Intelligence review
  • finalise-feature — updates CHANGELOG, syncs tech-design, marks the roadmap

Write the spec →