Overview
A commerce platform built for a business that both sells and hires products, two workflows that standard e-commerce platforms handle poorly together.
Challenge
Hire and sales have different rules: availability windows, deposits, returns and condition checks on one side; stock, shipping and fulfilment on the other. Off-the-shelf stores forced hire into a sales model, creating manual tracking and double handling.
Solution
- Separate, purpose-built rental and sales workflows sharing one catalogue
- Availability-aware booking management for hire items
- Deposit capture, holds and refunds
- Fulfilment, dispatch and returns tracking
- A customer experience that makes both paths clear
Architecture
01 Customer
- Storefront
- Booking flow
- Checkout
- Account
02 Operations
- Bookings
- Fulfilment
- Returns
- Admin
03 Services
- Payments
- Catalogue
- Notifications
- Database
Technology
- Next.js
- TypeScript
- .NET
- PostgreSQL
- Stripe
- Cloudflare
Key engineering decisions
- 01
Two workflows, one catalogue
Products are shared, but hire and sale orders follow separate state machines with their own rules.
- 02
Deposits as authorisations
Deposits are held and released through the payment provider rather than tracked by hand.
- 03
Availability computed, not stored
Hire availability is derived from bookings, so it can never drift out of sync.
Outcome
Rental and sales run through workflows designed for each, with bookings, deposits and fulfilment handled in one system.
Next case study
Boothiva