Airbnb Clone · Features

Airbnb Clone Features: Seven Service Types, One Booking Engine

The hard part of a rental marketplace is not the listing page. It is holding availability honestly, calculating a total that survives a coupon and a seasonal rate, and settling money to hosts net of a commission that must not change retrospectively. Here is everything that ships, grouped by who touches it.

Request a Live Demo →See Pricing
7 bookable service types
4 surfaces, one API
6 days to deploy
Availability
checked live
BOOKING TOTAL
SEASONAL + LOS + COUPON
COMMISSION
STORED ON THE BOOKING
never rewritten
Payout
net of fees
7
Service Types on One Engine
40+
Database Tables Across All Domains
20+
Operator Admin Modules
15
Languages Pre-Configured
By Role

Feature Set by Role

Every capability grouped by who actually touches it - the guest booking, the host listing and getting paid, and the operator taking a commission they control.

G

Guest App

  • Global search across every enabled service type
  • Filter by location, dates, guests, price, amenities and rating
  • Autocomplete on locations and listings, plus map view
  • Sort by price, rating or distance
  • Partial payment for deposit-based models
  • Balance reminders before arrival, invoice generation
  • Direct messaging with hosts, read receipts and file sharing
  • Reviews, wishlists and booking history
H

Host Console

  • Rich listing profiles with gallery and video
  • Multiple room types with independent pricing
  • Seasonal and date-based rate adjustment
  • Length-of-stay discounts and extra guest charges
  • Minimum and maximum stay, advance booking window
  • Calendar with room-level sync against double-booking
  • Earnings net of commission, payout requests
  • Host-configured fees such as cleaning and deposits
O

Operator Admin

  • More than twenty admin modules
  • Granular role and permission system
  • Host approval and listing moderation
  • Commission set globally or per host
  • Coupons with usage limits and minimum totals
  • Payout queue with review and completion
  • Featured listing placement sold as promotion
  • Service modules switched off without touching code
Seven Types

Airbnb vs Miracuves Clone vs Building From Scratch

The same capability, three different paths - and one difference that is not a matter of degree.

CapabilityOriginal AirbnbMiracuves CloneBuild From Scratch
Accommodation bookingYes - the whole productYes - room types, occupancy, bed config, check-in windowsThe part everyone starts with
Non-accommodation inventoryExperiences onlyCars, tours, boats, events and flights on the same engineA second booking model per type, or a second product
One checkout across typesNoA villa, a tour, a hire car and a boat in one transactionCross-type cart and settlement built from zero
Pricing engineYesSeasonal rates, length-of-stay discounts, extra guest charges, couponsWhere totals start disagreeing between screens
Availability integrityYesValidated at request time against date tables, room-level syncCached availability flags are how double-bookings happen
Commission handlingSet by AirbnbSet by you, globally or per host, stored on each bookingRetrospective rate changes corrupt historical payouts
Payment railsInternalSix pre-integrated plus an internal walletOne gateway, then an integration per market
LanguagesExtensiveFifteen pre-configured, RTL for Arabic and Hebrew, per-entity contentInterface strings only, then a retrofit for content
Source code ownershipN/AFull Laravel 10 source, no encrypted filesFull ownership (you are building it)
PriceN/A$2,499 one-timeSix figures and a year, typically

The row that matters is the second one. Airbnb itself does not sell you a car and a boat in the same basket - this platform treats all seven types as one polymorphic booking model, which is why enabling a new type later needs no rebuild.

End to End

How It Works, End to End

Follow one booking from search to host payout - the path where marketplaces actually break.

01

Search across every enabled type

Global search runs over stays, spaces, cars, tours, boats, events and flights at once, filtered by location, dates, guests, price, amenities and rating, with autocomplete and a map view. A guest never has to know which inventory type they are looking at.

02

Availability is checked, not assumed

Every result is validated at request time against the per-service date tables and existing bookings rather than a cached flag, with minimum and maximum stay enforced, the advance booking window respected, and room-level synchronization preventing a clash inside a single property.

03

The total is calculated once

Seasonal and date-based rates, length-of-stay discounts, extra guest charges, service fees and host-configured extras resolve in one pricing engine, then any coupon is checked against its usage limit and minimum total. The number the guest sees is the number that reaches the invoice.

04

Payment, in full or in part

Six gateways plus the internal wallet, with partial payment for deposit-based models and an automatic balance reminder before arrival. Card details go to the processor, never to your database, and the payment webhook that confirms it is signature-verified.

05

Commission is written down, then settled

The commission rate is stored on the booking at the moment it is made. Host earnings accumulate net of that stored rate, the host requests a payout from their dashboard, and you review and complete it in the payout queue - so changing your rate later never rewrites what a host already earned.

Step three is the one to scrutinise in any platform you evaluate. Because the rate is stored per booking rather than looked up at payout time, changing your commission later affects future bookings only and never rewrites what a host already earned.

Rationale

Every Feature Earns Its Place

Nothing here is on the list because it demos well. Each capability exists because leaving it out breaks something specific.

