Build with AI

How to build a rental booking platform with v0

Build your rental marketplace UI-first with v0. Generate search, listing, and checkout pages in live preview before touching any backend code. Once the design is ready, connect your database to save bookings and enforce guest, host, and admin security roles, all within the same chat.

August 2026 · 36 min read · Updated September 2026

v0

$ Sketch a rental marketplace: a search page and a listing page for guests, a dashboard for hosts to manage their listings and payouts, and an admin view for disputes. Once those exist, connect a database and lock every table down so each role only reaches what it should.

  • Screens sketched in the live preview
  • Database connected and routes written
  • Ready for a pull request
You describe it, v0 builds it
Start here

What a rental booking platform actually is

A rental booking platform, the shape Airbnb popularized, is where guests search and book a stay, hosts list a property and get paid for it, and someone in the middle keeps the whole marketplace honest.

Before a platform like this, a host runs bookings over email, a shared calendar, and a bank transfer, so double-bookings happen, payouts get delayed, and disputes have nowhere to go. A rental marketplace pulls all three sides into one system.

The genuinely hard parts are the availability calendar, which can never double-book a night, and the booking-and-payment lifecycle that holds a guest’s money, confirms the stay, and eventually pays the host their share. The listing pages are the easy part. Get those two right and the rest of the marketplace is mostly screens on top.

Three sides, one system

Guests, hosts, and admin all work off the same data: a booking a guest makes is the same row a host gets paid against, and the one an admin sees if something goes wrong.

A calendar that can’t lie

Availability has to be enforced in the database, where it can’t be gamed, rather than hidden in the UI, or two guests can end up confirmed for the same night.

Money that moves twice

A booking payment is held, confirmed, and then split into a host payout and a platform commission. Model that lifecycle once, and every screen that touches money reads from the same truth.

A market moving fast

$219.9B

in global short-term rental bookings in 2025, growing at a 5.3% clip toward $270.6B by 2029, per Phocuswright’s 2026 market-sizing report.

Phocuswright Research, 2026 (Global Short-Term Rentals 2026 report) · checked August 2026

What a rental marketplace needs

The parts every rental platform is built from

Before you build, it helps to know the pieces. Almost every rental marketplace comes down to these six. Each one is something you can ask your AI coding tool to build or extend in plain words.

01

Listings and search

Hosts create listings with photos, amenities, and pricing. Guests search and filter by location, dates, and price. Everything else in the marketplace hangs off a listing.

02

An availability calendar that can’t double-book

Each listing’s calendar blocks a date the moment it’s booked, so two guests can never be confirmed for the same night.

03

The booking and payment lifecycle

A guest requests dates, pays, and gets a confirmation. The booking moves through hold, confirmed, completed, or cancelled without anyone editing a spreadsheet.

04

Host payouts and commission

The platform takes its cut and pays the host the rest, on a schedule the host can see, rather than a manual transfer you run yourself.

05

Reviews and messaging

Guests and hosts message each other about a booking and leave reviews afterward, so trust builds the way it does on any real marketplace.

06

Admin moderation and disputes

An admin has to step in when a listing is misrepresented or a booking goes wrong. Moderation tools and a dispute queue are what make that possible.

Build vs buy

Own your marketplace or rent the software forever

Most people building a rental business reach for hosted booking software, then watch the bill climb with every listing they add. Owning your platform flips that. Here’s the trade-off, side by side.

Build your own

Your own rental platform is a one-time build you shape exactly to how you run bookings, and with an AI coding tool writing the plumbing, that build is days, not a quarter.

  • Pay to build it once, then only your own infra bills: no per-listing or per-booking fee
  • A booking flow, cancellation policy, and payout split that match exactly how you run stays
  • Add unlimited listings and hosts without jumping to a bigger tier
  • Keep 100% of your booking revenue: no revenue-share cut to a vendor
  • Add your own AI features on the model you choose: guest replies, pricing suggestions, listing copy
  • Full ownership of the code and data: export anytime, zero lock-in

Buy hosted booking software

Lodgify · Guesty · Hostaway · Sharetribe

Hosted booking software, or a no-code marketplace builder, is faster to switch on, but the bill scales with every property, listing, or transaction you add, and you work inside their calendar and payout rules.

  • Live in minutes: sign up and start, nothing to build or host
  • Channel sync to Airbnb and Booking.com on Lodgify, Guesty, and Hostaway, but not on Sharetribe, which is its own marketplace rather than a channel manager
  • Support and onboarding included
  • Per-property, per-listing, per-reservation, or (on Sharetribe) a subscription plus per-transaction fees past a free quota. Every shape climbs as you grow
  • Their booking flow, cancellation rules, and payout schedule: not yours to change
  • Deep customization is capped or unavailable
  • Your guest and payout data live on their servers
