The problem
The operator manages serviced apartments across several states and cities, listed on Airbnb, Booking.com, Agoda, Expedia and VRBO through a channel manager. Prices were set by hand and copied channel by channel. That was slow, error-prone, and blind to occupancy. One wrong rate on a busy weekend costs real money, and nobody could tell who had changed what.
What I built
A pricing model that matches how the business thinks. Units roll up into room types, buildings, cities and states. Prices come from tiers (T0–T6 plus special tiers) with cascading overrides: unit → room type → category → building → default. Changing a whole building’s pricing is one action, and a single unit can still be the exception.
A pricing calendar. A multi-month view of the price and occupancy of every unit, filterable by state, so revenue staff can see where demand is and price accordingly.
Rate pushes with a review step. Pushing prices to the channel manager happens in two phases: base rates per room type, then Airbnb-specific rates per unit. Before anything goes out, staff see a preview grouped by building and choose what to push. Pushes respect the channel manager’s rate limits, with adjustable concurrency.
Booking sync. Reservations sync every 10 minutes, and a webhook receiver applies changes as they happen. Occupancy and reports stay current without anyone re-entering data.
Controls for a growing team.
- Super Admin / Admin / Staff roles, with permissions set per user
- An audit log of every change, with one-click revert and CSV export
- Transaction and occupancy reports
Engineering decisions worth noting
- Push in two phases. Channel managers treat room-type rates and listing-level rates differently. Splitting the push matches how the channels actually apply prices and avoids silent overwrites.
- Revert from the audit log. Pricing mistakes are expensive and urgent. Every write is recorded with its previous value, so undoing a bad change takes seconds, not a support ticket.
- Shipped in increments. The platform went through seven production versions, each driven by feedback from the people pricing units every day.
What this proves for your project
If you run rentals, hotels or any inventory sold across several channels, or you need a third-party API turned into a safe internal tool, this is the kind of system I build: domain-specific, auditable, and designed around the people who use it.
