AED
Live · ongoing development In-house product

Travel technology · multi-vendor marketplace

Wenjoy — a UAE staycation marketplace with real booking logic

Wenjoy lets travellers find and book private farmhouses, villas and holiday homes across the seven Emirates, while hosts, agents and the platform team work from their own dashboards. The hard part was never the property gallery; it was making availability, pricing and payment states agree for everyone at once.

Custom web application development
Type
Multi-sided booking marketplace
Audience
UAE travellers, farmhouse and holiday-home hosts, booking agents
Stack
Laravel · MySQL · Bootstrap 5
Payments
Cards, Apple Pay, Google Pay, Tabby, Tamara
Ownership
In-house product (founder-owned)
Reviewed
23 October 2026 against the live site

Project overview

What Wenjoy does

Wenjoy is a marketplace for private stays in the United Arab Emirates. A traveller lands on the homepage, picks an emirate, a date range and a guest count, and browses farmhouses, villas and holiday homes with nightly prices in dirhams and guest reviews on every card. Behind that public surface sit three more audiences: hosts who list and manage properties, agents who bring bookings through their own channel, and the platform team who approve listings, handle support and keep the transaction record straight.

The product exists because independent UAE operators were listing on international travel sites that charge high commissions and understand little about a farm stay in Al Ain or a family villa in Ras Al Khaimah. Wenjoy gives those operators a direct channel with local payment methods, Arabic and English support and a catalogue organised the way people actually plan a weekend: by place, by dates, by who is coming.

Technically it is a Laravel application with MySQL behind it and Bootstrap on the front, which is a deliberately conventional choice. The interesting engineering is in the domain model: how availability, price rules, reservations, payment holds and refunds stay consistent when four different kinds of user can change them.

  • Laravel
  • PHP 8.2
  • MySQL
  • Bootstrap 5
  • Visa / Mastercard
  • Apple Pay / Google Pay
  • Tabby
  • Tamara
Editorial illustration of a UAE farmhouse stay booking journey, created for the Wenjoy case study (not a screenshot)
Editorial illustration for this case study — not a screenshot of the product. Real screens are shown further down.

The original challenge

Four audiences, one calendar

A booking site is not a gallery with a date picker. Once independent hosts, fluctuating nightly rates, deposits and third-party calendars enter the picture, the small details become the product.

Availability

A date can be blocked for different reasons

A night that a host blocks by hand is not the same as a night taken by a confirmed reservation, and neither is the same as a block imported from another platform. If all three write to one availability table without saying where they came from, removing a manual block can silently reopen a booked night.

Roles

Hosts, agents and admins need different powers

A vendor manages their own listings and calendar. An agent needs controlled access to make bookings on behalf of clients. Administrators oversee approvals, support, transactions and trust. Getting this wrong is a backend permission problem long before it is a dashboard design problem.

Money

Payment states have to be traceable

Holds, confirmations, cancellations and refunds each change what the guest sees and what the host is owed. A guest-facing action must be traceable back to an operator-side record, or support conversations turn into archaeology.

Mobile

Most browsing happens on a phone

Property imagery, nightly pricing, guest controls and emirate navigation have to be scannable on a small screen, in Arabic and English, without the search losing the dates the visitor already chose.

Engineering decisions & solutions

How we approached it

The decisions below are the ones that shaped the codebase. Each records the trade-off we accepted and what still needs work.

One source of truth for dates, with provenance

The challenge

Manual blocks, confirmed reservations and imported calendar entries all compete for the same nights.

Why it mattered

Without provenance, a host clearing a manual block could reopen a night that a guest has already paid for; the reverse can hide genuinely free nights and cost bookings.

Our approach

Treat owner-managed blocked dates as their own explicit records and write them through to listing availability, with separate paths for integration imports and true reservations.

Implementation

Blocked dates are stored with their origin and written through to the availability the search reads. Reservations change availability only through the booking workflow. A calendar-app single-device takeover and PIN access were introduced so two sessions cannot edit the same host calendar against each other.

Trade-offs

Keeping the origin of every block adds a layer of bookkeeping and more cases to test; a single flat table would have been simpler to build and far harder to trust.

Outcome

Manual blocks and reservations no longer overwrite each other. Third-party channel sync is still being verified connection by connection and is not described here as complete.

Separate experiences for guests and operators on one search index

The challenge

Guests want a fast, visual search; hosts and agents want management screens; both must reflect the same listings instantly.

Why it mattered

A new listing that takes hours to appear in search, or a dashboard that shows different availability from the public page, destroys trust on both sides.

Our approach

