Case study · WordPress · React · Booking Systems

Green Getaways

I built a booking system to replace the manual spreadsheet mess we were dealing with. Guests can check availability and book instantly, and confirmations happen automatically. It took two weeks, and I built it as a co-founder of the business, not an outside hire.

Role

Co-founder · Product & Design

Company

Green Getaways · Eco Travel

Timeline

2026 · 2 weeks

Scope

React booking frontend · WordPress backend & admin · Razorpay integration · Automated confirmations

Green Getaways booking page for Overnight Camping at Mango Trails, showing the photo gallery, pricing, and booking sidebar

Manual bookings were costing more than the bookings were worth

Green Getaways runs eco-friendly camping and farm stays near Bangalore. The stays were great, but booking one wasn't. Every request came in through WhatsApp or a contact form, got checked against a shared spreadsheet by hand, then followed up for payment. If two of us checked the spreadsheet at the same time, we'd double-book the same dates - and it happened more often than I'd like to admit.

On top of the mistakes, it ate 3-4 hours a day that should have gone into looking after guests.

100%
Bookings handled self-service post-launch
Zero
Double-bookings after launch
3-4 hrs
Daily admin time eliminated

A fast booking page, built on what we already had

The plan was simple: keep using WordPress for admin, since that's what we already knew, and build a fast, modern booking page on top of it. Every booking plugin we tried was built for hotels with fixed rooms, which didn't match how we work - each property has its own capacity, pricing, and dates we need to block for maintenance.

The system has three parts: each property's availability lives in WordPress, a booking page checks that availability instantly as guests pick dates, and Razorpay handles payment right there. Confirmations, reminders, and receipts all go out automatically. I built the whole thing with Claude Code in two weeks.

Designing the booking flow end to end

01

The booking journey

Mapped out the whole guest journey - browsing, checking dates, booking, paying, confirming - and made sure availability shows up the moment a guest picks dates, not after they've filled out a form. That one change stopped guests from finishing the whole process only to find their dates were already taken.

02

The booking page

Built the booking page itself, connected to WordPress behind the scenes, which tracks each property's availability and every booking's status - pending, confirmed, or cancelled. Availability now lives in one place instead of a spreadsheet that could fall out of date.

03

The admin calendar

A monthly calendar for all properties, colour-coded by status, where blocking a date for maintenance takes one click. No spreadsheets, no manual double-checking.

04

Automated emails

Guests get an instant confirmation, a payment receipt, a reminder a week before their stay, and a follow-up afterward - all sent automatically, written to sound like a person wrote them, not a template.

From enquiry to confirmation, fully automated

The old process took 11 manual steps across spreadsheets, WhatsApp, and email. The new flow needs zero manual steps for a standard booking.

New automated booking flow
Step 1
Guest searches
Selects dates, guests, and property on the site
Step 2
Availability check
Real-time query against booking database
Automated
Step 3
Guest books & pays
Razorpay handles payment inline
Step 4
Confirmation sent
Instant email to guest + admin notified
Automated
Step 5
Reminders & receipt
7-day reminder + post-stay follow-up
Automated

Booking availability, per property, per day

Per-property calendars with blocked-date management. Staff toggle dates directly, set guest capacity limits, and see blocked dates at a glance. No spreadsheet required anymore.

GoDaddy
🌿 Green Getaways Live
↺ 1
💬 0
+ New
Howdy, mubeen
GoDaddy
Dashboard
Posts
Media
Pages
Farm Plots
Mango Trees
Bookings
GG Leads
Booking Availability
Explore Spots
Birds
Razorpay
Payouts
Booking Availability
E
Your License Is Inactive
Your license key has been cancelled (most likely due to a refund request). Please consider acquiring a new license.
Activate License
Camping at Mango Trails
Work from Mango Farm
Day Outing at Mango Trails
Block / Unblock Dates
June 2026
Su
Mo
Tu
We
Th
Fr
Sa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Available
Blocked
Maximum Guests per Day
Set 0 for unlimited.
MAX ADULTS
15
0 = unlimited
MAX CHILDREN
5
0 = unlimited
MAX PETS
5
0 = unlimited
Blocked Dates
2026-06-13 ✕
2026-06-27 ✕
2026-06-28 ✕
2026-07-11 ✕
Save Changes

All bookings, payments, and guest details in one place

Revenue, confirmed vs. pending counts, guest breakdown by type, and a full searchable booking list. (Guest PII redacted in the screenshot.)

🌿
GG Bookings
39 total
Revenue
₹7,51,602
Confirmed
39
Pending
0
🧑 Adults
87
👧 Kids
7
🍼 Toddlers
6
🐾 Pets
1
All (39) | Confirmed (39) | Pending (0)
Search
DatePropertyAdultsKidsToddlersPetsCheck-inNightsTotalPayment IDStatusEmailPhone
19 Jun 2026
12:47
Overnight Camping at Mango Trails 2---
20 Jun 2026
→ 21 Jun 2026
1Rs.3,998 pay_T3UkYw2KmYVVi0 Confirmed poorvika@gmail.com +918496881720
19 Jun 2026
04:30
Day Outing at Mango Trails 2---
21 Jun 2026
→ 21 Jun 2026
-- manual Confirmed chugh.rashmi@gmail.com -
18 Jun 2026
06:05
Day Outing at Mango Trails 4---
20 Jun 2026
→ 20 Jun 2026
1Rs.5,996.00 pay_T2jNvCINftsZP7 Confirmed shweta@gmail.com 7892733799
16 Jun 2026
17:33
Day Outing at Mango Trails 2-1-
21 Jun 2026
→ 21 Jun 2026
1Rs.2,998 pay_T20189E1S1T8ch Confirmed divz1903@gmail.com 919986663678
14 Jun 2026
15:51
Day Outing at Mango Trails 4---
16 Jun 2026
→ 16 Jun 2026
1Rs.5,996 pay_T1ZD0hZT8TWc7u Confirmed siamese@gmail.com 919820283953
13 Jun 2026
02:27
Overnight Camping at Mango Trails 4---
13 Jun 2026
→ 14 Jun 2026
1- manual Confirmed - 7719066713
12 Jun 2026
17:35
Overnight Camping at Mango Trails 1---
14 Jun 2026
→ 15 Jun 2026
1Rs.1,999 pay_T0nvA3UThbKhFl Confirmed pankajani@gmail.com +919986397446

What made the difference

Showing availability live, the moment guests pick dates, was the single biggest improvement we made. It stopped people from dropping off partway through, and made the whole booking feel trustworthy from the start.

Building from scratch instead of using a ready-made plugin took longer upfront, but every plugin we found assumed hotel-style rooms, which didn't match how our properties actually work. Building it ourselves meant the system could match how we really operate, instead of us working around its limits.

I built the admin side assuming whoever ran it day-to-day wouldn't be technical. Every action takes two clicks or fewer from the calendar view.

What changed after launch

Double-bookings dropped to zero immediately. The 3-4 hours we used to spend every day on spreadsheet checks, WhatsApp confirmations, and writing emails by hand is now down to almost nothing. That time goes into looking after guests instead of admin work.

Guests who used to wait up to 24 hours for confirmation now get it instantly. That alone won back guests who would have booked elsewhere rather than wait.

What I'd do differently

Connecting Razorpay for payments turned out more complicated than I expected, especially around partial payments, cancellations, and refunds. Next time I'd plan for those cases upfront instead of solving them as they came up.

I'd also build guest accounts sooner. Right now, returning guests have to re-enter their details every time they book. A simple account system would make rebooking easier for them, and give us better data on repeat guests.