Bewtee

Developer docs

Events

Every event type and the payload it carries.

On this page (3)
  1. Event types
  2. Payload
  3. Test event

Event types

Type Sent when
booking.created A booking is made, from any source: your Bewtee page, the widget, the API or the dashboard. Online bookings are announced once the customer has verified their phone number.
booking.accepted The business (or auto-accept) confirms a pending booking.
booking.rejected The business declines a pending booking.
booking.cancelled The booking is cancelled by the business or the customer. See cancelled_by.
booking.rescheduled The business moves the booking to a new date or time.
booking.completed The appointment is marked completed.
booking.no_show The customer did not arrive.
booking.expired A pending booking was not answered in time.
ping You pressed Send test. Sent regardless of the events you selected.

A booking created directly as confirmed (for example one the business adds in the dashboard) sends booking.created with status: "accepted" and no separate booking.accepted.

Payload

{
  "id": "evt_8k2m4n6p8q0r2s4t6u8v0w2x4y",
  "type": "booking.accepted",
  "api_version": "v1",
  "business_id": 123,
  "created_at": "2026-11-16T14:02:11+05:30",
  "data": {
    "booking": {
      "id": 9812,
      "status": "accepted",
      "date": "2026-11-16",
      "time": "14:00",
      "starts_at": "2026-11-16T14:00:00+05:30",
      "ends_at": "2026-11-16T14:45:00+05:30",
      "duration_minutes": 45,
      "amount": { "subtotal": 500, "discount": 0, "total": 500, "currency": "INR" },
      "payment_method": "pay_at_salon",
      "payment_status": "pay_at_salon",
      "customer": { "id": 77, "name": "Asha Rao", "phone": "9876543210", "email": "[email protected]" },
      "services": [
        { "service_id": 10, "name": "Haircut", "price": 500, "duration_minutes": 45, "quantity": 1, "staff_id": 7 }
      ],
      "status_reason": null,
      "cancelled_by": null,
      "accept_deadline_at": null,
      "status_updated_at": "2026-11-16T14:02:11+05:30",
      "created_at": "2026-11-16T14:01:40+05:30"
    },
    "previous_status": "pending"
  }
}
Field Description
id Unique event ID. Use it to ignore duplicates.
type The event type.
api_version Version of the payload format. Currently v1.
business_id The business the event belongs to.
created_at When the change happened.
data.booking The booking, in the same shape as the API. Its status is the status this event describes.
data.previous_status Present on status changes.
data.previous_date, data.previous_time Present on booking.rescheduled.

New fields may be added to payloads at any time. Ignore fields you do not recognise.

Test event

{
  "id": "evt_1a2b3c4d5e6f7g8h9i0j1k2l3m",
  "type": "ping",
  "api_version": "v1",
  "business_id": 123,
  "created_at": "2026-11-16T10:00:00+05:30",
  "data": { "message": "This is a test event from Bewtee." }
}

Ready to connect Bewtee?

Sign in to your Bewtee business dashboard and choose Developers. Everything there is free for Bewtee businesses.

New to Bewtee? See what the salon software does

Found something wrong? Report an error

Login

Use your mobile number to view and manage your bookings.

+91

Enter the code we sent to +91 on WhatsApp.