LodgifyFrom $14/property/mo (Basic, 1 property, annual) - Professional/Ultimate run $116-$270/mo at 5-10 properties

Basic and Starter are hard-capped at 1-2 properties, so a real multi-property operator lands on Professional or Ultimate, from $42/mo (1 property, annual) up to $270/mo (10 properties, Ultimate, monthly). Lodgify’s own FAQ, verbatim: “No, there’s no setup fee when joining Lodgify. Free onboarding is included,” and “No. Lodgify does not take a cut of your bookings. You pay a flat subscription fee and keep 100% of your rental income.”

lodgify.com · checked August 2026

GuestyFrom $9/listing/mo (Lite, 1-3 listings) + 1% per reservation - Pro (4-199 listings) is quote-only

Lite carries a flat 1% per-reservation fee on top of the subscription. Guesty’s page doesn’t say whether that continues once you’re quoted into Pro. Our three-sided marketplace competes with a multi-listing operation, which is Guesty’s Pro tier: no public price, quote only.

guesty.com · checked August 2026

HostawayNo public price - contact-sales only, at every tier

Hostaway’s pricing page is a lead-gen funnel: it asks how many listings you manage, then asks for contact details to “get a free quote.” No price is published anywhere on the page, at any tier.

hostaway.com · checked August 2026

SharetribeBuild $39/mo is test-only. Live plans are $99/mo (Lite), $199/mo (Pro) and $299/mo (Extend), all billed yearly

Build is the test-only plan, so a live marketplace starts at Lite. Lite has no custom domain, which is why Pro is the tier most marketplaces actually launch on: it adds a custom domain and third-party integrations, and includes 250 free transactions a month, then $0.19 or less per transaction beyond that. The page publishes yearly rates only, so no month-to-month figure is quoted here. Payment processing is not included: Sharetribe’s own FAQ says, verbatim, “Typically, this is around 1.5-3% of the transaction size,” charged by Stripe on top. Setup fee: none. The FAQ states, verbatim, “All of Sharetribe’s fees are outlined on this page.”

sharetribe.com · checked September 2026

Rule of thumb: if you run more than a handful of properties and want the booking flow, cancellation policy, and payout split to match exactly how you operate, building your own pays for itself within months of what a per-listing subscription would have charged. If you need built-in OTA channel sync today and would rather not touch a codebase, buy, then revisit once the bill outgrows the value.

No dev needed

Why build with v0

v0 starts with the screens: forms, tables, dashboards, whatever the interface needs, generated in React and Next.js from a plain description. That’s the part most people notice first, because it’s fast and it looks finished immediately.

The backend isn’t automatic in the same way. v0 can write it too, meaning Next.js routes and server logic that read and write real data, but you ask for it, usually once the UI already exists and there’s something real to connect it to:

The build loop
1

Sketch

Describe the screen or component you want.

2

Preview

See it rendered live, and select any part of it to adjust directly.

3

Connect

Add a database and the routes that read and write to it, once the UI needs somewhere real to save.

Iterate

Prompt again for the next screen or the next piece of logic.

Loop back to Describe

The order matters here more than with a full-app builder: v0 gets you a finished-looking interface fast, and the data underneath doesn’t show up until you ask for it and give it somewhere to live.

One clickconnects a database

Supabase, Neon, and Upstash are integrations you add from the project menu once a screen needs to hold onto something real, and v0 provisions the credentials and writes the routes that use them.

Live preview is the feedback loop

Every prompt updates the working interface right there in the chat, so you see the actual screen changing instead of imagining it from a description.

Design mode edits without a prompt

Select an element in the live preview, adjust its style directly or type a plain-language instruction, and v0 applies the change back to the real source code as a new version.

What it costs

Pay a developer, or do it with AI

Two ways to get the same app built: pay a developer for their hours, or spend your own describing it to an AI coding tool. Here is what each one costs to build, and what it costs to keep running once it is live.

Hire a developer

Custom build, from scratch
Developer
~$15k-$58k
Supabase (backend)
Free tier · $25/mo (Pro plan)*
Hosting
$0 free tier
Build time
~290 hrs of their work

~$15k-$58k to build, then ~$25/mo after launch

