Función de Reservas — Disponibilidad, Depósitos, Google Calendar
Activa una función modular de reservas con horarios laborales, depósitos en Stripe Checkout, confirmación por webhook, archivos ICS y enlaces a Google Calendar.
Reservas (Función Demo)
Incluye un flujo completo y modular:
- Disponibilidad por horario laboral con márgenes y control de choques
- Retenciones suaves hasta que se complete el pago
- Stripe Checkout para depósitos o prepago total
- Confirmación por webhook
- Email con archivo ICS adjunto
- Enlace “Agregar a Google Calendar” (sin OAuth)
- Listo para i18n:
/:locale/reserve
y/:locale/account/reservations
Configuración
- Variables de entorno y configuración en código
NEXT_PUBLIC_FEATURE_RESERVATIONS_ENABLED=true
STRIPE_PRIVATE_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
RESEND_API_KEY=...
EMAIL_FROM="Tu App <no-reply@tu-dominio.com>"
NEXT_PUBLIC_WEB_URL="http://localhost:3000"
Ajusta horarios, retención y zona horaria en src/data/reservations.ts
.
- Base de datos
pnpm drizzle-kit generate --config src/db/config.ts
pnpm drizzle-kit migrate --config src/db/config.ts
- Webhooks locales
stripe listen --forward-to localhost:3000/api/pay/webhook/stripe
- Ejecutar
pnpm dev
Abre /es/reserve
para probar.
Personalización
- Zona horaria base: edita
baseTimeZone
ensrc/data/reservations.ts
(p.ej.,Europe/Madrid
). - Depósito vs prepago:
deposit_amount
yrequire_deposit
por servicio. - Márgenes:
buffer_before_min
,buffer_after_min
. - Calendario: enlace de Google sin OAuth; para sincronización del proveedor, usa OAuth y la API de Calendar.
Tareas con Créditos — Texto a Video
Añade monetización por uso con una tabla genérica de tareas, un libro mayor de créditos y un generador de texto a video enchufable. Aprende el esquema, APIs, constantes de configuración y una UI mínima para lanzar funciones de IA.
SaaS 101: Qué significa realmente 'Software como Servicio'
Introducción al modelo Software‑as‑a‑Service (SaaS): qué significa, cómo funciona, sus beneficios clave y por qué se ha convertido en una forma dominante de entregar software en la era de la nube.