SwiftStay
← All guides

For hosts

Host Guide

SwiftStay is a direct booking engine for short-term rental hosts. You list your property, guests book directly with you, and you keep the payment relationship — SwiftStay never holds guest funds and never takes a per-booking commission.

This guide walks through the day-to-day: listing setup, payments, calendars, cancellations, and the rules that keep your account in good standing.

1. Account and tenant scope

  • Your account is a tenant. Listings, bookings, payment accounts, and payouts are scoped to your tenant — no other host can see or modify them.
  • Subscription status is tracked per tenant. If your subscription lapses, your listings stop being bookable but your data is preserved.
  • Each tenant connects its own payment provider accounts (Stripe, Mercado Pago, Razorpay, PayPal, Xendit). Credentials are stored encrypted at rest. SwiftStay takes $0 platform fee on each booking — your subscription covers our cut.

2. Subscription and billing

SwiftStay charges a flat monthly subscription. No per-booking commissions, no platform fees deducted from guest payments. Your subscription is the only thing SwiftStay charges you for.

Plans

| Plan | Price | Listings | Highlights | |---|---|---|---|---| | Solo | $9/mo | 1 | iCal sync, all payment providers, branded footer | | Host | $19/mo | 3 | Custom domain, no SwiftStay branding | | Pro | $49/mo | 10 | Multi-user roles, advanced analytics |

All plans include a 14-day free trial — no card required to start. The trial activates the moment your tenant is created and gives you Solo-tier limits. Pick a paid plan on /pricing whenever you're ready.

Subscribing

  1. Open Pricing (/pricing) and pick a plan.
  2. You'll be redirected to Stripe Checkout (subscription mode) to enter card details. Card data is handled by Stripe — SwiftStay never sees or stores it. The price id you submit is validated server-side against an allowlist, so a tampered request can't swap in a $0 test price.
  3. On success, Stripe sends a signed webhook. We verify the checkout session id, mode (subscription), payment status (paid), and capture your Stripe customer id and subscription id on the tenant row. Your subscriptionStatus moves to ACTIVE and your planCode is set from the price you picked.
  4. You land back at Settings (/hosts/settings?billing=success) with a green ACTIVE badge and the plan shown.

If you close the Stripe tab mid-checkout nothing changes — your subscription status stays as it was.

Managing billing

Once subscribed, Settings shows a Manage billing button that opens the Stripe Customer Portal. Inside the portal you can:

  • Update or replace your card
  • View past invoices and receipts
  • Switch plans (Stripe prorates the difference)
  • Cancel at period end

Billing actions happen at Stripe — SwiftStay is not the merchant of record for your subscription, so we don't store or modify card data on our side.

Subscription statuses

These are the values that can appear on your tenant row and what triggers each one.

StatusMeaningTrigger
TRIALING14-day free trial active.Tenant created.
ACTIVEPaid subscription in good standing.checkout.session.completed or invoice.paid.
PAST_DUERenewal charge failed. Stripe will retry.invoice.payment_failed.
SUSPENDEDListings hidden from browse and unbookable. Data preserved.customer.subscription.updated status unpaid/canceled, OR trial expiry cron.
CANCELEDSubscription canceled.customer.subscription.deleted.

Every transition writes an entry to the audit log (entityType: SUBSCRIPTION) with before/after state, the Stripe event id, and the price id, so you can reconstruct billing history.

Trial expiry and suspension

When your 14-day trial ends without a paid subscription, the timeout-trial cron job moves your tenant to SUSPENDED:

  • Listings stay visible to you in the dashboard but disappear from public browse and cannot accept new bookings.
  • Existing confirmed bookings are honored.
  • Your data is preserved.
  • Re-activate any time by subscribing to any plan on /pricing.

Plan limits and enforcement

Listing-create checks your planCode against the plans table:

  • Solo: 1 published listing
  • Host: 3 published listings
  • Pro: 10 published listings

If you hit the cap, publish is rejected with 402 QUOTA_EXCEEDED and a message pointing you to /pricing. Unpublishing an existing listing frees a slot. Listing drafts don't count against the cap — only published ones.

Tax

Subscription fees are SaaS revenue to SwiftStay and may carry sales tax or VAT depending on your jurisdiction. Stripe Tax can automate calculation and collection once configured on the account — until then, tax is not added to checkout. Talk to a tax professional about your obligations before enabling collection.

3. Listing a property

  1. Create a property (physical address, timezone, occupancy tax settings).
  2. Create a listing under that property (title, photos, description, base nightly price, cleaning fee, currency, house rules, check-in instructions).
  3. Set availability either manually on the calendar or by connecting an iCal feed (Airbnb, Vrbo, Google Calendar) for automated sync.
  4. Pick a cancellation policy: Flexible, Moderate, or Strict. Guests see this before booking and it's enforced automatically.
  5. Publish. A listing only appears in browse results and is bookable once published.

Photos: use original images you own. Listings with stolen or stock photos are removed. We may add property-verification steps in the future — keep your address and tax settings accurate so any review goes smoothly.