That range is our ~290-hour estimate priced at market dev rates: North American freelance rates run about $40-$150/hr depending on seniority, and agencies add another 20-40% on top, so roughly $50/hr at the low end up to ~$200/hr for an agency, all spent just to get listings, bookings, payouts, and admin moderation working before launch. After that, your only ongoing costs are Supabase and hosting.

Build it with v0

From scratch, with v0
v0
$0 ($5/mo of credits) to $30+/month (Plus)
Backend (Supabase)
Free tier · $25/month (Pro plan)*
Hosting (Vercel)
Free on Vercel’s Hobby plan
Your time
~139 hrs

Free to try the idea, ~$30+/month on Plus while you build a real one, then whichever plan you keep using

v0 bills in dollars of credit rather than a flat fee, so cost tracks usage: importing the pre-built template can fit inside Free’s $5 a month, while a from-scratch build runs into Free’s 7-messages-a-day cap quickly and usually needs Plus, at $30 per user per month with no annual discount shown. Because v0 generates the interface and the backend as separate steps rather than one pass, expect more prompts to reach the same result than a tool that writes both together.

* Supabase is free while you build and for light use, though projects pause after 1 week of inactivity, and the free tier caps you at 500 MB of database and 2 active projects. The Pro plan, from $25/mo, keeps your database running around the clock for real guests and hosts.

Either way you own the code outright, so there is no per-listing subscription and every new host account costs you nothing. The one cost neither column shows is the payment processor’s fee on each booking, because a guest’s money has to reach a host somehow. That fee is a percentage of what you take rather than a monthly bill, so it grows with your bookings and not with your listings. The payments section below prices the three usual ways to move it.

Prices and rates from supabase.com, developex.com, v0.app, v0.app and vercel.com, checked August 2026.

Plan first

Decide before you build

Get these right before you start building, and the rest is smooth sailing. Each is a decision to make, not code to write.

01

What a listing is

Every booking starts here: title, description, location, photos, amenities, base nightly price, and any extra fees (cleaning, pet, weekend). Decide what a listing needs before you write the schema, because it is the one table everything else links to.

02

Availability and pricing model

Price nightly, weekly, or both. Add a minimum-stay rule, blackout dates a host blocks by hand, and whether price varies by season or day of week. Settle this early, because it shapes the calendar table and the booking form both.

03

Who takes payment, and how payouts split

Decide whether your platform account takes the guest’s payment and pays the host their share afterward, or the host’s own connected account takes it directly. Either way, settle your commission percentage before you build the payout logic, not after.

04

Three-sided roles

Guest, host, and admin, plus whether one person can be both a guest and a host on the same account, which is the normal case on a real marketplace. Decide this before you write the access rules, because it changes what a role even means.

05

Cancellation policy

Flexible, moderate, or strict, plus how much of the guest’s payment gets refunded at each cutoff. This is a business decision as much as a technical one, and it drives the refund logic in the payment lifecycle.

06

Which payment provider

Stripe Connect is the standard choice for a marketplace that splits one payment between the platform and a host, because it is built for exactly that. Decide this up front, because it shapes the payments schema and the payout screens both.

Approaches

Comparing your build options

Where you start decides whether these hours go into wiring a backend from nothing, or into the screens guests and hosts actually use. Here’s the same rental marketplace, three ways: by hand, with a UI kit that never gets past the front end, or in v0, sketching the interface fast, then connecting it to a real database once there’s something to save.

~290 hrsBuilding by hand

Weeks of setup (three sets of accounts, an availability calendar, payments, and payouts) before writing your first real feature. Full-stack complexity, entirely on you.

~215 hrsGeneric UI starter kit

You get front-end screens for guests, hosts, and admin, but nothing behind them: no database, no booking logic, no payouts. The entire backend is still yours to build.

~139 hrsBuilt with v0

Sketch the screens first, then connect a database and ask for the API routes that make them real. The same list of tasks, split into two deliberate passes instead of one continuous build.

Interactive calculator

Estimate your exact build timeframe

Tick the features your marketplace actually needs and get an instant, realistic estimate tailored to your exact scope, so you stop guessing at a timeline.

What your rental marketplace needs

Your estimate

139 hrs

start to finish

Based on the 6 of 6 features you’ve selected, plus ~34h of groundwork. Toggle any on the left to watch the number move, and open the groundwork row to untick what you have already, such as a database that is already running or going live if you are only building a mock-up for now.

A rough estimate, not a quote. Real time depends on how much you customize and how clean your data is.

