Pick dates_
The calendar syncs with the booking calendars: anything already sold is crossed out.
[Project 02 · Hospitality]
A bilingual website, booking calendar and admin panel for two beachfront villas in Playacar, on the Riviera Maya. Guests pick their dates and see the price instantly; the client runs everything without depending on anyone.
[corazonrentals.mx]
[The challenge]
Two luxury villas with bookings scattered across Airbnb, WhatsApp and an old WordPress site. We brought them together in one platform the client runs on their own_
[Site walkthrough]
[What we found]
Before building, we reviewed what was there and asked the client the questions nobody had asked. Four findings changed the plan.
The whole rate sheet shipped in a file anyone could view and edit before sending a request.
NowThe server calculates every quote. The price shown and the price charged come from the same call.
They depended only on the number of bedrooms: August cost the same as Christmas.
NowRates by season and bedroom count, with promotions, editable from the panel.
The site lived on shared hosting and every content tweak went through a technical process.
NowSaving in the panel is publishing. A new house or experience gets its page instantly.
The new domain redirected to the old one, and the photos and indexed URLs depended on a site about to be shut down.
NowEverything lives on corazonrentals.mx: we rescued photos and URLs and migrated the domain step by step.
[How booking works]
The guest requests, the host approves, and only then is the guest charged. Every step arrives by email, in Spanish or English.
The calendar syncs with the booking calendars: anything already sold is crossed out.
Bedrooms, guests, nights, taxes and deposit: the quote comes from the server instantly.
The host approves from the panel and the guest gets a payment link and a confirmation.
[Screen by screen]
Every house, experience and destination guide has its own page, in two languages. Everything is edited from the panel.







[Under the hood]
Design, website, backend, client panel and the domain migration, with the site live the whole time.
The database prevents two bookings from taking the same night, even if they arrive in the same second.
A single rate engine, by season and bedroom count, with taxes, deposit and promotions.
Dates are held while the host decides; Stripe checkout opens only on approval.
It reads the Airbnb and Guesty calendars and pushes the nights sold here back to them.
Houses, photos, experiences, rates, requests, calendars, chat with sales and email copy.
If the server fails, visitors still see the last good version. Publishing never interrupts anything.
[Live]
Tour the two villas, the experiences and the calendar: pick some dates and watch your quote come together.
Go to corazonrentals.mx ↗[Have a project in mind?]
Let's talk_