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 identification —
Customertable 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 Linerows per car (Min Qty 7 → 10 %, Min Qty 30 → 20 %); no custom pricing code - Booking with double-booking guard —
Sales Headerextension addsRental Finish DateandNext 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 filesgenerate-docs— generates the user guide section and runs the BC Code Intelligence reviewfinalise-feature— updates CHANGELOG, syncs tech-design, marks the roadmap