Setting up your workspace

Let’s set up the tools you need

v0 runs entirely in the browser too, so there’s no download and no terminal. Before step 01: sign up, pick a plan, and know that a database is one click away once a screen actually needs to save something. GitHub is the last piece, and it’s what turns the chat into a project you can hand to someone else.

1

v0 account

Cost: Free

Sign in with a GitHub, Google, or email account and you land in a chat where you describe the interface you want. There’s nothing to install.

Sign up for v0
2

v0 subscription

Cost: Free ($5/month of credits), then $30/month (Plus)

Free includes $5 of credits a month, capped at 7 messages a day, which is fine for trying a few screens and thin for a real build. Plus is $30 per user per month, billed monthly only (v0’s pricing page shows no annual option), and it’s the realistic floor once you’re iterating past a handful of screens.

Compare v0 plans
3

Database (Supabase, Neon or Upstash)

Cost: Free to start

Where your project keeps its data, added when a screen needs one. v0 generates the interface first. A database is a one-click integration you add from the project menu once a screen needs somewhere real to save to, with Supabase, Neon and Upstash as the options, and connecting one lets v0 write the routes that use it.

Connect a database in v0
Optional
4

GitHub connection

Cost: Free

Not needed to build anything, since v0 keeps its own history of every change. Connect a repository from the chat’s Git panel and v0 also commits every code-changing message to its own branch, ready to merge as a pull request. That is the step that turns the chat into a project other tools, and other people, can use.

Connect v0 to GitHub

The database step is the one worth not skipping once your screens need real data. Everything else here takes a couple of minutes, and after that you’re just describing what you want.

Step by step

Build your marketplace core: screens first, backend behind them

v0 generates a working interface before it generates a backend, so the order below runs the opposite way from a tool that writes both at once: sketch the screens that need real data, connect a database, then build the rest against it. Send one message, check the live preview, then send the next.

  1. 01

    Sketch the search and listing screens, no backend yet

    Start a new v0 chat and describe the two screens every visitor sees first, before a database exists behind them. v0 generates a working Next.js interface you can click through right away, filled with placeholder listings. The real data comes in the next step.

    PromptSketch the first screens
    Build a Next.js app with Tailwind for a rental marketplace. Start with two screens: a searchable listings page (cards showing photo, title, location, and nightly price, with filters for location, dates, and price) and a listing detail page showing photos, amenities, and an availability calendar. Use realistic placeholder data for now. We’ll connect a real database in the next step.

    Placeholder data is deliberate here, because it’s faster to see the shape of a screen before there’s a schema underneath it.

  2. 02

    Give those screens something real to save: connect Supabase

    Connect a Supabase project from the project menu, then ask for the two tables the screens from step 01 actually need: a listing, and a calendar that can never double-book it.

    PromptConnect Supabase and model listings and availability
    Connect this project to a Supabase database from the project menu. A listing needs an owner (the host), a name and a description, a place, a list of amenities, what it costs a night, and a set of photos. Store the photos in Supabase Storage rather than the database row itself. Alongside it, track which date ranges are already booked on each listing, and stop a new booking from landing on one that already exists with a database-level constraint, not a check in the interface. Once that migration is applied, write the routes that read from it, and swap the search and listing pages over to them instead of the placeholder data from step 01.

    This is the one migration worth reading end to end, because a listing page that shows an already-booked night is worse than one that just loads slowly.

  3. 03

    Turn on sign-in, then split guest, host, and admin

    Add sign-up and login through Supabase Auth, then a role model that lets one account be a guest on one booking and a host on another, the normal case on a real marketplace.

    PromptAdd auth and roles
    Add Supabase Auth email-and-password sign-up, login, and logout, called from Next.js route handlers with the session available to the rest of the app. Then create an app_role enum for 'guest', 'host', and 'admin', and a user_roles table linking a user_id to a role, letting one account hold more than one. Add a has_role(_user_id uuid, _role app_role) SECURITY DEFINER function reading from user_roles, so the routes we write next can check it without recursing.

    Keep roles in that table, never on the Supabase user object itself. A role a user can edit is a role they can grant themselves.

  4. 04

    Add bookings and payouts, then lock every row down

    Add the table that turns a stay into a real booking and the one that tracks what a host is owed, then let row-level security decide who can reach which rows.

    PromptAdd bookings, payouts, and RLS
    Create a bookings table (a listing, the guest, check-in and check-out dates, a status, and the total price) and a payouts table that links a host to one of their bookings, with the platform’s commission already split out as its own column. Then turn on row-level security: a guest can read and insert only their own bookings, a host can read and manage only the listings and payouts tied to their account (checked with has_role), and an admin (also checked with has_role) can reach every row. Name the WITH CHECK clause on every insert and update explicitly, so nobody can create a booking or payout under someone else’s name. Write the routes for creating a booking and viewing payouts next, then show me how you’d prove a second guest can’t read the first guest’s bookings.

    Read this one closely before merging the pull request it lands on. A mistake in these policies means one guest reading another guest’s booking history.

  5. 05

    Connect checkout, the host dashboard, and admin to real data

    Sketch the remaining screens the same way as step 01 (checkout, a host dashboard, an admin dashboard), then connect each one to the routes and tables that already exist, instead of building them against data you’d have to redo later.

    PromptBuild and connect the remaining screens
    Build a checkout flow that creates a booking and takes payment through Stripe, a host dashboard covering listings, bookings, and payouts, and an admin dashboard covering listings, disputes, and transactions. Connect all three straight to the routes and tables from the earlier steps. These have no reason to start on placeholder data the way the first two screens did.
  6. 06
    Destination

    Wire in reviews and messaging, then open the pull request

    Two more tables round out the marketplace, reviews and a booking-scoped inbox, then open a pull request for this chat’s work and try the real flow before you merge it.

    PromptAdd reviews, messaging, and test
    A review only means something once the stay is actually over, so tie it to a completed booking and hold it back from view until both sides have submitted one. Alongside it, add a messages table scoped to a single booking, so a guest and host talk about that stay and nothing else. Then connect this project to GitHub, open a pull request from this chat’s branch, and walk me through testing the full flow before we merge it: search, book, pay, message the host, leave a review after checkout.
