← Projects

[Project 02 · Hospitality]

Corazón_

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.

ClientCorazón Luxury Rentals LocationPlaya del Carmen Our roleDesign, platform and migration
Casa Corazón page on a phone: «Villa insignia, Playacar Fase 1» (Flagship villa), with a photo of the oceanfront terrace.

[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]

First, an
audit_

Before building, we reviewed what was there and asked the client the questions nobody had asked. Four findings changed the plan.

Before

Prices were calculated in the browser

The whole rate sheet shipped in a file anyone could view and edit before sending a request.

Now

The server calculates every quote. The price shown and the price charged come from the same call.

Before

Rates didn’t change by season

They depended only on the number of bedrooms: August cost the same as Christmas.

Now

Rates by season and bedroom count, with promotions, editable from the panel.

Before

Every change meant building and uploading

The site lived on shared hosting and every content tweak went through a technical process.

Now

Saving in the panel is publishing. A new house or experience gets its page instantly.

Before

Traffic was still on an old WordPress

The new domain redirected to the old one, and the photos and indexed URLs depended on a site about to be shut down.

Now

Everything lives on corazonrentals.mx: we rescued photos and URLs and migrated the domain step by step.

[How booking works]

From date
to inbox_

The guest requests, the host approves, and only then is the guest charged. Every step arrives by email, in Spanish or English.

01 Availability calendar with booked dates crossed out and a November 8–12 stay selected.

Pick dates_

The calendar syncs with the booking calendars: anything already sold is crossed out.

02 «Tu reserva» (Your booking) panel: 11 bedrooms, 8 guests, 4 nights, 22% taxes and estimated total.

See the price_

Bedrooms, guests, nights, taxes and deposit: the quote comes from the server instantly.

03 Corazón Rentals confirmation email with house, dates, guests and total.

Get confirmed_

The host approves from the panel and the guest gets a payment link and a confirmation.

[Screen by screen]

Two villas,
one heart_

Every house, experience and destination guide has its own page, in two languages. Everything is edited from the panel.

The two villas: Casa Corazón and Casa de las Estrellas, with starting price, bedrooms and guests.
[The houses]
The home page on a phone.
[Mobile]
Casa Corazón page with its description and the rate table by bedroom count.
[House page]
Page for the yacht experience for 15 people, with its rate and a booking button.
[An experience]
Experiences arranged by the concierge: private yacht, in-house spa and Mexican night.
[Experiences]
English home page: «A heart facing the sea, stories for a lifetime».
[English]
Discover Playa del Carmen: a destination guide with parks and reefs.
[Discover PDC]

[Under the hood]

What we built_

Design, website, backend, client panel and the domain migration, with the site live the whole time.

No double bookings, ever

The database prevents two bookings from taking the same night, even if they arrive in the same second.

Server-side pricing

A single rate engine, by season and bedroom count, with taxes, deposit and promotions.

Request, approve, charge

Dates are held while the host decides; Stripe checkout opens only on approval.

Connected calendars

It reads the Airbnb and Guesty calendars and pushes the nights sold here back to them.

One panel for everything

Houses, photos, experiences, rates, requests, calendars, chat with sales and email copy.

A site that stays up

If the server fails, visitors still see the last good version. Publishing never interrupts anything.

AstroReact · ViteFastifyPostgreSQLZodStripe CheckoutiCal · Airbnb · GuestyVercelRender

[Live]

Meet Corazón_

Tour the two villas, the experiences and the calendar: pick some dates and watch your quote come together.

Go to corazonrentals.mx ↗