4. Payments

  • Merchant of record: you, the host. Guest checkout runs through your own connected payment provider account. SwiftStay is the software layer, not the payment recipient.
  • No platform fee on bookings: we don't deduct anything from guest payments. Your subscription fee ($9–$49/month depending on tier) is billed separately to you as a SaaS charge.
  • Multiple providers: you can connect one or more payment providers depending on where your guests are. Each provider handles its own KYC, payouts, and dispute handling — SwiftStay does not custody funds.

Supported providers

ProviderBest forSetupPayouts
StripeUS, Canada, UK, EU, Australia, globalStripe Connect OAuth (Settings → Connect Stripe)Per Stripe's standard schedule (2–7 days)
Mercado PagoLatin America (Brazil, Mexico, Argentina, etc.)Seller OAuth (Settings → Connect Mercado Pago)Settles to your Mercado Pago account
RazorpayIndiaPaste your Key ID + Key Secret from the Razorpay DashboardPer Razorpay's payout schedule
PayPalGlobal — guests who prefer PayPal walletPlatform-managed; no per-host setup requiredFunds settle to your PayPal Business account
XenditSE Asia (Indonesia, Philippines, Thailand, Malaysia, Vietnam, Singapore)Paste your Secret API Key + Webhook Verification Token from the Xendit DashboardPer Xendit's payout schedule

How checkout picks a provider

When a guest checks out, SwiftStay uses this order:

  1. Host-selected default provider for the listing (set in Settings).
  2. Tenant default provider based on country/currency.
  3. Manual/offline fallback only if you explicitly enable it.

Checkout will refuse payment if the selected provider account is missing, disconnected, restricted, or not charge-enabled.

Webhook verification

When a guest pays, the provider sends a signed event to SwiftStay. We verify the checkout session id, amount, currency, payment status, and provider account identity against the booking row before flipping it to PAID. A forged or mismatched event cannot mark a booking paid.

Manual / offline payments

If you accept cash, bank transfer, or local rails outside your connected provider, mark the booking paid manually in the dashboard. You are responsible for collecting and reconciling those funds — SwiftStay does not custody them.

5. Managing bookings

  • Inbox: every booking request, guest message, and review lives in your dashboard. Messages are threaded per booking.
  • Statuses: PENDING (requested, awaiting payment) → CONFIRMED (paid) → COMPLETED (check-out passed) or CANCELLED. Refunds move a booking to REFUNDED.
  • Check-in instructions are only released to a guest whose booking is PAID and whose session email matches the booking email. Don't paste lock codes into pre-payment messages.
  • Rate-limited endpoints: booking creation and contact forms are rate-limited per IP to reduce spam. If you see "too many attempts" in your own testing, wait 10 minutes.

6. Calendar and availability

  • iCal sync runs every 30 minutes. Block a date in Airbnb or Vrbo and it blocks on SwiftStay within the next sync window.
  • Double-booking protection: when a booking is created, the date range is atomically reserved. Concurrent booking attempts for the same dates resolve to exactly one winner.
  • Stay constraints: each listing has optional minimum and maximum night rules. Guests can't book a stay shorter or longer than the limits you set.

7. Cancellations and refunds

  • You set the cancellation policy per listing. SwiftStay enforces it on the guest side; for host-initiated cancellations, you can refund in full or per policy from the dashboard.
  • Refunds are processed through your payment provider account. SwiftStay does not net anything against the refund.
  • Repeated host-initiated cancellations of confirmed bookings may result in account suspension — when you confirm a booking, you commit to honoring it.

8. Trust and verification

  • Host KYC/KYB: each payment provider handles its own identity verification as part of onboarding. SwiftStay may also verify host identity for trust and risk purposes.
  • Property verification: KYC alone does not prove you control the property you're listing. Keep address and tax fields accurate; fraudulent or copied listings are removed.
  • Guest verification: guests book under their real name and email. If a guest's email bounces or the charge is flagged, the booking is held for your review before any check-in details are released.

9. What SwiftStay is not

  • Not a payment facilitator. We do not custody guest funds, hold balances, schedule payouts, or net fees against bookings. All payment processing runs through your own provider account.
  • Not a property manager. You own guest communication, check-in, maintenance, and on-the-ground operations.
  • Not an insurance underwriter. Property damage, theft, and liability sit between you and your guest (and your own insurance). Chargebacks are disputed between the guest, the host, and the payment provider — SwiftStay is not a party.

10. Cancellation policy cheat sheet

Refunds are computed against the booking total (no separate fee deductions). All windows are calendar days before check-in.

PolicyFull/partial refund windowInside window
Flexible≥ 1 day out → 100%0%
Moderate≥ 5 days out → 100%0%
Strict≥ 7 days out → 50%0%
Super strict≥ 30 days out → 50%0%

The exact refund at any moment is shown to the guest on cancellation and to you in the booking detail view.

11. Getting help

  • For dashboard bugs, webhook errors, or subscription issues, open a ticket from your account.
  • For tax, legal, or insurance questions, talk to a professional — SwiftStay staff cannot advise on per-jurisdiction STR rules.
  • For listing takedowns, fraud reports, or DMCA, use the contact form with evidence attached.

Last updated: 2026-07-21