Booking platform

Wejha Application

A property-booking platform with an admin dashboard, an owner portal and APIs, including unit pricing, time slots and Google Maps locations.

Wejha Application
Type
Property booking platform
Domain
Hospitality & short stays
My role
Backend developer · admin, owner portal & APIs
Stack
Laravel · PHP · MySQL · Google Maps API

Overview

Wejha is a booking platform for holiday and housing properties of many types. Guests book units, owners manage their properties, and administrators run the whole platform.

It has four parts: the public website, an owner portal, an admin dashboard and APIs. I worked with one other developer and was responsible for the admin dashboard, the owner portal and the APIs.

The challenge

Property owners need full control over their units, prices and availability, and the platform team needs to oversee bookings, payments and reviews across every owner. Mobile apps also had to use the same data through APIs.

My role

I built the admin dashboard and owner portal, including their reports and business logic, and created the API endpoints for the owner portal.

Technical challenges

  • Two levels of control. Owners manage their own units while admins can see and manage everything, using the same data.
  • Detailed unit data. Units carry prices, time slots, images, map pins and many property attributes.
  • Maps with permissions. Unit pins on Google Maps can be created and moved depending on the user's permissions.
  • API parity. Mobile apps needed endpoints covering everything the owner portal can do.

Outcomes

Owners can list and manage units, follow bookings and payments, and export reports. The platform team manages bookings, reviews, content and settings from one dashboard, and mobile apps use the same features through the API.

Lessons learned

  • Build the owner portal and the API from the same business logic so they stay in step.
  • Configurable property attributes are easier to grow than fixed columns.
  • Reports with date ranges and Excel export are what owners use most.
What was built

Admin dashboard, owner portal and APIs

Admin dashboard

  • Bookings, units and payments
  • Reviews moderation
  • Property attributes, cities and districts
  • Sliders, FAQs, messages and settings

Owner portal

  • Add and manage units
  • Prices, time slots, images and map pins
  • Bookings and payments
  • Reports with Excel export

APIs

  • Owner authentication
  • Units and bookings endpoints
  • Payments and reporting endpoints
  • Used by the mobile apps
Important decisions

Key decisions and trade-offs

One logic, many clients

Problem
The owner portal and mobile apps offer the same features.
Decision
Shared back-end logic behind both the portal and the API endpoints.
Trade-off
Consistent behaviour; API changes need versioning care.

Google Maps integration

Problem
Guests need to see exactly where a unit is.
Decision
Units carry map pins that owners and admins can place and move, based on permissions.
Trade-off
Accurate locations; depends on an external API.

Configurable attributes

Problem
Properties differ in capacity, pools, views, kitchens and more.
Decision
Each attribute type is its own managed category.
Trade-off
New attributes need no code; more admin screens to maintain.
Capabilities

What the platform covers

Bookings
Units
Time slots & pricing
Google Maps pins
Payments
Reviews
Excel reports
Owner portal
REST APIs
Roles & permissions
Multilingual
Dark & light mode
Next step

Have a technical challenge?

Tell me about your application, your goals and your constraints. We'll work out the right next step together.