SpiderPublish treats forms and booking flows as first-class entities. Both use a single kind field to distinguish behavior, and both render at the same URL pattern: /f/<form-id>.
Unified Model
A form with kind: "form" is a standard lead capture form. A form with kind: "booking" adds date/time selection, availability checking, and calendar integration. The underlying data model is identical — bookings are just forms with temporal constraints.
Availability Engine
The availability engine runs as a separate microservice. It maintains per-tenant calendar state and responds to availability queries in under 10ms. When a user selects a time slot, we optimistically lock it for 5 minutes while they complete the form.
Webhooks
Every form submission triggers configurable webhooks. Tenants can route submissions to their CRM, email, Slack, or any HTTP endpoint. We guarantee at-least-once delivery with automatic retries.