/Case study — Hospitality

Neel Potro

A whole-resort booking system with bKash holds and SMS updates.

Neel Potro is a private resort near Dhaka that rents the whole property to one group at a time. A custom booking plugin handles dates, packages, bKash advance holds that expire on their own, and email and SMS updates at every step.

Neel Potro Resort — neelpotro.com · Hospitality · 2026Live
Neel Potro home page with the white resort villa and lawn under the headline A Private Escape, Embraced by Nature
/Overview

About the project

Neel Potro is a private resort in Gazipur, a short drive from Dhaka. It does not sell rooms. Each booking takes the entire property, so a group gets the villa, the lawns and the staff to themselves for a day out or an overnight stay.

That model needed its own booking flow. Off-the-shelf room booking plugins assume many rooms and online card payments, while the resort sells one date at a time and takes an advance by bKash. The answer was a custom WordPress plugin that every Book Now button on the site leads to.

/Challenges — 4

What had to be solved

  • The resort rents the entire property to one group, so each date can only be sold once, and a guest may want a single day or several nights.
  • Guests pay an advance by bKash Send Money rather than through an online gateway, so a request has to hold its dates while the team checks the payment.
  • Unpaid requests could block dates indefinitely unless something released them on time.
  • Guests in Bangladesh answer SMS faster than email, and the team also takes bookings over the phone.
/Solutions — 4

How it was built

  • Built a four-step booking wizard (dates, package, guest details, review) as a custom plugin. One tap books a day escape, a start and end date books an overnight stay, and reserved dates are greyed out.
  • Each request holds its dates for a set time and shows the advance amount and bKash number. The team approves it in wp-admin once the payment is verified.
  • Holds expire on schedule through WP-Cron, with a fallback that keeps them expiring if the server cron is missing. The date reopens and the guest gets an SMS.
  • Connected the Novocom SMS gateway for request, approval, cancellation, expiry and pre-arrival reminder messages, with a balance check and an SMS log, plus an admin calendar for manual blocks and phone bookings.
/Results — 3

What it delivered

  • Guests can see which dates are taken and request a stay without calling first.
  • Unpaid holds release themselves, so dates go back on sale without anyone checking by hand.
  • Every booking step reaches the guest by email and SMS, and the team can trace each message in the SMS log.
Next step

Have a project like this?

Book directly into my calendar, or send the brief and I reply within one business day.