¿Puedo vibecodear FareHarbor?

PARCIAL · un fin de semana
precio varíatiempo de build un fin de semanacategoría ✈️ viajesreemplazada por 0 personas

The part everyone thinks they are paying for, a calendar with capacity, a checkout, and a manifest the guides can read, is genuinely a weekend build with Stripe doing the hard money parts. The part that is actually load-bearing is everything after that: pushing live availability to Viator, GetYourGuide, Expedia and Booking.com, reconciling reseller commissions, handling refunds and chargebacks on other people's money, and a phone line that answers at 6am when the 7am kayak trip is double-booked. A self-hosted build replaces direct-website bookings cleanly and replaces channel distribution not at all. If most of your volume is direct and you can eat the ops burden, the maths gets interesting fast. If OTAs feed you, you are rebuilding a channel manager, which is not a weekend.

el prompt
Build a self-hosted booking system for a single tour operator. Stack: Next.js 15 with the App Router, TypeScript, Tailwind, Postgres via Prisma, Stripe Checkout. No auth provider, no analytics, no telemetry.

Data model: Product (name, slug, description, duration minutes, base price cents, currency, min and max party size, active flag), Departure (product, start datetime, capacity, status: scheduled | cancelled), Booking (departure, lead name, email, phone, party size, amount cents, stripe payment intent id, status: pending | confirmed | cancelled | refunded, notes, waiver accepted at), Passenger (booking, name, age band).

Public side:
- /tours lists active products, /tours/[slug] shows the next 60 days of departures with seats remaining computed as capacity minus confirmed and pending party sizes.
- Booking flow: pick a departure, enter party size and lead contact, tick a waiver checkbox, then redirect to Stripe Checkout. Create the Booking as pending before redirect. Confirm it only in the Stripe webhook handler, never on the return URL.
- Overselling is the thing you must get right: take the seat hold inside a serialisable transaction that re-checks remaining capacity, and expire pending bookings older than 20 minutes with a cron route.

Operator side at /admin, protected by a single shared password from .env stored in an httpOnly cookie:
- Day view manifest: every departure today with lead names, party sizes, phone numbers, waiver status and a check-in toggle.
- Create and bulk-generate departures from a weekday recurrence rule with a date range.
- Cancel a departure: refunds all confirmed bookings through the Stripe API and emails everyone.
- Manual booking entry for phone and walk-up guests, marked as unpaid or cash.
- CSV export of bookings for a date range.

Email confirmations and cancellations via Resend, plain text, with an .ics attachment. Money in integer cents, one currency, store all times in UTC and render in a single operator timezone from .env.

Explicitly out of scope: OTA or reseller channel sync, promo codes, gift cards, multi-day itineraries, guide and equipment assignment, multi-currency, per-user accounts and roles.

Secrets in .env: DATABASE_URL, STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, RESEND_API_KEY, ADMIN_PASSWORD, OPERATOR_TIMEZONE. Ship a seed script with two products and 30 days of departures, a README with the Stripe CLI webhook command, and a test that proves a departure cannot be oversold under concurrent requests.

$ ábrelo en tu agente (prompt listo, tú das enter) o cópialo crudo

Se puede en parte

El prompt es gratis. Si no quieres pelearte con el agente, lo armamos.

Quiero que lo armen →
por qué la gente sigue pagando

Because the fee is usually charged to the traveler, not the operator, so it never shows up as a line item on the operator's P&L the way a subscription would, and because the alternative to a channel manager is manually keeping availability in sync across five OTAs while running trips. Operators also pay for the absence of liability: when a card is disputed or a payout is late, that is not their engineering problem. A DIY build is a real option for a direct-sales operator with a stable product catalogue and someone technical on the team, and it is a bad option for anyone whose seats are filled by resellers.

qué pierdes

xOTA and reseller distribution: live availability pushed to Viator, GetYourGuide, Expedia and dozens of local agents, plus the commission accounting behind it

xSomeone else owning payment risk: chargebacks, disputes, refund flows, payout timing, PCI scope and multi-currency

x24/7 human support during a season where a broken booking page costs real departures that day

xThe messy operational features you only miss in August: resource and guide assignment, gear allocation, multi-day and multi-activity itineraries, gift cards, promo codes, waivers, group and private bookings

xMobile check-in that works on a beach with one bar of signal, and the reporting your accountant already knows how to read

arte previo · úsalo en vez de construir, si prefieres

Nada que valga la pena señalar. Por eso existe el prompt.

compartir en X ↗"Acabo de reemplazar FareHarbor con un prompt"
preguntas
¿Puedo vibecodear FareHarbor?

Parcial. El núcleo de FareHarbor se arma en un fin de semana con el prompt de esta página, pero hay huecos reales: OTA and reseller distribution: live availability pushed to Viator, GetYourGuide, Expedia and dozens of local agents, plus the commission accounting behind it, Someone else owning payment risk: chargebacks, disputes, refund flows, payout timing, PCI scope and multi-currency. Lee la lista honesta arriba antes de comprometerte.

¿Cuánto cuesta FareHarbor?

El precio de FareHarbor va por uso o cambia según el plan · No monthly software fee for operators; the fee (commonly cited around 6% in North America, negotiable 5-8%) is added to the traveler's checkout total. OTA-sourced bookings are billed to the operator separately..

¿Qué pierdo si reemplazo FareHarbor?

Con honestidad: OTA and reseller distribution: live availability pushed to Viator, GetYourGuide, Expedia and dozens of local agents, plus the commission accounting behind it; Someone else owning payment risk: chargebacks, disputes, refund flows, payout timing, PCI scope and multi-currency; 24/7 human support during a season where a broken booking page costs real departures that day; The messy operational features you only miss in August: resource and guide assignment, gear allocation, multi-day and multi-activity itineraries, gift cards, promo codes, waivers, group and private bookings; Mobile check-in that works on a beach with one bar of signal, and the reporting your accountant already knows how to read. Si alguno de esos te sostiene el negocio, sigue pagando.

¿Hay una alternativa open source a FareHarbor?

No hay una alternativa open source madura que valga señalar. Por eso existe el prompt de esta página.

Cada semana mueren más suscripciones.

Veredictos nuevos, prompts nuevos, las apps más condenadas de la semana.
Un correo. Te sales en un clic.

gratis para siempre · sin spam · el prompt se queda en el sitio, las muertes te llegan a ti

$semanal: qué recibió veredicto, qué murió.