User Interface medium complexity frontend
0
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

The primary landing page component that renders the demo booking form on the sales website. It collects contact information and organization details from prospective customers. Handles client-side validation and submission state feedback.

Feature: Booking Form

booking-form-page

Sources & reasoning

Lines 337 and 222 explicitly name the demo booking form as a Sales Website MVP deliverable that POSTs to email/webhook with no login - a deliberate lightweight constraint. It is the only interactive conversion surface on a static marketing site, making it critical for early pipeline generation despite low technical complexity.

Responsibilities

  • Render form fields for contact name, email, organization, and message
  • Perform client-side field validation before submission
  • Display loading, success, and error states after form submission
  • Submit form data to DemoBookingService on user action

Interfaces

handleSubmit(formData: BookingFormData): void
validateFields(formData: BookingFormData): ValidationResult
resetForm(): void