Equipment Rental App Starter · Industry version
A rental system that thinks in event weekends — quantity inventory, packages, and delivery runs — generated into code you own.
Party and AV rental isn't one trailer to one customer. It's two hundred chairs across three Saturday events, tents that need a wash day before they go back out, and trucks that have to hit four venues before noon. This starter shapes the rental system around that reality and hands you the codebase.
01 · The problem
Generic rental tools track units; party inventory is mostly quantities. Nobody serializes folding chairs — you own 480 of them and need to know how many are committed on the 14th, including the ones still on a truck from the 13th. When quantity availability is bolted on instead of modeled, the answer is always someone's guess.
Event rentals also don't run on simple date ranges. A Saturday wedding blocks gear from Friday load-out through Monday check-in, and linens block longer because laundering is part of the turnaround. A calendar that only knows rental start and end dates will happily promise Sunday inventory that is physically in a field an hour away.
And the counter barely exists. Almost everything is delivered — which makes trucks, crews, and time windows part of availability itself. If routing lives in a separate spreadsheet, the booking system keeps selling Saturday mornings your drivers don't have.
02 · Data model
Everything in the base Equipment Rental starter —
equipmentcategoriescustomersreservationsrentalsmaintenance_logs— plus the entities this industry actually runs on:
| table | what it holds |
|---|---|
packages | Bundled offerings — tent, tables, chairs, dance floor at one price — that explode into real inventory commitments when booked. |
deliveries | Scheduled drop-offs and pickups with truck, crew, and time window, linked to the reservation and the venue. |
venues | Repeat event locations with load-in notes, dock access, and contact details — so the third event at the same barn goes smoother than the first. |
03 · Screens
The calendar answers the question that matters: of 480 chairs, how many are free on the 14th, net of load-out buffers and wash days? Serialized items like consoles and projectors still track individually — both live in the same availability view.
Checkout becomes a pull sheet per truck: counts verified as gear leaves the warehouse, signed at the venue. Check-in reverses it item by item, so the sixty chairs that came back muddy are counted, billed, and routed to cleaning the same morning.
Reporting pivots to the shape of the business: peak-Saturday commitment rates by category, revenue per event, and which packages sell out first. That's the data behind the decision to buy 100 more chairs before wedding season, made from live tables.
04 · In practice
Build the order from a package, adjust quantities, attach the venue, and the system checks every line against that weekend's real availability — including turnaround buffers — before the quote goes out.
Each confirmed reservation carries its delivery window and venue. The Saturday board shows all drops and pickups by truck; moving one to a different crew is a drag, not a phone chain.
Trucks return, counts go in against each order's pull sheet, and shortfalls become charges on the rental record automatically. Wash-day items block their own availability until cleaning clears them.
Yes — that's the core adaptation. Bulk items like chairs, linens, and dishware are quantity-tracked per category, while serialized gear like mixers and projectors keeps unit-level history. Availability math handles both in the same booking.
Deliveries are first-class records with a truck, crew, window, and venue, linked to the reservation. The daily board is a view over those rows, so booking capacity and trucking capacity stop being two different truths.
Packages bundle real inventory at a set price, and booking one commits the underlying quantities — so a package can sell out honestly when its chairs are gone, instead of overselling components one bundle at a time.
Check-in counts feed charges directly: missing and damaged items become line items on the rental record, reconciled against the deposit. Your damage-waiver policy, if you offer one, is a rule in your code you can read and change.
Dual7 App Starters
A rental system that thinks in event weekends — quantity inventory, packages, and delivery runs — generated into code you own. Describe your version to start — the output is a project you own.