Authentication & security

Built-in security for guests, hosts, and payouts

Security isn’t an afterthought when a booking moves someone’s payment and personal details. Here is how your data stays protected, in simple terms, and the core rule that keeps it secure.

Proven logins, three ways in

Guests, hosts, and admins all sign in through the same battle-tested system. You don’t build login security yourself. Email and password works out of the box. Social sign-in is a small add.

Overlapping user roles

A guest books, a host lists and gets paid, an admin moderates the whole marketplace. On a real platform, the same person is often a guest on one booking and a host on another. Decide the access rules with that overlap in mind, not as three separate user types.

Guest data and payout details stay protected

A booking platform holds two kinds of data that matter more than most: guest personal details tied to a real stay, and a host’s bank or payout information. Both need the same row-level protection as everything else. Neither should be reachable by a role that has no reason to see it.

Row-level security across a three-sided model

The template ships 121 row-level security policies precisely because three roles reaching the same tables from different angles is harder to get right than two: a guest reaches their own bookings, a host reaches their own listings and payouts, an admin reaches everything, and the database enforces all three at once.

Administrative keys stay protected

Your app only carries a “public” key that’s safe to share. The keys that can bypass access rules or move money live on the server only, never in the app or a public code repo: the database’s service key and the payment provider’s secret key.

Automatic daily backups on Pro

Daily backups are a paid feature: the free tier has none, so while you are building, your database is the only copy. Supabase Pro (from $25/mo) adds a daily backup with 7 days of history. Move to Pro before real bookings and real payouts depend on that data.

PromptCheck who can see what
Review the access rules (row-level security policies) on every table. For each one, tell me in simple terms who can view, add, edit, and delete records, confirm that people can only reach their own data while the right roles can reach more, and flag anything left open that shouldn’t be.

Paste this into the chat before launch so v0 checks nobody can see data they shouldn’t.

The one rule that matters: never put a secret key, database or payment provider, in the app or a public repo. If one ever leaks, reset it right away.

Workflow rules

What speeds the build, and what slows it

Speeds the build

  • One screen per message, checked in the live preview before you ask for the next one
  • Adding a database as soon as a screen needs to remember something, so v0 wires it up as it builds
  • Clicking the thing you want changed in Design mode, rather than describing where it sits
  • One feature per chat, so its history reads as a straight line you can walk back
  • Sending a finished chat over to GitHub before starting the next feature, rather than stacking several together

Slows the build

  • Asking for the whole app in one message instead of one screen at a time
  • Building screens for data the database does not hold yet
  • Describing which button to change when you could just click it
  • Letting one chat run for weeks, so going back to an older version undoes everything built after it
  • Approving several messages in a row without looking at the preview after each one
