🏢 Business Information

📋 Business Details

📍 Service Area & Travel

Service Radius 80 miles

💳 Payment Settings

Deposit Percentage 30%

🎨 Performers / Contractors


💰 Service Pricing

🎨 Individual Services

Click any price to edit. Changes auto-save. Durations 1-4hr shown on website; 5-8hr for AI/admin only.

⭐ Value Packages

📅 Scheduling Settings

⏰ Booking Rules

🗺️ Service Regions

💬 SMS / Message Templates

Customize the automated messages sent to customers. Use {{variableName}} for dynamic content.

🔗 Integrations

📱 Vonage (Phone & SMS)

💳 Stripe (Payments)

🔗 N8N Webhooks

👤 Admin Users

Authorized Users


🚗 Artist Dispatch & Scoring

Configure how artists are scored and assigned to bookings. Weights must total 100%.

⚖️ Scoring Weights

Adjust how each factor influences artist selection. Total: 100%

25%
20%
20%
10%
10%
15%

📍 Distance & Travel

Teardown + break time (travel time added automatically)
Events within this distance get route bonus

🎈 Event Type Multipliers

Adjust priority for different event types. 1.0 = normal priority.

📚 Poppin' Parties TX — System Docs

v1.0.0

About This System

The Poppin' Parties TX automation platform handles booking inquiries, automated quoting, Stripe payment link generation, SMS notifications, Google Calendar scheduling, and AI-powered phone support across DFW, Houston, and Austin metro areas.

  • Website: poppinpartiestx.com — 280+ SEO landing pages + 6 service pages
  • Contact Form: Webhook → N8N → Gmail notification + customer confirmation
  • Payment: Stripe Payment Links sent via Vonage SMS
  • Scheduling: Google Calendar per performer
  • Phone: Vonage + Cartesia AI voice agent for inbound/outbound
  • Admin: This portal (admin.poppinpartiestx.com)

🏗️ System Architecture

Data Flow

Customer Journey:
  Website Form → N8N Webhook (popn-contact)
       OR
  Phone Call → Vonage → AI Voice Agent (Cartesia)
       ↓
┌─────────────────────────────────────┐
│         N8N Workflow Engine         │
├─────────────────────────────────────┤
│ POPN-webform (contact form)        │
│ POPN-create-booking                │
│ POPN-get-slots                     │
│ POPN-cancel-booking                │
│ POPN-payment-link (Stripe)         │
│ POPN-stripe-event (payment conf.)  │
│ POPN-voice-events                  │
│ POPN-config (config server)        │
└─────────────────────────────────────┘
       ↓                    ↓
  Google Calendar      Config Server
  (per performer)    (.POPN-variables.json)
       ↓
  Admin Portal (this app)
  - Pricing management
  - Performer management
  - SMS templates
  - Integration config

Tech Stack

WebsiteStatic HTML/CSS/JS, 280 SEO pages
Admin PortalVanilla HTML/CSS/JS SPA
Config ServerExpress.js on port 3002
WorkflowsN8N (self-hosted at n8n.optimus.systems)
PaymentsStripe Payment Links API
SMSVonage Messages API
Voice AICartesia Line Agent + GROQ LLM
CalendarGoogle Calendar API (OAuth2)

💰 Individual Service Pricing

Face Painting OR Balloon Twisting

1 artist provides the service. Same pricing for either service.

Bubble Party

Includes bubble machines, wands & pools. Outdoor recommended.

Caricatures OR Glitter Tattoos

1 artist. ⚠️ Caricatures NOT available in Houston region.

Live Glitter Fashion Drawing

1 artist. Premium service — no 1.5hr or 2.5hr options.

⭐ Value Package Pricing

🚗 Travel & Fee Structure

Travel Fee

  • Flat $25 within 80-mile radius
  • Radius measured from HQ (14201 Coyote Trail, Haslet TX) or assigned contractor's base location
  • Beyond radius: contact for custom quote