Keep one catalogue and one availability model, and build the guest site and the operator dashboards as separate interfaces over it.

Implementation

The public site groups farmhouses and holiday-home types, filters by emirate, stay dates and guest count, and renders property cards with price and review counts. Host onboarding, property management and agent access are separate authenticated areas reading the same records.

Trade-offs

Two interfaces mean two sets of screens to maintain; the alternative of a single generic admin would have been cheaper and much worse for guests.

Outcome

Listings appear in search as soon as they are approved, and operators see the same availability the public sees.

Local payment methods from day one

The challenge

UAE guests expect card payments, wallet payments and buy-now-pay-later options; international platforms rarely offer the last.

Why it mattered

Checkout friction is where marketplace bookings die, and a share of the local audience will not complete a card form on a phone.

Our approach

Integrate a payment stack that covers cards, Apple Pay, Google Pay and the regional instalment providers Tabby and Tamara, and model each provider's hold, capture and refund behaviour explicitly.

Implementation

The live checkout displays Visa, Mastercard, Apple Pay, Google Pay, Tabby and Tamara. Payment states (hold, confirmed, cancelled, refunded) are recorded against the booking so the guest view and the operator view agree.

Trade-offs

Each provider has different authorisation and refund semantics, which multiplies the test matrix; a cards-only checkout would have been simpler and would have excluded instalment buyers.

Outcome

Local payment choice is live. Regression testing of authorisation and refund scenarios across providers remains an ongoing engineering task.

Emirate-first navigation and bilingual support

The challenge

Travellers plan by place and date, not by an internal property taxonomy.

Why it mattered

A catalogue organised around database categories forces visitors to translate their plans into the site's vocabulary instead of the other way round.

Our approach

Build navigation and landing pages around emirates and property types, keep dates and guest counts sticky through the journey, and support Arabic and English visitors.

Implementation

The homepage and footer expose emirate pages (Dubai, Abu Dhabi, Sharjah, Ajman, Ras Al Khaimah, Fujairah, Umm Al Quwain, Hatta, Al Ain, Dibba) and property-type collections; support is offered around the clock in Arabic and English.

Trade-offs

Place-based landing pages need real inventory in each place to be worth indexing; thin emirates are kept as navigation rather than promoted as destinations.

Outcome

Visitors can move from a city to a dated, priced list of stays in two clicks on mobile.

Main features

What the product actually does

Everything listed here is visible on the public site or documented in the project; nothing is a roadmap item dressed up as a feature.

Search by emirate, dates and guests

Purpose
Turn a plan into a shortlist quickly.
How it works
An emirate filter, a date range and a guest count drive the results; property-type collections give a browsing route for people without fixed dates.
Benefit
Guests see only stays that fit the trip; hosts get enquiries that match their property.
Technical note
Dates and guest count persist across property pages so a visitor never re-enters them.

Property pages with transparent pricing

Purpose
Let a guest judge a stay without contacting anyone.
How it works
Imagery, nightly prices in AED, guest limits and reviews sit on every property card and page.
Benefit
Fewer pre-booking questions and fewer surprises at checkout.
Technical note
Review counts shown on cards come from guests who booked through the platform.

Host onboarding and property management

Purpose
Give independent operators their own channel.
How it works
A host registers, lists properties, manages photos, pricing and blocked dates, and sees bookings in one dashboard.
Benefit
Direct bookings instead of commission-heavy international listings.
Technical note
Listings go live after platform approval.

Agent access

Purpose
Let booking agents work on behalf of their clients.
How it works
Agents have a separate registration and sign-in with controlled permissions scoped to what an agent should do.
Benefit
A second acquisition channel without exposing host tools.
Technical note
Agent permissions are enforced server-side, not just hidden in the interface.

Availability calendar with provenance

Purpose
Keep every blocked night explainable.
How it works
Manual blocks, reservations and imports are stored with their origin and written through to the availability the search uses.
Benefit
No accidental double bookings from a cleared block.
Technical note
Single-device takeover and PIN access protect host calendars from conflicting sessions.

Local payment methods

Purpose
Match how UAE guests actually pay.
How it works
Checkout supports cards, Apple Pay, Google Pay and the instalment providers Tabby and Tamara.
Benefit
Fewer abandoned checkouts on mobile.
Technical note
Each provider's hold and refund behaviour is modelled as explicit booking states.

Admin operations

Purpose
Keep the marketplace trustworthy.
How it works
Administrators approve listings, handle support and review transactions from an operator area.
Benefit
A reliable record of what happened when a booking changes.
Technical note
Operator actions are the audit trail support staff rely on.

Bilingual, mobile-first interface

