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

Description

The interactive form component that collects contact and organization details from prospective customers. It validates input fields client-side before delegating submission to the BookingSubmissionService. Displays success and error feedback states to the user.

Feature: Booking Form

booking-form-widget

Sources & reasoning

Line 337 explicitly names the demo booking form as a Sales Website MVP deliverable, specifying email/webhook submission with no login. Line 335 confirms it is in the Sales Website MVP scope. The blueprint marks this feature [MVP]. Target release MVP is directly evidenced by the phase 1 scope section.

  • docs/source/likeperson.md · line 337
    Enkelt demo-booking-skjema (sender til e-post/webhook, ingen pålogging)
  • docs/source/likeperson.md · line 223
    Demo booking form
  • docs/source/likeperson.md · line 335
    Product Sales Website (MVP scope):

Responsibilities

  • Render form fields for name, email, organization, and message
  • Validate required fields and email format before submission
  • Invoke BookingSubmissionService on valid form submission
  • Display loading, success, and error feedback states
  • Reset form state after successful submission

Interfaces

handleSubmit(formData: BookingFormData): Promise<void>
validateField(field: string, value: string): ValidationResult
resetForm(): void

Related Data Entities (1)

Data entities managed by this component