Service Layer medium complexity backend
0
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Orchestrates the processing of demo booking requests received from the form. It validates the incoming payload, formats the lead data, and delegates delivery to the BookingWebhookClient. Acts as the boundary between the frontend submission and the outbound notification layer.

Feature: Booking Form

demo-booking-service

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

  • Validate and sanitize incoming booking form payloads
  • Format lead data into the structure expected by downstream delivery channels
  • Invoke BookingWebhookClient to dispatch the booking request
  • Return a structured success or error response to the caller
  • Log booking attempts for audit and debugging purposes

Interfaces

submitBooking(data: BookingFormData): Promise<BookingResult>
validatePayload(data: BookingFormData): ValidationResult
formatLeadPayload(data: BookingFormData): LeadPayload