ThePlugLuxx
The backend for a South African luxury rental marketplace and its mobile app: hosts list, guests book and pay, and everyone is paid correctly.
A marketplace where money and calendars both have to be right.
Hosts list luxury items and spaces; guests browse, book and pay from the mobile app; the platform takes its commission and credits each host. Customers come from South Africa and abroad, so payments had to work in more than one region.
I built the whole backend and deployed it, from the data model to the API the app talks to.
The parts that had to be right.
No double bookings
Two guests can try to book the same dates at the same moment, and both apps show the dates as free.
Every booking is checked against the calendar at the moment it is made, so only one of them gets the dates. Each booking then moves through clear states from pending to completed or cancelled.
Payments from more than one region
Local and international customers need different payment gateways and currencies, but the booking flow should be the same for everyone.
The gateway is chosen from the customer's region and currency. The app sees one booking flow either way.
Hosts paid exactly what they're owed
Commission, refunds, cancellations and withdrawals all touch the same balances.
The commission comes off before a host is credited, hosts see a live wallet, withdrawals go through admin approval, and every movement of money is recorded in a double-entry ledger.
Trust between strangers
Guests hand over expensive bookings to hosts they've never met.
Hosts go through identity checks and listings through approval before they go live, with reviews after each stay and admin tools for disputes.