Purpose
Serve the local audience on the devices they use.
How it works
Responsive Bootstrap layouts with Arabic and English support and round-the-clock support channels.
Benefit
The same journey works on a phone in either language.
Technical note
Place-based pages double as the site's SEO entry points.

Technical architecture

What it is built on

The stack is conventional on purpose. Laravel gives us routing, authentication, queues and a mature ORM; MySQL holds listings, availability, bookings and payment states; Bootstrap keeps the responsive layout predictable across hundreds of screens.

The parts that carry the risk are the domain rules: how a blocked night is represented, which role may change what, and how a payment event moves a booking between states. Those live in application code and are covered by scenario tests rather than left to the interface.

What we deliberately leave out: credentials, hosting topology, internal endpoints, provider keys and fraud rules are intentionally not described.

LayerWhat is in place
BackendLaravel (PHP 8.2) application with role-based authorisation for guests, hosts, agents and administrators
DataMySQL: listings, media, availability with provenance, reservations, payment states, reviews
FrontendServer-rendered Blade views with Bootstrap 5, responsive from 360 px upwards, Arabic and English
PaymentsCard, wallet and instalment providers (Visa, Mastercard, Apple Pay, Google Pay, Tabby, Tamara) mapped to explicit booking states
AvailabilityOwner blocks, reservations and imported entries stored separately and written through to the searchable calendar
Calendar sessionsSingle-device takeover and PIN access for host calendar editing
DiscoveryEmirate and property-type landing pages, date and guest filters, review counts on cards
OperationsListing approvals, support tooling and transaction review in an administrator area

User experience & responsive design

The real screens, desktop and mobile

Genuine screenshots of the public site captured on 23 October 2026. Hover and click any image to open it in the viewer; click again for actual size.

Wenjoy homepage on desktop: staycation search by emirate, dates and guests above farmhouse and villa listings (screenshot, 23 October 2026)
Desktop homepage, 1440 px wide, scrolled in full.
Wenjoy homepage on a mobile viewport with the stay search and property cards (screenshot, 23 October 2026)
Mobile viewport, 390 × 844.
Wenjoy About page headed 'The UAE's trusted home for stays & experiences', listing farmhouse stays, holiday homes and curated activities (screenshot, 23 October 2026)
The About page: farmhouse stays, holiday homes and curated activities, with the marketplace's own answers on verification and payment.

Plan-first navigation

The first screen asks the three things a traveller already knows: where, when and how many. Everything else, from property types to emirate pages, is a shortcut into that same search.

Price and trust on the card

Nightly price in AED, review count and the key facts appear before a visitor opens a property, so the shortlist is built from comparable cards rather than from hero images.

Mobile hierarchy

On a phone the imagery leads, the price stays visible, and the booking controls sit where a thumb reaches. Emirate chips replace deep menus.

Separate operator screens

Hosts and agents get task-oriented dashboards instead of a cut-down version of the public site; the vocabulary is theirs (listings, calendar, payouts), not the guest's.

Bilingual by design

Arabic and English support is part of the product, with support offered in both languages, not a translation layer bolted on afterwards.

Accessible structure

Headings follow the page outline, controls are real buttons and links, and the forms behave on keyboard. Colour contrast on price and review text is kept high against photography.

Technical challenges & resolutions

Challenges, decisions & solutions

Each row records how it was verified and what remains open. Items marked as recommendations have not been implemented yet.

ChallengeRoot cause / constraintSolutionVerificationResult or remaining limitation
Cleared manual blocks could reopen booked nightsOne availability table with no record of why a night was unavailableStore blocks with their origin; write reservations through the booking workflow onlyScenario tests on block, book, unblock sequences; manual review of host calendarsFixed in the application; third-party channel sync still being verified per connection
Two sessions editing one host calendarHost accounts shared across devices and staffSingle-device takeover and PIN access for calendar editingExercised during host onboarding supportIn place; usability feedback from hosts is still being gathered
Payment state visible to the guest did not always match the operator recordProvider callbacks arriving out of orderExplicit booking states driven by provider events, with the operator record as the source for the guest viewSandbox runs per provider; production monitoring of state transitionsImproved; full regression coverage of authorisation and refund paths across all providers is an open item
Agents needed access without host powersA single 'operator' role had been assumed early onSeparate agent role with server-side permission checksRole-based tests; manual checks of agent screensDelivered; the agent registration flow is being reviewed as part of ongoing QA
Search felt slow on image-heavy result pagesLarge property images loaded eagerlyLazy loading below the fold and sized image slotsBrowser profiling on mobile throttlingImproved; formal Core Web Vitals documentation is still to be published (recommendation)