CapabilityWhy it is not optional
Commission stored on the bookingBecause a rate looked up at payout time means raising your commission silently re-prices every historical booking, and no host will trust your reporting again.
Availability checked at request timeBecause a cached availability flag is how two guests book the same room. The date tables are the source of truth, not a denormalised boolean.
Room-level synchronizationBecause a property with four room types is four inventories, and a clash inside one property is invisible to a property-level check.
Polymorphic booking modelBecause a separate model per service type means seven payment paths, seven payout paths and seven places for a bug to live.
Coupons with minimum totalsBecause a discount code without floors and usage limits is a way for one shared link to wipe out a month of margin.
Partial paymentBecause deposit-based bookings are the norm in villas, boats and events, and demanding the full amount up front loses those categories entirely.
Per-entity translationBecause translating interface strings while listings stay in one language gives you a localised shell around content nobody in that market can read.
Magic-byte upload inspectionBecause hosts upload property documents and photos all day, and an extension check trusts a filename an attacker controls.
Signature-verified webhooksBecause an unverified payment webhook is an endpoint that will mark bookings paid for anyone who finds it.

The Technology Behind the Features

A deliberately mainstream stack: PHP 8.1+ on Laravel 10 as a modular monolith with more than twenty domain modules, Eloquent ORM with parameterized queries throughout, and Sanctum tokens plus JWT for API authentication. Data sits in MySQL 8 or MariaDB across 40+ tables, with a polymorphic booking model spanning all seven service types, composite indexes on the polymorphic pairs and full-text indexes on searchable content. The public marketplace is Blade with Vue.js components in the admin surfaces, mobile is Flutter for Android and iOS from one codebase consuming the same REST API, and realtime messaging runs on Pusher with Chatify. Redis handles cache, session and queue drivers with workers under Supervisor, and media goes to S3 or GCS behind Nginx.

Laravel 10PHP 8.1+, modular monolith
40+MySQL tables
FlutterAndroid and iOS, one codebase
RedisCache, sessions, queues

None of this is exotic, and that is the point: any competent Laravel developer can maintain it, so you are not dependent on us to keep it running.

Honest Readiness

What Is Not Included in the Base Package

Everything above is in the base platform and demonstrable in the live demo. These are not, and we would rather you knew before you bought.

Stated against the feature, not implied away

A two-way channel manager for OTAs is an add-on, not base - iCal export ships for one-way calendar sync
Dynamic pricing is an add-on rather than a shipped feature
Additional local payment rails beyond the six are a customization
Custom OTA or PMS integrations are scoped separately
We do not hold an ISO 27001 certificate and do not claim one
Each payment gateway needs your own merchant account and its own approval
Your content, imagery and listing data are yours to supply
Custom work beyond the base is quoted at 2 to 8 weeks depending on scope

Where a control is configuration rather than shipped, the security documentation says so plainly rather than presenting a clean-looking table - see the Platform Trust section on the Development Company page.

Development Company

See how Miracuves compares to agencies and freelancers

The deployment process, a named client deployment in Italy, and what to check before you hire anyone - on the Development Company page.

See the comparison →
FAQ

Frequently Asked Questions

Do I have to use all seven service types?
No. Every service module can be switched off in the admin, which removes it from search, navigation and the host console. Most operators launch with one or two and enable more once supply exists. Enabling one later needs no rebuild, because they all share the same booking, payment and payout path.
How does the platform stop double-booking?
Availability is validated at request time against the per-service date tables and existing bookings, not read from a cached flag, and room-level synchronization prevents a clash inside a single property. Where you also sell through OTAs, iCal export keeps external calendars in step, and a two-way channel manager is available as an add-on.
Can I change the commission rate later?
Yes, globally or per host, as a percentage or a fixed amount. The rate is written onto each booking at the moment it is made, so changing it affects future bookings only and never rewrites what a host already earned. That is what keeps historical reporting and payout records defensible.
Which payment gateways are included?
Six ship pre-integrated: Stripe, PayPal, PayStack for African markets, Payrexx for European methods, an offline bank transfer flow with manual admin confirmation, and the platform wallet. Additional local rails are a customization, and because gateways sit behind a common interface, adding one does not disturb the others.
Can I run this in more than one language?
Yes, and at entity level rather than interface strings alone. Each listing, page and category carries its own per-locale content, with fifteen languages pre-configured and right-to-left layout supported for Arabic and Hebrew. Adding a language is an admin action, not a deployment.
How do host payouts work?
Host earnings accumulate net of commission and fees, calculated per booking at the rate stored on that booking. The host requests a payout from their dashboard, you review it in the payout queue and mark it complete once the transfer is made. Bank transfer and PayPal are supported out of the box.

See exactly what you are getting - before you commit

Request a working demo of the booking engine, the host console and the operator admin, or check exact pricing.

Ready to launch your own booking marketplace?

Deploy in 6 days with seven service types, four surfaces and the full Laravel 10 source, hosted wherever you choose.

Talk to Us →
Miracuves · Airbnb Clone Solution Feature set and readiness caveats cross-verified against the live hub, 2026-08-14