Umovi integration platform
Webhook events
Every delivery uses this envelope:
{
"id": "evt_22ed489c-0376-46ad-931b-1e00ecae2310",
"type": "booking.rescheduled",
"createdAt": "2026-07-29T10:30:00.000Z",
"data": {
"bookingId": "f93a19c1-9ab1-43b9-a923-3269f32dc743",
"providerId": "65f7e4d5-a419-46df-a009-40344428d3a9",
"oldStartsAt": "2026-07-30T08:00:00.000Z",
"newStartsAt": "2026-07-30T09:30:00.000Z"
}
}All values inside data are strings. Timestamps use ISO 8601; billing issueDate is a calendar date. The envelope id is evt_ followed by the delivery UUID.
Booking events
| Event | data fields |
|---|---|
booking.created | bookingId, providerId |
booking.updated | bookingId, providerId, changedFields, updatedAt |
booking.client_assigned | bookingId, providerId, clientId |
booking.reminder_sent | bookingId, providerId, recipientKind, sentAt |
booking.message_created | bookingId, providerId, messageId, authorKind, createdAt |
booking.status_changed | bookingId, providerId, oldStatus, newStatus, changedAt |
booking.confirmed | Same fields as booking.status_changed |
booking.rescheduled | bookingId, providerId, oldStartsAt, newStartsAt |
booking.cancelled | Same fields as booking.status_changed |
booking.cancelled_by_client | bookingId, providerId, cancelledAt |
booking.completed | Same fields as booking.status_changed |
booking.no_show | Same fields as booking.status_changed |
booking.deleted | bookingId, providerId, oldStatus, deletedAt |
booking.cancelled represents status CANCELLED; client withdrawal uses WITHDRAWN and emits booking.cancelled_by_client. A status change can emit both the generic booking.status_changed and its specific event, each as a separate delivery. clientId in booking.client_assigned can be an empty string when no global client account is linked.
changedFields is a comma-separated list. Fetch the current reservation when you need its authoritative full state. Message content is deliberately excluded from booking.message_created.
Client events
client.created, client.updated and client.deleted contain providerId, providerClientId and changedAt.
Billing events
| Event | data fields |
|---|---|
billing.payment.paid | providerId, paymentId, optional invoiceId, amountMinor, currency, optional paymentMethodCode, paidAt |
billing.document.ready | providerId, documentId, optional paymentId, optional invoiceId, documentType, optional documentNumber, issueDate, generatedAt |
The special webhook.test event is sent only by the test operation and contains providerId, webhookId and test: "true".