All work

Case study · 03 / 04

Sakan Holiday

B2C short-term rental marketplace built and scaled over 3.5 years. Multi-country, multi-currency, multi-payment-gateway.

Role
Lead full-stack engineer
Timeline
Aug 2020 – Mar 2024
Status
Live

The problem

Property owners across the GCC — chalets, apartments, resorts, farmhouses, caravans — were managing short- and long-term rentals via WhatsApp, spreadsheets, and direct phone calls. There was no single place where seekers could browse the inventory, see availability, pay locally, and book.

A platform had to handle the regional realities: multiple currencies (KWD, SAR, AED, BHD), local payment rails (K-Net, Tap Payments, MyFatoorah), bilingual content, sales-agent commissions, and a CMS the owners themselves could operate.

My approach

A Laravel + MySQL monolith with strict separation between owner-facing dashboards, seeker-facing browse and booking flows, and an internal admin/back-office. CMS designed so non-engineers (regional sales agents and content ops) can run it day-to-day.

Multi-region access in the CMS, multi-facility availability calendar, content-quality scoring, affiliate program — all built into the same platform rather than bolted on. Payments routed through K-Net / Tap / MyFatoorah depending on country and currency, with idempotent webhook handlers.

Delivered

What I shipped.

  1. 01

    B2C marketplace with multi-country + multi-currency

    Browse, search, availability calendar, booking, payment, confirmation — fully bilingual, with currency and payment gateway selected by the user’s country.

  2. 02

    Owner & seeker dashboards

    Property owners manage inventory, pricing, availability, and bookings; seekers track upcoming and past stays.

  3. 03

    Multi-region CMS

    Regional sales agents have scoped CMS access — they can manage their territory’s inventory and content without touching everyone else’s data.

  4. 04

    Sales-agent module + affiliate program

    Tracked commissions, agent attribution on bookings, payout reports.

  5. 05

    API outputs to travel agents

    JSON / XML feeds so partner agencies could resell inventory programmatically.

  6. 06

    Companion mobile app

    Native-feel mobile experience for browsing and booking on the go.

Decisions

Worth calling out.

  1. 01Payments as a routing problem, not a single integration

    No single payment gateway covers the GCC end-to-end. Every booking carries a country and currency context that picks the right rail (K-Net for Kuwait, MyFatoorah / Tap for cross-region) — with idempotent webhook handlers so a retried callback never double-credits.

  2. 02CMS designed for the actual operators

    Sales agents speak Arabic and English; the CMS supports both with full RTL and locale-aware field labels. Regional access scoping prevents accidental cross-territory edits.

Outcome

Live at holiday.sakan.co. Used by chalet owners, apartment landlords, resort operators, and travel agents across the region. Continued to operate after I transitioned out of the engineering role into product.

Stack

  • PHP
  • Laravel
  • MySQL
  • jQuery
  • Bootstrap
  • K-Net
  • Tap Payments
  • MyFatoorah
  • Google Maps API

Working on something similar?

Free 15-minute discovery call. We’ll work out whether I’m the right person for it, and if not, I’ll point you somewhere better.

Next case study

AI Automation & n8n

Production AI workflows: code review pipelines, content generation, custom MCP tooling — used in real operations, not as demos.

Read the case study
Sakan Holiday · Alex Thomas