What fractional ownership is,
and how reservations become deeds.
A five-section frame for the 2026 fractional program: the vehicle, the slots, the hold and the yield, the reservation-to-deed flow, and the risk posture — then a single CTA into the live deal ledger.
Read top to bottom, or jump to the section that answers your question.
The five sections below are the conceptual frame a capital partner reads before they open the live ledger. Each tile anchors to a single section on this page.
One villa, one proposed SPV, slots described for information.
Each villa on the 2026 fractional ledger is described alongside a proposed single-property structure. Indicative slots and ticket sizes help prospective partners review the model; they do not create an offer or binding investment.
Minimum ticket
$100,000
Indicative discussion size for the modeled scenarios. Any final structure, ownership, or payment terms require definitive written documents.
Target yield band
8–12%
SE Asia & Caribbean leg; 6–8% on the US leg. Illustrative annual net yield band after management fees, platform fees, and a vacancy reserve. Yields projected, not guaranteed.
Hold period
5–7 years
Illustrative horizon only. Any exit, distribution, or principal-return terms depend on operating performance and definitive written documents.
Capital is pooled per property so even a single-LP ticket is diversified across multiple slots in the same SPV. Acquisitions clear only when the per-property model returns a 7-year IRR ≥ 14% under the base case — a property-level gate the platform holds every deal against before term-sheet sign-off.
Next: slot mechanics →Each slot holds exactly one reservation.
A villa's proposed economics are shown as fixed-price information slots. Every slot carries one of three workflow states at all times. The state you see on the live ledger is the same state the platform stores, but it is not proof of a completed sale.
Slot state is what /api/fractional-slots reports. The reservation route at /api/invest/fractional/slots/<id>/reserve is the only place that flips open → reserved, and it does so atomically — two simultaneous reservations cannot both succeed.
Capital is long-dated; income is quarterly.
The platform's deal economics are spelled out on the deck. Two levers — a modeled 5–7 year hold and an illustrated yield band — frame the information shown to prospective partners. Both bands below are derived from the same MARKETS seed the ROI calculator reads from.
Hold period
5–7 years
Illustrative horizon only. Any exit, distribution, or principal-return terms depend on operating performance and definitive written documents.
Distribution cadence
Quarterly · ACH / Wire
A quarterly cadence may be modeled, but no distribution or payment is promised; definitive written documents and actual operating performance control.
Target yield band. Illustrative annual net yield band after management fees, platform fees, and a vacancy reserve. Yields projected, not guaranteed. On the 2026 fractional program the per-leg bands resolve to 8–12% on the SE Asia leg, 8–12% on the Caribbean leg, and 6–8% on the US leg — the same bands the ROI calculator exposes on /invest#calculator.
Numbers are illustrative. Yields depend on operating performance, occupancy, nightly rate, and local market conditions; past operator performance is not a guarantee of future results.
From an open slot to a request for information, in nine steps.
The reservation flow runs entirely on the server — the buyer's browser never touches Prisma, the database, or the Stripe SDK. The route at /api/invest/fractional/slots/<id>/reserve is the single correctness lever for the open-to-reserved transition.
- 1
Body validation
The request body is zod-parsed as FractionalReserveRequest — name and email must both pass before any DB read. A malformed payload returns 400 with the same { errors: { email } } envelope the rest of the platform uses.
- 2
Slot lookup
findUnique on the slot id. Missing row → 404 { error: 'not_found' }.
- 3
State guard
If the slot is not in state 'open', the route returns 409 { error: 'not_open' } — Stripe is never asked to mint a session for a slot the listing already shows as Reserved or Sold.
- 4
Atomic open → reserved
A single updateMany({ where: { id, state: 'open' }, data: { state: 'reserved' } }) is the only correctness lever. count === 0 means another reservation beat this one — the route returns 409 { error: 'already_reserved' }. Two concurrent POSTs cannot both succeed.
- 5
Reservation row persisted
A FractionalSlotReservation row is inserted with the buyer name, email, slot id, and price — BEFORE Stripe is called. The just-minted reservation id flows into Stripe's clientReferenceId so the post-Stripe confirmation screen can look the booking up by id alone.
- 6
Stripe Checkout minted
createCheckoutSession({ amountUsd: priceCents/100, successUrl: /invest/fractional/reserved/<reservationId>, clientReferenceId: reservationId }) routes the buyer to the Stripe-hosted checkout. Stripe-not-enabled surfaces as 503 { error: 'payments_unavailable' } so the operator can finish onboarding without parsing logs.
- 7
Reservation updated with Stripe identifiers
Best-effort reservation.update({ stripeSessionId, stripeUrl }) — never rolls back. The slot is reserved, the buyer is mid-checkout, and the operator can reconcile from listPaymentEvents against the Stripe session id.
- 8
Reservation confirmation email
Best-effort sendEmail reservation confirmation — the proxy is allowed to fail without rolling the slot back. The Stripe URL is the source of truth for payment.
- 9
200 returned with paymentUrl
The route returns the post-state slot and the Stripe URL. The island flips the row's badge to Reserved and navigates the browser to checkout.
After the request flow
Stripe redirects the buyer to /invest/fractional/reserved/<reservationId> — a server-rendered confirmation screen that reads the reservation row back by id. The slot may move from reserved to sold in the internal workflow; that state does not establish cap-table ownership. Definitive written documents and any required payment control a binding investment.
What a prospective partner should weigh before requesting information.
The fractional program is governed by the same seven-fear framework as the rest of the /invest/ funnel — loss of principal, trust in operator, money location and currency, exit liquidity, downside protection, regulatory risk, and lack of diversification. The full disclosure lives on /invest/risks; this section names the three most relevant to a single-slot reservation.
Regulatory posture
Capital partnerships are structured per LP — Per-LP negotiation; Reg D for US LPs; Reg S for non-US LPs where applicable; US + local counsel in each operating jurisdiction., with US counsel on the US leg and local counsel in every operating jurisdiction (Thailand, Vietnam, Philippines, Malaysia, Jamaica, BVI).
Diversification
A single-slot reservation is not a single-property bet. 4-market preset (SE Asia, US, Jamaica, British Virgin Islands); per-property pooling even for single-LP tickets. Across the platform, four named markets run on a shared underwriting framework so a single-LP commit sits inside a cross-regional mix.
What the full disclosure covers
Loss of principal, trust in operator, money location and currency, exit liquidity, downside protection, regulatory risk, and lack of diversification — each with the operator's standing position. Read the full disclosure before you make any decision.
See the live 2026 fractional ledger and request slot information.
The live ledger groups slots by villa — open, reserved, or sold — and may route a request through Stripe-hosted checkout. The conceptual frame is informational; definitive written documents and required payment control any binding outcome.