DemoBookingService
Component Detail
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.
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.
-
docs/source/likeperson.md · line 337Enkelt demo-booking-skjema (sender til e-post/webhook, ingen pålogging)
-
docs/source/likeperson.md · line 222Demo booking form
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