Getting code out of the chat

Connecting GitHub (Optional)

Every change in v0 is saved automatically without any technical setup. You only need to link GitHub if you want a private copy under your own control or plan to hand the codebase over to external developers.

Every message is a version

Each time a message changes your code, v0 saves it as a new version. Restoring an older one adds it back as the newest version instead of branching, so the history stays one straight line.

Versions, v0 docs

Undo from the chat itself

Scroll back through the conversation and click the revert arrow on any earlier reply, or open the version number in the top right to jump straight to a specific one.

Connecting GitHub creates a real repository

From the chat’s Git panel, connect an existing repository or create one. v0 never writes straight to your main branch: every code-changing message is committed to its own working branch first.

GitHub integration, v0 docs

A pull request is how it gets merged

When you’re ready, publish and open a pull request from that working branch into your base branch, review it like any other, and merge it. Starting a new chat picks up a fresh branch for the next round of changes.

This can also be v0’s deploy path

If the branch your pull requests merge into is also the linked Vercel project’s production branch, merging one triggers a production deployment. If it isn’t, the merge just follows whatever branch behavior that Vercel project is already configured with.

GitHub integration, v0 docs
Going live

Choosing the right hosting for your rental platform

The site is just a bundle of ready-made files, so it runs on almost any hosting you like, free options included. Your data and logins live separately in Supabase (more on that below).

HostBest forNotesFree tier
VercelOne-click deploysConnect your project and it publishes itself. Standard Vite setup, so it just works. Note the free Hobby tier is for personal, non-commercial projects only: a live rental marketplace needs Pro, from $20/user/mo.Pro from $20/user/mo (Hobby is non-commercial)
NetlifyDrag-and-drop or GitConnect your project or drag the built folder in. Live in a couple of clicks.Free tier
Cloudflare PagesCheapest at scaleConnect your project once for fast, worldwide delivery on Cloudflare’s network.Generous free tier
GitHub PagesFree Git-based hostingPublishes straight from your GitHub project. Needs one small tweak so page links work. Catch: publishing from a private repository needs a paid GitHub plan, and this guide tells you to keep yours private, so this one is free only if you make the repo public, which for a marketplace handling real bookings and payouts you should not.Free from a public repo only
Firebase HostingSimple setup, Google stackA short one-time setup, then a single publish command.Free Spark tier
AWS Amplify HostingTeams already on AWSConnect your project in the AWS console. A one-time routing setting makes page links work.Free tier (build + hosting)
SurgePublish from the terminalPublish with a single command. No repository needed.Free - unlimited publishing
DigitalOcean App PlatformDigitalOcean usersConnect your project and it builds and hosts the site for you.Free - 3 static sites, 1 GB/mo transfer

Any of these works. One thing to check before you settle: a free tier is not automatically free for *business* use. Vercel’s Hobby tier is the strictest here, personal projects only, so a marketplace handling real guests and hosts belongs on a paid plan. Read the plan terms for the host you pick, not just the price.

Database & backend

Keep your data in Supabase

Your data and backend live in Supabase: Postgres, auth, and edge functions. Whichever frontend host you pick above, everything runs here.

ServiceBest forNotesFree tier
SupabaseData, auth, functionsPostgres database, authentication, and edge functions. Create a free project and your AI coding tool connects the app to it.Free tier, then usage-based
How a guest’s money reaches a host

Choosing your payment rail

Taking the payment yourself is a decision rather than a given. A booking-request site, where the app confirms the stay and the host is paid by transfer or on arrival, costs nothing to run and is how a good many small rental sites start. Taking the money inside the app means one of the three below, and what decides between them is the split: your platform collects from a guest and pays a host out of the same charge.

Stripe ConnectThe platform collects, then pays the host2.9% + $0.30 per card charge, plus $2 per active connected account a month and 0.25% + $0.25 per payout

Built for the exact split a marketplace makes, which is why the payouts table in the build steps above holds the platform’s commission apart from the host’s share. Two lines sit on top of the card rate and both are easy to miss. A host only counts as an active account in a month you actually send money to their bank, and every payout carries a fee of its own, so paying each host once a month costs noticeably less than paying them after every stay.

stripe.com · checked September 2026

PayPal Commerce PlatformThe guest who will not type a card number3.49% + $0.49 per domestic transaction, plus 1.50% when the payment comes from another country

