Documentation

VIV-Z Docs

Everything you need to install, configure, and run VIV-Z.

Overview

VIV-Z is a booking and session management app that integrates with your web builder. It is built on Next.js, uses Stripe for payments, and syncs contacts and workflow triggers in real time.

Architecture

VIV-Z is a multi-tenant SaaS app. Each account that installs VIV-Z becomes an independent tenant (called a "provider"). Provider data, client records, bookings, packages, and subscriptions are all isolated per tenant.

  • Authentication: Clerk (provider dashboard) + custom auth (client portal)
  • Database: PostgreSQL via Neon Serverless
  • ORM: Drizzle
  • Payments: Stripe (checkout, webhooks, subscriptions)
  • Emails / reminders: Resend
  • GHL sync: OAuth 2.0 + REST API + webhooks

Installing VIV-Z

Install VIV-Z directly from your web builder's marketplace. The OAuth flow connects your account to VIV-Z automatically.

  1. 1Open your web builder and navigate to the Marketplace.
  2. 2Search for "VIV-Z" and click Install.
  3. 3Authorize the OAuth connection when prompted.
  4. 4You will be redirected to the VIV-Z setup wizard.
  5. 5Complete the setup wizard to configure your first availability slot.

Provider Dashboard

After installation, you access the provider dashboard to manage all aspects of your service business.

  • Calendar — view, create, and edit individual and group bookings
  • Clients — invite clients, view profiles, and manage package balances
  • Packages — create session bundles with a fixed number of sessions and a price
  • Subscriptions — set up recurring billing plans that renew monthly
  • Questionnaires — build custom intake forms and assign them to clients
  • Settings — configure your Stripe account, notification preferences, and GHL sync

Client Portal

Every provider gets a hosted client portal at /portal. Share this URL with your clients so they can book, pay, and manage their account.

  • Clients sign up with email and OTP — no password required
  • Browse and purchase packages or subscribe to a plan
  • View live availability and book sessions
  • See upcoming and past sessions
  • Submit questionnaire responses
  • Update their profile

Web Builder Sync

VIV-Z connects to your web builder via OAuth and keeps contact data and custom field values in sync.

  • When a client books their first session, VIV-Z creates or updates the corresponding contact in your web builder
  • Tags are applied based on booking status (e.g. active-client, completed)
  • You can configure workflow triggers to fire on booking events (created, completed, cancelled)
  • Webhook events (contact updates, tag changes) are received and processed in real time

Stripe & Payments

VIV-Z uses Stripe for all payment processing. You must connect your own Stripe account in the Settings page.

  • One-time checkout for packages
  • Recurring subscription billing managed by Stripe
  • Webhook-driven status updates — no polling
  • Clients receive Stripe-generated receipts automatically
  • Refunds and cancellations can be managed from the Stripe dashboard

Automated Reminders

VIV-Z automatically sends session reminders 24 hours before each scheduled session via email (Resend). No manual action required.

Internal API

VIV-Z exposes a set of internal REST API routes used by the dashboard and portal. These are not intended for external consumption but are documented here for transparency.

  • GET/POST /api/bookings — list and create bookings
  • GET/PUT/DELETE /api/bookings/[id] — single booking management
  • GET/POST /api/packages — packages CRUD
  • GET/POST /api/clients — client management
  • POST /api/portal/book — client-facing booking endpoint
  • POST /api/stripe/webhook — Stripe event handler
  • POST /api/connect/webhook — event handler
  • GET /api/connect/callback — OAuth callback
  • POST /api/cron/reminders — reminder cron trigger