5 min read

Bookings Webhook Events

Webhook events for bookings

Bookings Webhook Events

Receive notifications when bookings are created, confirmed, completed, or cancelled.

Events

Event Description
booking.created A new booking was created
booking.confirmed A booking was confirmed
booking.cancelled A booking was cancelled
booking.completed A booking was completed

booking.created

Triggered when a new booking is created.

Payload

{
    "event": "booking.created",
    "timestamp": "2024-01-15T08:30:00Z",
    "data": {
        "id": 123,
        "company_id": 1,
        "reference_number": "BK-ABC12345",
        "customer_name": "John Doe",
        "customer_email": "[email protected]",
        "customer_phone": "+639171234567",
        "service_type": "Oil Change",
        "booking_date": "2024-01-20",
        "booking_time": "09:00",
        "status": "pending",
        "notes": "Please check brake pads as well",
        "created_at": "2024-01-15T08:30:00Z",
        "updated_at": "2024-01-15T08:30:00Z"
    }
}

booking.confirmed

Triggered when a booking is confirmed by staff.

Payload

{
    "event": "booking.confirmed",
    "timestamp": "2024-01-15T09:00:00Z",
    "data": {
        "id": 123,
        "reference_number": "BK-ABC12345",
        "customer_name": "John Doe",
        "customer_email": "[email protected]",
        "customer_phone": "+639171234567",
        "service_type": "Oil Change",
        "booking_date": "2024-01-20",
        "booking_time": "09:00",
        "status": "confirmed",
        "confirmed_at": "2024-01-15T09:00:00Z",
        "assigned_to": {
            "id": 5,
            "name": "Mike Technician"
        }
    }
}

booking.cancelled

Triggered when a booking is cancelled.

Payload

{
    "event": "booking.cancelled",
    "timestamp": "2024-01-16T14:30:00Z",
    "data": {
        "id": 123,
        "reference_number": "BK-ABC12345",
        "customer_name": "John Doe",
        "customer_email": "[email protected]",
        "service_type": "Oil Change",
        "booking_date": "2024-01-20",
        "booking_time": "09:00",
        "status": "cancelled",
        "cancellation_reason": "Customer requested reschedule",
        "cancelled_at": "2024-01-16T14:30:00Z"
    }
}

booking.completed

Triggered when a booking is marked as completed.

Payload

{
    "event": "booking.completed",
    "timestamp": "2024-01-20T11:30:00Z",
    "data": {
        "id": 123,
        "reference_number": "BK-ABC12345",
        "customer_name": "John Doe",
        "customer_email": "[email protected]",
        "service_type": "Oil Change",
        "booking_date": "2024-01-20",
        "booking_time": "09:00",
        "status": "completed",
        "completed_at": "2024-01-20T11:30:00Z",
        "service_job_id": 456
    }
}

Booking Status Values

Status Description
pending Awaiting confirmation
confirmed Booking confirmed by staff
completed Service completed
cancelled Booking cancelled
no_show Customer did not arrive

Use Cases

Calendar Sync

Use booking.created and booking.cancelled to sync with external calendar systems like Google Calendar.

Customer Reminders

Set up automated reminder workflows when booking.confirmed is received.

Capacity Planning

Track booking events to analyze demand patterns and optimize staff scheduling.

Back to Webhooks
Was this helpful?