Payment Structure

  • Deposit: 30% non-refundable (unless Poppin' cancels → full refund)
  • Final Balance: Remaining 70% collected 3 days before event
  • Method: Stripe Payment Links sent via SMS

🎨 All Services

🗺️ Service Regions

📋 Booking Flow

End-to-End Booking Process

#StepTriggerAction
1InquiryWebsite form or phone callN8N receives submission, emails owner + confirms customer
2QuoteKateLyn reviewsSend SMS with price breakdown (base + travel) + service menus
3AcceptCustomer says yesSend 30% deposit Stripe link via SMS
4BookedStripe webhook: deposit paidConfirm booking, create calendar event, assign performer
5Reminder3 days before eventSend final balance Stripe link + artist info via SMS
6Event DayFinal payment confirmedSend event confirmation + artist contact
7Follow-up1 day after eventSend Google review request via SMS

💳 Payment Flow

Two-Stage Stripe Payment Links

Stage 1: Deposit
  Customer confirms → N8N creates Stripe Payment Link (30%)
  → Vonage sends SMS with link
  → Customer pays
  → Stripe webhook fires checkout.session.completed
  → N8N triggers "Booked" confirmation + calendar event

Stage 2: Final Balance (3 days before event)
  Scheduled N8N trigger
  → Creates Stripe link for remaining 70%
  → Vonage sends SMS with link + artist info
  → Customer pays
  → Stripe webhook confirms → event fully paid

💬 SMS Communication Workflows

🔗 N8N Webhooks

💳 Stripe Integration

Setup

  • Create Stripe account for Poppin' Parties TX
  • Add publishable key + secret key in Integrations tab
  • Set up webhook endpoint: https://n8n.optimus.systems/webhook/popn-stripe-event
  • Subscribe to event: checkout.session.completed

Payment Link API

N8N workflow creates payment links dynamically via POST /v1/payment_links with amount, description, and metadata (booking ID, customer name).

📱 Vonage Integration

Phone Number

Vonage number: +1 (972) 777-6725

Capabilities

  • SMS: Send/receive text messages (payment links, confirmations, reviews)
  • Voice: Inbound call routing to AI agent, outbound lead follow-up

🤖 AI Phone Agent

Overview

Cartesia Line AI agent handles inbound and outbound calls with a fun, party-themed personality matching the Poppin' Parties brand.

Capabilities

  • Inbound: Answer availability questions, quote prices, take booking details, check calendar
  • Outbound: Follow up on website form submissions that haven't converted
  • Pricing: Query config server for real-time quotes (up to 8hr events)
  • Handoff: Transfer to KateLyn for complex requests

📱 Admin Portal Guide

Getting Started

  • Sign in with an authorized Google account (set in Admin Users tab)
  • All changes auto-save after a 1.5s delay or when clicking Save
  • The ⚡ indicator shows unsaved changes

Tabs Reference

🏢 BusinessCompany info, address, travel fee, deposit %, payment timing
🎨 PerformersAdd/edit performers — name, skills, calendar, working hours, base location
💰 PricingEdit all service prices (1-8hr) for individual & packages
📅 SchedulingBooking rules (advance time, max duration, slot intervals) + regions
💬 SMS TemplatesCustomize automated messages — use {{variables}} for dynamic content
🔗 IntegrationsVonage, Stripe, N8N webhook URLs
👤 Admin UsersManage authorized Google accounts + Google OAuth client ID
📚 DocsThis documentation section

⚙️ Config Reference

Config Server API

EndpointMethodAuthDescription
/healthGETNoneHealth check
/configGETOptionalFull config (secrets masked without API key)
/configPOSTX-API-KEYUpdate config sections
/pricing/quoteGETNoneCalculate price quote

Quote API Example

GET /pricing/quote?services=face-painting,balloon-twisting&duration=2&city=Dallas

Response:
{
  "services": "Face Painting + Balloon Twisting",
  "duration": 2, "basePrice": 350,
  "travelFee": 25, "totalPrice": 375,
  "depositPercent": 30, "depositAmount": 113,
  "balanceAmount": 262, "artistsRequired": 2
}