Webhooks

Events

The events a webhook can subscribe to, and the fields in each payload

Payload format

Every webhook request body has the same envelope:

{
  "id": "evt_order_created_k57d9x2q8n3m4p5r6s7t8u9v0w1x2y3z_1794185870123",
  "type": "order.created",
  "created": "2026-11-13T10:15:02.123Z",
  "data": {
    "orderId": "k57d9x2q8n3m4p5r6s7t8u9v0w1x2y3z",
    "orderNumber": "ORD-3MZZPC",
    "status": "pending",
    "paymentStatus": "unpaid",
    "total": 45,
    "currency": "GBP",
    "customerId": "jd7a1b2c3d4e5f6g7h8j9k0m1n2p3q4r",
    "itemTypes": ["booking"],
    "updatedAt": "2026-11-13T10:15:02.120Z"
  }
}
FieldDescription
idThe event's unique ID. Every retry and replay of the event keeps this ID, and it matches the tiquo-event-id header.
typeThe event type. It matches the tiquo-event header.
createdWhen the event happened, in ISO 8601 UTC.
dataThe event's fields, described below.

Payloads carry IDs and key fields, not full records. Use the IDs to fetch the full record from the Admin API. Fields without a value are left out of data, so treat every field except the IDs as optional. Tiquo may add new fields; ignore any you don't recognise.

Events can arrive out of order. Compare updatedAt with the version you already hold, or fetch the latest record from the Admin API, rather than relying on arrival order.

Event types

These are the events you can choose in Settings > Webhooks.

EventWhen it is sentData
customer.createdA customer profile is created.Customer
customer.updatedA customer profile changes.Customer
company.createdA company is created.Company
company.updatedA company changes.Company
order.createdAn order is created.Order
order.updatedAn order changes, for example its status or payment status.Order
order.completedAn order is completed.Order
order.cancelledAn order is cancelled.Order
order.refundedAn order is refunded.Order
booking.createdA booking is created that is not yet confirmed, for example while it waits for payment or approval. The dashboard calls this Tentative booking created.Booking
booking.confirmedA booking is confirmed.Booking
booking.updatedA booking changes.Booking
booking.cancelledA booking is cancelled.Booking
booking.completedA booking is completed.Booking
enquiry.createdAn enquiry is created, including website form submissions.Enquiry
enquiry.updatedAn enquiry changes.Enquiry
membership.createdA membership is created for a customer or company.Membership
membership.updatedA membership changes.Membership
membership.paidA membership payment, renewal or joining fee is paid.Membership paid
payment.succeededAn order's payment succeeds.Order
payment.failedAn order's payment fails.Order
payment.refundedAn order's payment is refunded in full.Order
payment.partially_refundedPart of an order's payment is refunded.Order

The Send test button sends a webhook.test event, which you can't subscribe to. See Add a webhook.

Customer events

customer.created and customer.updated.

FieldTypeDescription
customerIdstringThe customer's ID.
customerNumberstringThe customer number, for example CUST-000001.
statusstringThe customer's status.
sourcestringWhere the customer came from, for example the dashboard, a website form or an import.
updatedAtstringWhen the customer last changed, in ISO 8601 UTC.

Company events

company.created and company.updated.

FieldTypeDescription
companyIdstringThe company's ID.
companyNumberstringThe company number.
namestringThe company name.
statusstringThe company's status.
updatedAtstringWhen the company last changed, in ISO 8601 UTC.

Order and payment events

All order.* and payment.* events.

FieldTypeDescription
orderIdstringThe order's ID.
orderNumberstringThe order number, for example ORD-3MZZPC.
statusstringThe order's status.
paymentStatusstringThe order's payment status.
totalnumberThe order total in the currency's major unit, for example 45.5 for £45.50.
currencystringThe ISO 4217 currency code, for example GBP.
customerIdstringThe ID of the customer on the order.
companyIdstringThe ID of the company on the order.
itemTypesstring[]The kinds of item on the order: product, booking, membership or custom.
updatedAtstringWhen the order last changed, in ISO 8601 UTC.

Refund events (order.refunded, payment.refunded and payment.partially_refunded) can also include:

FieldTypeDescription
refundAmountnumberThe total refunded so far, in the major unit.
refundDeltaAmountnumberThe amount refunded by this refund, in the major unit.
refundReasonstringThe reason entered for the refund.
refundedItemsstring[]The IDs of the order items refunded.
refundedAtstringWhen the refund was made, in ISO 8601 UTC.
stripeRefundIdstringThe Stripe refund ID, for card payments.

Booking events

All booking.* events.

FieldTypeDescription
bookingIdstringThe booking's ID.
bookingNumberstringThe booking number.
statusstringThe booking's status.
serviceIdstringThe ID of the booked service.
sublocationIdstringThe ID of the sublocation the booking is at.
customerIdstringThe ID of the customer who made the booking.
orderIdstringThe ID of the order the booking belongs to.
startsAtstringWhen the booking starts, in ISO 8601 UTC.
updatedAtstringWhen the booking last changed, in ISO 8601 UTC.

Enquiry events

enquiry.created and enquiry.updated.

FieldTypeDescription
enquiryIdstringThe enquiry's ID.
enquiryNumberstringThe enquiry number.
statusstringThe enquiry's status.
prioritystringThe enquiry's priority.
sourcestringWhere the enquiry came from, for example a website form or the dashboard.
customerIdstringThe ID of the customer linked to the enquiry.
updatedAtstringWhen the enquiry last changed, in ISO 8601 UTC.

Membership events

membership.created and membership.updated.

FieldTypeDescription
membershipIdstringThe membership's ID.
membershipPlanIdstringThe ID of the membership plan.
subjectTypestringcustomer or company: who holds the membership.
customerIdstringThe customer's ID, when a customer holds the membership.
companyIdstringThe company's ID, when a company holds the membership.
statusstringThe membership's status.
paymentStatusstringThe membership's payment status.
updatedAtstringWhen the membership last changed, in ISO 8601 UTC.

membership.paid

Includes every membership field above, with paymentStatus set to paid, plus:

FieldTypeDescription
orderIdstringThe ID of the order that paid for the membership.
orderNumberstringThat order's number.
sublocationIdstringThe ID of the sublocation the order was placed at.
amountnumberThe amount paid, in the currency's major unit.
currencystringThe ISO 4217 currency code.
paymentKindstringmembership for a membership payment, or joining_fee for an order that only contains a joining fee.
isRenewalbooleantrue when the payment renews an existing membership.
renewalDatestringThe membership's next renewal date, in ISO 8601 UTC.
paidAtstringWhen the payment was made, in ISO 8601 UTC.

En esta página