Estimated market development cost

What would a similar website cost to build?

If a UAE business commissioned a marketplace with this scope today, these are the ranges we would expect from a competent agency. They are editorial estimates for comparable work, starting from the project's documented scope and checked against public 2026 pricing guides.

Comparable scope, 2026 market range

AED 120,000 – 350,000

Roughly 700–1,400 hours of design, engineering, QA, documentation and deployment at a blended agency rate; scope-dependent.

The range covers the live scope: public discovery, host, agent and admin areas, the availability model and the payment stack. Ongoing channel-sync work and marketing are additional.

Illustrative market development estimate for a comparable scope. This is not the actual project invoice, historical development cost or amount charged to a client.

Comparable delivery componentEstimated range (AED)
Product discovery, flows and interface design10,000 – 25,000
Property listings, discovery and guest checkout20,000 – 65,000
Host, agent and administration dashboards25,000 – 85,000
Booking calendar and integration work30,000 – 90,000
Payment flows, policies and lifecycle states15,000 – 45,000
QA, deployment and production hardening20,000 – 40,000

Component ranges are illustrative phase allocations, not measured hours or invoices. Third-party subscriptions, paid APIs, content production, hosting and marketing are excluded. Market context: Clutch web development pricing guide (Sept 2026), Dubai website cost comparison (Sept 2026) — editorial estimates by WebStackRank, not independently obtained quotes.

Results & outcomes

What was delivered

Wenjoy is a working marketplace, and the outcomes below are the ones a visitor can confirm on the site today. We publish no booking volumes, revenue or conversion rates for it because none have been independently verified for publication.

Live

A public booking surface

Search by emirate, dates and guests; property pages with AED pricing and reviews; emirate and property-type landing pages across the seven Emirates.

Live

Operator ecosystem

Host registration and management, agent registration and sign-in, and an administrator area for approvals, support and transaction review.

Live

Local payment stack

Cards, Apple Pay, Google Pay, Tabby and Tamara at checkout, with payment states recorded against each booking.

Engineering

Dependable availability

Blocked dates carry their origin, reservations flow through one workflow, and host calendars are protected from conflicting sessions.

Engineering

Bilingual, mobile-first delivery

A responsive interface with Arabic and English support that holds the visitor's dates and guest count through the journey.

Operational

Traceable bookings

Support staff can follow a guest-facing action back to the operator record that caused it.

What this page does not claim: the homepage counters, listing totals, revenue, conversion rates and the completeness of third-party calendar connections. Those figures are not published here until they have been verified from production records.

Lessons learned

What this project taught us

  1. The differentiator is not another set of property cards; it is a booking system that gives guests, owners and administrators the same dependable picture of availability and responsibility.
  2. Recording why a night is unavailable costs a little bookkeeping and saves the worst class of marketplace bug: the double booking that nobody can explain.
  3. Payment providers differ in the details that matter (holds, captures, refunds). Modelling booking states explicitly is cheaper than patching each provider's quirks into the checkout.
  4. Separate operator interfaces over one data model are worth the duplication; a single generic admin would have been faster to ship and slower for every host that used it.
  5. Place-based navigation only earns its keep where there is inventory; thin emirates should be routes, not destinations, until listings catch up.
  6. Next time we would document the payment and calendar test scenarios as a public QA matrix from the start, so claims about integrations never run ahead of the evidence.

Project status

Where it stands today

Live · ongoing development

wenjoy.ae is a working public marketplace: visitors can search by emirate, dates and guests, open property pages with nightly prices in AED and reviews, and reach host, vendor and agent entry points. Development continues on calendar integrations and payment-lifecycle hardening.

Status and figures reviewed on 23 October 2026 against the public site. Wenjoy is an in-house product: it is owned and operated by the WebStackRank founder, not commissioned by an outside client.

Open items & roadmap

Still on the list

  • Verify each third-party calendar connection end to end before describing channel sync as complete.
  • Finish regression coverage of payment authorisation and refund scenarios across every provider.
  • Publish Core Web Vitals measurements for the search and property pages.
  • Confirm review authenticity rules and booked-date integrity checks as the host base grows.
  • Record production listing and booking figures before any of them appear in marketing copy.

Have a similar project in mind?

Whether you're planning a booking platform, SaaS product, business website or custom application, WebStackRank can help you turn the idea into a practical, maintainable digital product.

Get a free quote

An itemised proposal within 24 business hours. No generic decks, no pushy calls.

No subscriptions, no spam. We reply within 24 business hours.

Esc to close · arrow keys for previous and next · click the image for actual size