The most expensive of the three per booking, and the one a first-time guest booking a stranger’s home is most likely to recognise. On a $900 stay that is about $32 against $26 on the row above, before the international line, which a rental marketplace runs into far more often than a shop does. Worth offering beside a card rather than instead of one.

paypal.com · checked September 2026

Adyen for PlatformsVolume, and a rate you negotiate$0.13 per transaction plus interchange and a 0.60% markup on Visa and Mastercard, published as indicative

The interchange-plus shape, where you pay the card networks what they actually charge and Adyen its margin on top. That beats a flat percentage once enough bookings run through it for the difference to be worth the setup. Read the caveat on their own page before you budget against it: Adyen calls the published figures indicative and asks you to get in touch, so this is the start of a conversation rather than a price you can sign up to this afternoon.

adyen.com · checked September 2026

Work out one number before you connect anything: the fee on a single booking, times the bookings you expect in a year. Three hundred stays at $900 costs roughly $7,900 a year on the first row and roughly $9,600 on the second, for the same money arriving, and paying twenty hosts once a month adds about $480 in account fees on top of the first. Connecting nothing is still a real answer: the calendar, the booking and the commission you record are all correct whether or not a card is ever charged, and a site that introduces guests to hosts and lets them settle up directly pays none of this.

AI workflows

Power your marketplace with native AI automations

Once the core marketplace works, AI is a few more prompts. Each one hangs off a small server-side function that talks to the model, so your key stays there rather than in the app.

Guest-message drafting

Suggests a reply to an incoming guest message from the booking details and the conversation so far. The host reviews and sends, rather than staring at a blank box.

PromptGuest-message drafting
Add a "Suggest a reply" button on the host inbox that sends the guest’s message, the booking details, and the last few messages in the thread to your ai function, and returns a short, editable reply draft the host can edit before sending.

Dynamic pricing suggestions

Looks at a listing’s upcoming occupancy and how far out a date is, and suggests a nightly price for open dates, so hosts aren’t guessing or leaving money on the table.

PromptDynamic pricing suggestions
Add a "Suggested price" panel on the host’s calendar that sends the listing’s upcoming occupancy, day of week, and how far out the date is to your ai function, and returns a suggested nightly rate with a one-line reason the host can accept or ignore.

Review summarisation

Rolls a listing’s reviews into a short summary of what guests consistently like and flag, so a new guest doesn’t have to read fifty reviews to get the gist.

PromptReview summarisation
Add a "Summary" block on the listing page that sends its most recent reviews to your ai function and returns a short summary of recurring praise and complaints, refreshed whenever a new review is added.

Listing-description generation

Turns a host’s bullet points about the property into a polished listing description, so a first draft doesn’t stall the listing going live.

PromptListing-description generation
Add a "Generate description" action on the listing editor that sends the property’s type, amenities, and the host’s rough notes to your ai function and returns a polished draft description the host can edit before publishing.

v0 doesn’t ship its own model for these prompts, so you bring an API key for whichever provider you want, and v0 writes the route that calls it. Start with a cheap model while you’re still iterating on the prompt itself, then swap in a stronger one for the version that ships, and keep every AI feature behind that one route so there’s only one key to rotate.

Ready-made option

Get a head start with our template

The guide above shows how to build this rental platform from scratch. Prefer to skip the boilerplate? Launch with our ready-made template and spend your time customizing, not scaffolding.

Rental Booking Platform

The exact rental marketplace this guide builds, packaged so you can open it, point it at your own backend, and make it yours from there. A full rental booking platform in the spirit of Airbnb, where guests book stays, hosts manage listings and payouts, and you run the whole thing from an admin panel. It hands you the entire three-sided business instead of just a listings page.

React 18ViteTypeScriptTailwind CSSSupabase
Out of the box

The key benefits of starting with a template

The hard, invisible parts are already built and working: listings, availability, payments, payouts, and role-based access. Your time goes straight to what makes the platform yours.

Building the core from scratch

~139 hrs

Opening the template, already built

~1 hr

~138 hrs of building you skip

These measure different things, which is the point: ~139 hrs is what it takes to build the core yourself, and ~1 hr is how long the template takes to open and connect, because that core already exists. Customizing it to your guests, hosts, and brand is time you spend either way, so it is not counted on either side.

A working marketplace from day one

Open a functional app, not an empty folder. Listings, bookings, payouts, and dashboards for all three roles are ready to go.

Pre-configured security and access

Authentication, three-sided roles, and 121 row-level security policies work out of the box, so guests, hosts, and admins each see only what they should.

A polished UI out of the box

