Skip to main content
Il sito di prenotazione diretta è il sito con cui lo studente vende senza OTA (niente commissioni Airbnb/Booking). Non si parte da zero: si forka il template canonico e si personalizza.

Quando si dà allo studente

Il sito direct booking non fa parte dell’onboarding base: è un modulo aggiuntivo che si attiva per lo studente che vuole vendere in diretta. Si affronta dopo che le fondamenta sono a posto, perché ne riusa i pezzi:
  • PMS collegato (KrossBooking o altro): il sito legge appartamenti e disponibilità dallo stesso adapter PMS, quindi il PMS va collegato prima.
  • Stripe attivo: il checkout del sito usa la stessa chiave Stripe dell’agente Conduit (una sola credenziale nel Vault).
  • Conduit / smart check-in (opzionali): se lo studente li ha già, si agganciano al sito come embed.
In pratica lo dai a chi ha completato Anagrafica + PMS + pagamenti e chiede un canale di vendita proprio. Chi non vende in diretta non ne ha bisogno: resta un opt-in.

Due domini, due cose diverse: stay. e book.

Non confondere i due sottodomini:
  • stay.{brand}.com = sito di prenotazione diretta (questa pagina): vetrina + motore di prenotazione + checkout Stripe. Serve a vendere il soggiorno senza OTA.
  • book.{brand}.com = guest portal / self check-in: il portale che l’ospite già prenotato usa per l’accesso (istruzioni, apertura porta smart-lock, extra). È il front-end dello smart check-in, vedi Smart check-in e la skill smart-checkin-mcp.
Uno vende, l’altro accoglie: possono coesistere sullo stesso brand e condividono PMS, Stripe e (se presente) Conduit.

Regola d’oro: si forka, non si scaffolda

Ogni sito studente parte da un fork del template canonico ftaiano100-dot/cosmica-booking (live: stay.cosmicarentals.com), mai da create-next-app. Il template porta già PMS adapter, i18n, tema, Stripe, health endpoint, ricostruirli a mano introduce bug che il template ha già risolto.

Stack (dal template)

  • Next.js (App Router) + next-intl per le lingue (tipico it, en; aggiungi de/fr se servono i mercati).
  • Tema in Tailwind (palette + font dello studente).
  • PMS adapter agnostico dietro un unico contratto PmsAdapter: KrossBooking, Hostaway, Smoobu, Hostify, Lodgify, Hostfully, Guesty. Con caching + coalescing + retry backoff su ogni adapter (difensivo, obbligatorio).
  • Stripe per i pagamenti (vedi sotto).
  • Opzionali: embed chatbot Conduit, smart check-in (Shelly/SwitchBot), CRM GHL, esperienze GetYourGuide.

Come si costruisce (fasi)

1

Intake

Raccogli tutto con lo studente: brand/dominio/colori, paese+valuta, lingue, lista appartamenti, PMS, Stripe (single o multi-owner), CRM, smart-lock, AI inbox, analytics. Usa la checklist della skill.
2

Stack decision

Blocca i moduli in base all’intake (quale PMS adapter, valuta, locale, Stripe single vs Connect, smart check-in sì/no, Conduit sì/no).
3

Fork del template

Copia cosmica-booking, rm -rf .git .next .vercel node_modules && git init, rebrand (colori, font, asset, testi, footer, sitemap), npm install, .env.local con solo le env che lo studente ha davvero. Grep zero-residui del brand vecchio prima del primo commit.
4

PMS adapter + pagamenti + moduli

Collega il PMS, Stripe, e i moduli opzionali scelti. Non rimuovere i moduli baseline anche se non usati.
5

Deploy + dominio

Deploy su Vercel (git push). Dominio: convenzione stay.{brand}.com per il sito di prenotazione (Cosmica usa stay. per il booking e book. per il guest portal/accesso). Aggiungi il dominio su Vercel + record DNS.
6

Verifica

npm run dev renderizza la home; il flusso di prenotazione arriva fino al checkout Stripe; le pagine appartamento leggono i dati dal PMS.

Pagamenti

  • Single owner → account Stripe standard (una sk/pk).
  • Multi-owner (più proprietari con payout separati) → Stripe Connect (un connected account per proprietario, application_fee_amount per prenotazione).
  • La chiave Stripe è la stessa usata dall’agente Conduit per gli extra: una credenziale sola nel Vault (stripe_key_<token>). Vedi Stripe.
Vincolo Kross: l’API partner è per tool interni al percorso formativo, non per software commercializzati “integrati con Kross”. Se un giorno il sito direct booking diventa un prodotto vendibile con logo Kross, il contratto partner va rinegoziato prima.
Fonti: skill direct-booking-engine (workflow 10 fasi + lezioni L1-L8), repo ftaiano100-dot/cosmica-booking, memoria project_direct_booking_skill, project_cosmica_domain_migration.
▷ Prompt Claude Code: Crea il sito direct booking · incolla in Claude Code:

Stripe

Chiave unica per checkout + extra Conduit

Personalizzazione studente

Branding, dominio, dati per-studente

Fonti ufficiali