Search, listing, checkout, host, and admin screens come already designed, clean and responsive on any device, so it looks like a finished product before you change a thing.

Clean code that’s easy to extend

Typed, well-organized, and documented, so every change you ask your AI coding tool for stays consistent and the app is a pleasure to grow.

Customer story

From founders who build on our templates

Building a complex marketplace with separate permissions normally means sinking massive effort into infrastructure, disputes, and payment flows. Since the template handled all the heavy lifting upfront, we jumped straight into perfecting the brand identity and map search.
Matt GrahamMatt GrahamFounder & CEO, RapidDev
Got questions?

Common questions

No. Your AI coding tool writes the backend on Supabase for you from plain-language prompts: listings, bookings, payouts, and access rules. You create your own free Supabase project, and it wires the app to it, so everything runs on your own data.

Yes, and on a real marketplace they usually are. Roles are assigned per account rather than baked into a single user type, so one person can book a stay as a guest and list their own property as a host.

Yes. Add a small server-side ai function for guest-message drafting, dynamic pricing suggestions, review summaries, or listing-description generation. Pick the tier that fits the job, a fast model for high-volume tasks or a stronger one for judgement calls, and keep your API key on the server, never in the app.

Only the third-party services you connect with your own accounts: mainly Supabase for the backend, a payment provider, and a host for the site. Supabase and hosting both start free. For an always-on marketplace with real bookings, Supabase Pro starts at $25/mo (free projects pause after 1 week of inactivity). You pay those providers directly.

Only the people a role allows: a guest sees their own bookings, a host sees their own listings and payouts, an admin sees everything for moderation. The app runs on your own Supabase project, so for GDPR purposes you are the sole controller of that data.

Through row-level security. Only the public key ever ships to the browser, and every table is protected by Postgres row-level security, so each role can only touch the rows it is allowed to. Secret keys, the database’s and the payment provider’s, stay on the server.

No lock-in. Everything lives in a standard PostgreSQL database, so you can export it all with standard Postgres tools and move to any Postgres host whenever you want.

Yes. Whichever host you pick for the frontend lets you connect a custom domain with free HTTPS in a few clicks.

No. You describe the screen you want in the chat and v0 generates the React and Next.js code behind it. Sign up, pick a plan, and connect a database once your screens need real data. The setup section above walks through each one.

Both, but not automatically at the same time. v0 generates the interface first. The backend (a database and the API routes that use it) is something you ask for once a screen actually needs to save or load real data.

Free plan credits reset monthly, and the 7-messages-a-day cap resets every day. If you hit either limit mid-build, what you’ve already built stays put. You wait for the reset or move up to Plus to keep going right away.

References

Sources checked August 2026
  1. 01Global short-term rental bookings reached $219.9B in 2025, PhocusWire (Phocuswright Research). phocuswire.com
  2. 02Pricing, Lodgify. lodgify.com
  3. 03Pricing, Guesty. guesty.com
  4. 04Pricing, Hostaway. hostaway.com
  5. 05Pricing, Sharetribe. sharetribe.com
  6. 06Pricing (Pro plan, free-tier limits), Supabase. supabase.com
  7. 07Web developer hourly rates 2026 (freelance and agency benchmarks). developex.com
  8. 08Row Level Security, Supabase docs. supabase.com
  9. 09Connect pricing (per-account and payout fees), Stripe. stripe.com
  10. 10Merchant fees (PayPal Checkout, US), PayPal. paypal.com
  11. 11Pricing (interchange-plus card rates), Adyen. adyen.com
  12. 12v0 homepage. v0.app
  13. 13Pricing (Plus, Business), v0. v0.app
  14. 14Pricing details (Free tier, credit rollover), v0 docs. v0.app
  15. 15Databases (connecting Supabase and others), v0 docs. v0.app
  16. 16Full-stack apps, v0 docs. v0.app
  17. 17GitHub integration, v0 docs. v0.app
  18. 18Deployments, v0 docs. v0.app
  19. 19Design mode, v0 docs. v0.app
  20. 20Versions, v0 docs. v0.app
  21. 21Pricing (Hobby plan), Vercel. vercel.com

This guide is general information. Third-party prices, plan limits, and market rates are quoted from the sources above and were last checked on the date shown. Vendors change them without notice, so confirm before you budget. Build hours and the cost estimates derived from them are our own estimates, not quotes. Testimonials are from named customers. The integration figures are illustrative. v0 is a product of Vercel. Verify current capabilities and pricing before relying on them.