How does the Amelia Bookings API work
The Amelia Bookings API allows you to programmatically create, update, reschedule, cancel, and delete bookings, including appointments, events, and packages, using authenticated REST-style endpoints.
It is intended for advanced integrations where bookings need to be managed from external systems such as custom apps, CRMs, or middleware services.
To see all available endpoints with ready-made request and response examples, download the Amelia API Postman collection:Â Amelia API Postman collection.
The API Endpoints are included only in the Elite license plans. Using API Endpoints requires a certain level of coding skills; it is not included in the provided support for the plugin.
How does authorization work?
- All Amelia endpoints use an API key authorization, using the header property named
Amelia. - In every request, include the header:
Amelia: YOUR_API_KEY.
What is the base path for Amelia API endpoints?
Amelia API paths start with {{your_site_url}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1
In the examples below, {{your_site_url}} is shown as https://example.com.
How do I add a booking?
- Endpoint: Create an appointment, event, or package booking.
- Method:
POST - Path:
/bookings
How do I create an appointment booking?
- Required properties
- type (
string); Type of booking. Possible values:appointment,event,package. - bookings (
array); Array with one element, the booking object which contains customer and custom fields information. - bookingStart (
string); The starting date and time of the appointment in the format:YYYY-MM-DD HH:mm. - payment (
object); Payment object with the following fields:gateway,currency, anddata. - notifyParticipants (
boolean); Whether the customers should be notified about the appointment. - locationId (
integer); Location ID of the appointment. - providerId (
integer); Employee ID of the appointment. - serviceId (
integer); Service ID of the appointment.
- type (
- Other properties
- locale (
string); Locale of the customer. Example:en_US. - timeZone (
string); Timezone of the customer. Example:Europe/Belgrade. - recurring (
array); Array of all the recurring appointments, without the first one. - couponCode (
string); Coupon code. - runInstantPostBookingActions (
boolean); Whether to run post booking actions (sending emails, adding Google/Outlook calendar events, creating a Zoom meeting, etc.) in this API call. False by default. If set to false, call/bookings/success/{{booking_id}}afterwards.
- locale (
Example
Request
curl --location 'https://example.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings' \
--header 'Content-Type: application/json' \
--header 'Amelia: YOUR_API_KEY' \
--data-raw '{
"type": "appointment",
"bookings": [
{
"extras": [],
"customFields": {
"1": {
"label": "text",
"type": "text",
"value": "Custom field value"
}
},
"deposit": true,
"locale": "en_US",
"utcOffset": null,
"persons": 1,
"customerId": null,
"customer": {
"id": null,
"firstName": "Jordan",
"lastName": "Parker",
"email": "jordan.parker@example.test",
"phone": "",
"countryPhoneIso": "",
"externalId": null
},
"duration": 1800
}
],
"payment": {
"gateway": "onSite",
"currency": "USD",
"data": {}
},
"bookingStart": "2026-02-12 13:00",
"notifyParticipants": 1,
"locationId": 2,
"providerId": 1,
"serviceId": 1
}'
Response
{
"message": "Successfully added booking",
"data": {
"type": "appointment",
"appointment": {
"id": 742,
"bookings": [
{
"id": 980,
"customerId": 64,
"customer": {
"id": 64,
"firstName": "Jordan",
"lastName": "Parker",
"birthday": null,
"email": "jordan.parker@example.test",
"phone": null,
"type": "customer",
"status": null,
"note": null,
"zoomUserId": null,
"countryPhoneIso": null,
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": "{\"defaultLanguage\":\"en_US\"}",
"gender": null
},
"status": "approved",
"extras": [],
"couponId": null,
"price": 23,
"coupon": null,
"customFields": "{\"1\":{\"label\":\"text\",\"type\":\"text\",\"value\":\"Custom field value\"}}",
"info": "{\"firstName\":\"Jordan\",\"lastName\":\"Parker\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}",
"appointmentId": 742,
"persons": 1,
"token": "08a4df18c0",
"payments": [
{
"id": 1001,
"customerBookingId": 980,
"packageCustomerId": null,
"parentId": null,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-02-12 13:00:00",
"status": "pending",
"data": "",
"entity": "appointment",
"created": null,
"actionsCompleted": null,
"wcOrderId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null,
"transactionId": null
}
],
"utcOffset": null,
"aggregatedPrice": true,
"isChangedStatus": null,
"isLastBooking": null,
"packageCustomerService": null,
"ticketsData": [],
"duration": 1800,
"created": null,
"actionsCompleted": false,
"isUpdated": null
}
],
"notifyParticipants": 1,
"internalNotes": "",
"status": "approved",
"serviceId": 1,
"parentId": null,
"providerId": 1,
"locationId": 2,
"provider": null,
"service": null,
"location": {
"id": 2,
"status": "visible",
"name": "Location2",
"description": "",
"address": "Velisava Vulovića 18, Belgrade, Serbia",
"phone": "",
"latitude": 44.767476,
"longitude": 20.455081,
"pictureFullPath": null,
"pictureThumbPath": null,
"pin": "",
"translations": null
},
"googleCalendarEventId": "hlda2snvbh7llqbupsgnels3io",
"googleMeetUrl": null,
"outlookCalendarEventId": null,
"zoomMeeting": null,
"lessonSpace": null,
"bookingStart": "2026-02-12 13:00:00",
"bookingEnd": "2026-02-12 13:30:00",
"type": "appointment",
"isRescheduled": null,
"isFull": null,
"resources": []
},
"booking": {
"id": 980,
"customerId": 64,
"customer": {
"id": 64,
"firstName": "Jordan",
"lastName": "Parker",
"birthday": null,
"email": "jordan.parker@example.test",
"phone": null,
"type": "customer",
"status": null,
"note": null,
"zoomUserId": null,
"countryPhoneIso": null,
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": "{\"defaultLanguage\":\"en_US\"}",
"gender": null
},
"status": "approved",
"extras": [],
"couponId": null,
"price": 23,
"coupon": null,
"customFields": "{\"1\":{\"label\":\"text\",\"type\":\"text\",\"value\":\"Custom field value\"}}",
"info": "{\"firstName\":\"Jordan\",\"lastName\":\"Parker\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}",
"appointmentId": 742,
"persons": 1,
"token": "08a4df18c0",
"payments": [
{
"id": 1001,
"customerBookingId": 980,
"packageCustomerId": null,
"parentId": null,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-02-12 13:00:00",
"status": "pending",
"data": "",
"entity": "appointment",
"created": null,
"actionsCompleted": null,
"wcOrderId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null,
"transactionId": null
}
],
"utcOffset": null,
"aggregatedPrice": true,
"isChangedStatus": null,
"isLastBooking": null,
"packageCustomerService": null,
"ticketsData": [],
"duration": 1800,
"created": null,
"actionsCompleted": false,
"isUpdated": null
},
"utcTime": [
{
"start": "2026-02-12 12:00:00",
"end": "2026-02-12 12:30:00"
}
],
"appointmentStatusChanged": true,
"recurring": [],
"package": [],
"packageId": null,
"customer": {
"id": 64,
"firstName": "Jordan",
"lastName": "Parker",
"birthday": null,
"email": "jordan.parker@example.test",
"phone": null,
"type": "customer",
"status": null,
"note": null,
"zoomUserId": null,
"countryPhoneIso": null,
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": "{\"defaultLanguage\":\"en_US\"}",
"gender": null,
"locale": "en_US",
"timeZone": "Europe/Belgrade"
},
"bookable": {
"id": 1,
"name": "amelia service",
"description": "location address: %location_address%",
"color": "#1788FB",
"price": 23,
"deposit": 14,
"depositPayment": "fixed",
"depositPerPerson": true,
"pictureFullPath": null,
"pictureThumbPath": null,
"extras": [
{
"id": 17,
"name": "extra",
"description": null,
"price": 0,
"maxQuantity": 1,
"position": 1,
"duration": 600,
"serviceId": null,
"aggregatedPrice": false,
"translations": null
}
],
"coupons": [],
"position": null,
"settings": "{\"payments\":{\"mollie\":{\"enabled\":true},\"paymentLinks\":{\"enabled\":true,\"changeBookingStatus\":false,\"redirectUrl\":null},\"onSite\":true,\"payPal\":{\"enabled\":true},\"stripe\":{\"enabled\":false},\"razorpay\":{\"enabled\":false}},\"zoom\":{\"enabled\":true},\"lessonSpace\":{\"enabled\":true},\"activation\":{\"version\":\"6.6\"}}",
"fullPayment": true,
"minCapacity": 1,
"maxCapacity": 10,
"duration": 1800,
"timeBefore": 1800,
"timeAfter": 1800,
"bringingAnyone": true,
"show": true,
"aggregatedPrice": true,
"status": "visible",
"categoryId": 1,
"category": null,
"priority": [],
"gallery": [],
"recurringCycle": null,
"recurringSub": null,
"recurringPayment": 999,
"translations": null,
"minSelectedExtras": null,
"mandatoryExtra": null,
"customPricing": "{\"enabled\":false,\"durations\":{\"3600\":{\"price\":30,\"rules\":[]},\"5400\":{\"price\":40,\"rules\":[]}}}",
"maxExtraPeople": null,
"limitPerCustomer": "{\"enabled\":false,\"numberOfApp\":1,\"timeFrame\":\"day\",\"period\":1,\"from\":\"bookingDate\"}"
},
"paymentId": 1001,
"packageCustomerId": null,
"payment": {
"id": 1001,
"customerBookingId": 980,
"packageCustomerId": null,
"parentId": null,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-02-12 13:00:00",
"status": "pending",
"data": "",
"entity": "appointment",
"created": null,
"actionsCompleted": null,
"wcOrderId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null,
"transactionId": null
},
"customerCabinetUrl": "https://example.com/index.php/customer-panel"
}
}
How do I create an event booking?
- Required properties
- type (
string); Type of booking. Possible values:appointment,event,package. - bookings (
array); Array with one element, the booking object which contains customer and custom fields information. - payment (
object); Payment object with the following fields:gateway,currency, anddata. - eventId (
integer); Event ID.
- type (
- Other properties
- locale (
string); Locale of the customer. Example:en_US. - timeZone (
string); Timezone of the customer. Example:Europe/Belgrade. - couponCode (
string); Coupon code. - runInstantPostBookingActions (
boolean); Whether to run post booking actions in this API call. False by default. If set to false, call/bookings/success/{{booking_id}}afterwards.
- locale (
Example
Request
curl --location 'https://example.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings' \
--header 'Content-Type: application/json' \
--header 'Amelia: YOUR_API_KEY' \
--data-raw '{
"type": "event",
"bookings": [
{
"customer": {
"email": "emma.reed@example.test",
"externalId": null,
"firstName": "Emma",
"lastName": "Reed",
"phone": "",
"countryPhoneIso": "rs"
},
"customFields": {
"1": {
"label": "text",
"value": "",
"type": "text"
}
},
"customerId": 0,
"persons": 1,
"ticketsData": [
{
"eventTicketId": 25,
"persons": 0,
"price": 20
},
{
"eventTicketId": 24,
"persons": 2,
"price": 10
}
],
"utcOffset": null,
"deposit": false
}
],
"payment": {
"amount": "40.00",
"gateway": "onSite",
"currency": "USD"
},
"recaptcha": false,
"locale": "en_US",
"timeZone": "Europe/Belgrade",
"couponCode": "",
"eventId": 54
}'
Response
{
"message": "Successfully added booking",
"data": {
"type": "event",
"event": {
"id": 54,
"name": "tickets event",
"description": "",
"color": "#1788FB",
"price": 0,
"deposit": 0,
"depositPayment": "disabled",
"depositPerPerson": true,
"pictureFullPath": null,
"pictureThumbPath": null,
"extras": [],
"coupons": [],
"position": null,
"settings": "{\"payments\":{\"paymentLinks\":{\"enabled\":true,\"changeBookingStatus\":false,\"redirectUrl\":null},\"onSite\":true,\"payPal\":{\"enabled\":false},\"stripe\":{\"enabled\":false},\"mollie\":{\"enabled\":false},\"razorpay\":{\"enabled\":false}},\"general\":{\"minimumTimeRequirementPriorToCanceling\":null,\"redirectUrlAfterAppointment\":null},\"zoom\":{\"enabled\":true},\"lessonSpace\":{\"enabled\":false}}",
"fullPayment": false,
"bookings": [
{
"id": 262,
"customerId": 11,
"customer": {
"id": 11,
"firstName": "Emma",
"lastName": "Reed",
"birthday": null,
"email": "emma.reed@example.test",
"phone": null,
"type": "customer",
"status": null,
"note": null,
"zoomUserId": null,
"countryPhoneIso": "rs",
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": "{\"defaultLanguage\":\"en_US\"}",
"gender": null
},
"status": "approved",
"extras": [],
"couponId": null,
"price": 20,
"coupon": null,
"customFields": "{\"1\":{\"label\":\"text\",\"value\":\"\",\"type\":\"text\"}}",
"info": "{\"firstName\":\"Emma\",\"lastName\":\"Reed\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}",
"appointmentId": null,
"persons": 0,
"token": "eace84d090",
"payments": [
{
"id": 303,
"customerBookingId": 262,
"packageCustomerId": null,
"parentId": null,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-01-21 09:00:00",
"status": "pending",
"data": "",
"entity": "event",
"created": null,
"actionsCompleted": null,
"wcOrderId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null
}
],
"utcOffset": null,
"aggregatedPrice": true,
"isChangedStatus": null,
"isLastBooking": null,
"packageCustomerService": null,
"ticketsData": [
{
"id": null,
"eventTicketId": 25,
"customerBookingId": null,
"persons": null,
"price": 20
},
{
"id": null,
"eventTicketId": 24,
"customerBookingId": null,
"persons": 2,
"price": 10
}
],
"duration": null,
"created": null,
"actionsCompleted": false
}
],
"periods": [
{
"id": 54,
"eventId": 54,
"periodStart": "2026-01-21 09:00:00",
"periodEnd": "2026-01-21 20:30:00",
"zoomMeeting": null,
"lessonSpace": null,
"bookings": [],
"googleCalendarEventId": null,
"googleMeetUrl": null,
"outlookCalendarEventId": null
}
],
"bookingOpens": null,
"bookingCloses": null,
"bookingOpensRec": "same",
"bookingClosesRec": "same",
"ticketRangeRec": "calculate",
"status": "approved",
"recurring": null,
"maxCapacity": 1,
"maxCustomCapacity": null,
"show": true,
"tags": [],
"customTickets": [
{
"id": 25,
"eventId": 54,
"name": "ticket2",
"enabled": true,
"price": 20,
"dateRangePrice": null,
"spots": 20,
"dateRanges": "[]",
"sold": 0,
"translations": null
},
{
"id": 24,
"eventId": 54,
"name": "ticket1",
"enabled": true,
"price": 10,
"dateRangePrice": null,
"spots": 10,
"dateRanges": "[]",
"sold": 0,
"translations": null
}
],
"gallery": [],
"providers": [],
"notifyParticipants": 1,
"locationId": null,
"location": null,
"customLocation": null,
"parentId": null,
"created": "2023-04-28 16:05:24",
"zoomUserId": null,
"organizerId": null,
"type": "event",
"bringingAnyone": true,
"bookMultipleTimes": true,
"translations": null,
"customPricing": true,
"closeAfterMin": null,
"closeAfterMinBookings": false,
"maxExtraPeople": null,
"initialEventStart": null,
"initialEventEnd": null
},
"booking": {
"id": 262,
"customerId": 11,
"customer": {
"id": 11,
"firstName": "Emma",
"lastName": "Reed",
"birthday": null,
"email": "emma.reed@example.test",
"phone": null,
"type": "customer",
"status": null,
"note": null,
"zoomUserId": null,
"countryPhoneIso": "rs",
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": "{\"defaultLanguage\":\"en_US\"}",
"gender": null
},
"status": "approved",
"extras": [],
"couponId": null,
"price": 20,
"coupon": null,
"customFields": "{\"1\":{\"label\":\"text\",\"value\":\"\",\"type\":\"text\"}}",
"info": "{\"firstName\":\"Emma\",\"lastName\":\"Reed\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}",
"appointmentId": null,
"persons": 0,
"token": "eace84d090",
"payments": [
{
"id": 303,
"customerBookingId": 262,
"packageCustomerId": null,
"parentId": null,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-01-21 09:00:00",
"status": "pending",
"data": "",
"entity": "event",
"created": null,
"actionsCompleted": null,
"wcOrderId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null
}
],
"utcOffset": null,
"aggregatedPrice": true,
"isChangedStatus": null,
"isLastBooking": null,
"packageCustomerService": null,
"ticketsData": [
{
"id": null,
"eventTicketId": 25,
"customerBookingId": null,
"persons": null,
"price": 20
},
{
"id": null,
"eventTicketId": 24,
"customerBookingId": null,
"persons": 2,
"price": 10
}
],
"duration": null,
"created": null,
"actionsCompleted": false
},
"utcTime": [
{
"start": "2026-01-21 07:00:00",
"end": "2026-01-21 18:30:00"
}
],
"appointmentStatusChanged": false,
"recurring": [],
"package": [],
"packageId": null,
"customer": {
"id": 11,
"firstName": "Emma",
"lastName": "Reed",
"birthday": null,
"email": "emma.reed@example.test",
"phone": null,
"type": "customer",
"status": null,
"note": null,
"zoomUserId": null,
"countryPhoneIso": "rs",
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": "{\"defaultLanguage\":\"en_US\"}",
"gender": null,
"locale": "en_US",
"timeZone": "Europe/Belgrade"
},
"bookable": {
"id": 54,
"name": "tickets event",
"description": "",
"color": "#1788FB",
"price": 0,
"deposit": 0,
"depositPayment": "disabled",
"depositPerPerson": true,
"pictureFullPath": null,
"pictureThumbPath": null,
"extras": [],
"coupons": [],
"position": null,
"settings": "{\"payments\":{\"paymentLinks\":{\"enabled\":true,\"changeBookingStatus\":false,\"redirectUrl\":null},\"onSite\":true,\"payPal\":{\"enabled\":false},\"stripe\":{\"enabled\":false},\"mollie\":{\"enabled\":false},\"razorpay\":{\"enabled\":false}},\"general\":{\"minimumTimeRequirementPriorToCanceling\":null,\"redirectUrlAfterAppointment\":null},\"zoom\":{\"enabled\":true},\"lessonSpace\":{\"enabled\":false}}",
"fullPayment": false
},
"paymentId": 303,
"packageCustomerId": null,
"payment": {
"id": 303,
"customerBookingId": 262,
"packageCustomerId": null,
"parentId": null,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-01-21 09:00:00",
"status": "pending",
"data": "",
"entity": "event",
"created": null,
"actionsCompleted": null,
"wcOrderId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null
},
"customerCabinetUrl": "https://example.com/index.php/customer-panel"
}
}
How do I create a package booking?
- Required properties
- type (
string); Type of booking. Possible values:appointment,event,package. - bookings (
array); Array with one element, the booking object which contains customer and custom fields information. - payment (
object); Payment object with the following fields:gateway,currency, anddata. - packageId (
integer); Package ID. - package (
array); Array of all the booked package appointments.
- type (
- Other properties
- locale (
string); Locale of the customer. Example:en_US. - timeZone (
string); Timezone of the customer. Example:Europe/Belgrade. - couponCode (
string); Coupon code. - packageRules (
array); Chosen employee and location for each service in the package. These employees will be used when the customer continues booking appointments in their package on the customer panel, if choosing the employee is disabled. - runInstantPostBookingActions (
boolean); Whether to run post booking actions in this API call. False by default. If set to false, call/bookings/success/{{booking_id}}afterwards.
- locale (
Example
Request
curl --location 'https://example.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings' \
--header 'Content-Type: application/json' \
--header 'Amelia: YOUR_API_KEY' \
--data-raw '{
"type": "package",
"bookings": [
{
"customFields": {
"2": {
"label": "Text",
"type": "text",
"value": ""
}
},
"deposit": true,
"locale": "en_US",
"utcOffset": null,
"customerId": null,
"customer": {
"firstName": "Noah",
"lastName": "Bennett",
"email": "noah.bennett@example.test",
"phone": "",
"countryPhoneIso": "",
"externalId": null,
"translations": null
},
"persons": 1
}
],
"payment": {
"gateway": "onSite",
"currency": "USD",
"data": {}
},
"locale": "en_US",
"timeZone": "Europe/Belgrade",
"package": [
{
"bookingStart": "2026-03-05 07:30",
"serviceId": 1,
"providerId": 4,
"locationId": 8,
"utcOffset": 120,
"notifyParticipants": 1
},
{
"bookingStart": "2026-03-04 10:00",
"serviceId": 11,
"providerId": 4,
"locationId": 8,
"utcOffset": 120,
"notifyParticipants": 1
}
],
"packageId": 1,
"packageRules": [
{
"serviceId": 1,
"providerId": 2,
"locationId": 1
},
{
"serviceId": 11,
"providerId": null,
"locationId": null
}
],
"utcOffset": 120,
"couponCode": null
}'
Response
{
"message": "Successfully added booking",
"data": {
"type": "package",
"package": [
{
"type": "appointment",
"appointment": {
"id": 580,
"bookings": [
{
"id": 766,
"customerId": 2,
"customer": {
"id": 2,
"firstName": "Noah",
"lastName": "Bennett",
"birthday": null,
"email": "noah.bennett@example.test",
"phone": null,
"type": "customer",
"status": null,
"note": null,
"zoomUserId": null,
"countryPhoneIso": null,
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": "{\"defaultLanguage\":\"en_US\"}",
"gender": null
},
"status": "approved",
"extras": [],
"couponId": null,
"price": 20,
"coupon": null,
"customFields": "{\"2\":{\"label\":\"Text\",\"type\":\"text\",\"value\":\"\"}}",
"info": "{\"firstName\":\"Noah\",\"lastName\":\"Bennett\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}",
"appointmentId": 580,
"persons": 1,
"token": "48dd3639c1",
"payments": [],
"utcOffset": 120,
"aggregatedPrice": true,
"isChangedStatus": null,
"isLastBooking": null,
"packageCustomerService": {
"id": 129,
"serviceId": 1,
"providerId": null,
"locationId": null,
"bookingsCount": 1,
"packageCustomer": {
"id": 104,
"packageId": 1,
"customerId": 2,
"price": 40,
"payments": [],
"start": "2026-03-01 10:35:52",
"end": "2026-03-22 12:35:52",
"purchased": "2026-03-01 10:35:52",
"status": null,
"bookingsCount": 0,
"couponId": null,
"coupon": null
}
},
"ticketsData": [],
"duration": null,
"created": "2026-03-01 12:35:52",
"actionsCompleted": false,
"isUpdated": null
}
],
"notifyParticipants": 1,
"internalNotes": null,
"status": "approved",
"serviceId": 1,
"parentId": null,
"providerId": 4,
"locationId": 8,
"provider": null,
"service": null,
"location": {
"id": 8,
"status": "visible",
"name": "lokacija5",
"description": "",
"address": "Velisava Vulovića, Belgrade, Serbia",
"phone": "",
"latitude": 44.764132,
"longitude": 20.455622,
"pictureFullPath": null,
"pictureThumbPath": null,
"pin": "",
"translations": null
},
"googleCalendarEventId": null,
"googleMeetUrl": null,
"outlookCalendarEventId": null,
"zoomMeeting": null,
"lessonSpace": null,
"bookingStart": "2026-03-05 09:30:00",
"bookingEnd": "2026-03-05 10:00:00",
"type": "appointment",
"isRescheduled": null,
"isFull": null,
"resources": []
},
"booking": {
"id": 766,
"customerId": 2,
"customer": {
"id": 2,
"firstName": "Noah",
"lastName": "Bennett",
"birthday": null,
"email": "noah.bennett@example.test",
"phone": null,
"type": "customer",
"status": null,
"note": null,
"zoomUserId": null,
"countryPhoneIso": null,
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": "{\"defaultLanguage\":\"en_US\"}",
"gender": null
},
"status": "approved",
"extras": [],
"couponId": null,
"price": 20,
"coupon": null,
"customFields": "{\"2\":{\"label\":\"Text\",\"type\":\"text\",\"value\":\"\"}}",
"info": "{\"firstName\":\"Noah\",\"lastName\":\"Bennett\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}",
"appointmentId": 580,
"persons": 1,
"token": "48dd3639c1",
"payments": [],
"utcOffset": 120,
"aggregatedPrice": true,
"isChangedStatus": null,
"isLastBooking": null,
"packageCustomerService": {
"id": 129,
"serviceId": 1,
"providerId": null,
"locationId": null,
"bookingsCount": 1,
"packageCustomer": {
"id": 104,
"packageId": 1,
"customerId": 2,
"price": 40,
"payments": [],
"start": "2026-03-01 10:35:52",
"end": "2026-03-22 12:35:52",
"purchased": "2026-03-01 10:35:52",
"status": null,
"bookingsCount": 0,
"couponId": null,
"coupon": null
}
},
"ticketsData": [],
"duration": null,
"created": "2026-03-01 12:35:52",
"actionsCompleted": false,
"isUpdated": null
},
"utcTime": [
{
"start": "2026-03-05 07:30:00",
"end": "2026-03-05 08:00:00"
}
],
"appointmentStatusChanged": false
}
],
"booking": null,
"utcTime": [],
"appointmentStatusChanged": false,
"recurring": [],
"packageId": 1,
"customer": {
"id": 2,
"firstName": "Noah",
"lastName": "Bennett",
"birthday": null,
"email": "noah.bennett@example.test",
"phone": null,
"type": "customer",
"status": null,
"note": null,
"zoomUserId": null,
"countryPhoneIso": null,
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": "{\"defaultLanguage\":\"en_US\"}",
"gender": null,
"locale": "en_US",
"timeZone": "Europe/Belgrade"
},
"paymentId": 782,
"packageCustomerId": 104,
"payment": {
"id": 782,
"customerBookingId": null,
"packageCustomerId": 104,
"parentId": null,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-03-01 12:35:52",
"status": "pending",
"data": "",
"entity": "package",
"created": null,
"actionsCompleted": null,
"triggeredActions": null,
"wcOrderId": null,
"wcOrderItemId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null,
"transactionId": null
},
"isCart": false,
"customerCabinetUrl": "https://example.com/?page_id=82"
}
}
How do I run post-booking actions?
- Endpoint: Run post booking actions (sending notifications, creating Google/Outlook calendar events, creating a Zoom meeting, calling webhooks).
- Method:
POST - Path:
/bookings/success/{{booking_id}} - Required properties
- type (
string); Type of booking. Possible values:appointment,event,package. - appointmentStatusChanged (
boolean); Whether the appointment status has changed after adding the booking. - customerId (
integer); Customer id. - paymentId (
integer); Payment id. - packageCustomerId (
integer); Package booking id. Required if customer booked a package. - packageId (
integer); Package id. Required if customer booked a package. - recurring (
array); Array of recurring appointments. Required if customer made recurring appointments.
- type (
Example
Request
curl --location 'https://example.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings/success/900' \
--header 'Content-Type: application/json' \
--header 'Amelia: YOUR_API_KEY' \
--data '{
"type": "appointment",
"appointmentStatusChanged": false,
"recurring": [],
"packageId": null,
"customerId": 64,
"paymentId": 916,
"packageCustomerId": null
}'
Response
{
"message": "Successfully get booking",
"data": []
}
How do I reschedule a booking?
- Endpoint: Reschedule an appointment date and time.
- Method:
POST - Path:
/bookings/reassign/{{booking_id}} - Required properties
- bookingStart (
string); New booking start date and time in the format:YYYY-MM-DD HH:mm.
- bookingStart (
- Other properties
- utcOffset (
integer); UTC offset in minutes. - timeZone (
string); Time zone. Example:Europe/Belgrade.
- utcOffset (
Example
Request
curl --location 'https://example.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings/reassign/975' \
--header 'Content-Type: application/json' \
--header 'Amelia: YOUR_API_KEY' \
--data '{
"bookingStart": "2026-01-09 09:30",
"utcOffset": null,
"timeZone": "Europe/Belgrade"
}'
Response
{
"message": "Successfully updated appointment",
"data": {
"booking": {
"id": 975,
"customerId": 64,
"customer": null,
"status": "approved",
"extras": [],
"couponId": null,
"price": 23,
"coupon": null,
"customFields": "{\"1\":{\"label\":\"text\",\"type\":\"text\",\"value\":\"custom field value\"}}",
"info": "{\"firstName\":\"Jordan\",\"lastName\":\"Parker\",\"phone\":null,\"locale\":null,\"timeZone\":null,\"urlParams\":null}",
"appointmentId": 737,
"persons": 1,
"token": null,
"payments": [
{
"id": 996,
"customerBookingId": 975,
"packageCustomerId": null,
"parentId": null,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-02-12 13:00:00",
"status": "pending",
"data": "",
"entity": null,
"created": null,
"actionsCompleted": null,
"wcOrderId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null,
"transactionId": null
}
],
"utcOffset": null,
"aggregatedPrice": true,
"isChangedStatus": null,
"isLastBooking": null,
"packageCustomerService": null,
"ticketsData": [],
"duration": 1800,
"created": "2026-01-03 14:09:47",
"actionsCompleted": null,
"isUpdated": null
},
"newAppointment": null,
"oldAppointment": {
"id": 739,
"bookings": [],
"notifyParticipants": 1,
"internalNotes": "",
"status": "canceled",
"serviceId": 1,
"parentId": null,
"providerId": 1,
"locationId": 2,
"provider": null,
"service": null,
"location": null,
"googleCalendarEventId": null,
"googleMeetUrl": null,
"outlookCalendarEventId": null,
"zoomMeeting": null,
"lessonSpace": null,
"bookingStart": "2026-02-12 13:00:00",
"bookingEnd": "2026-02-12 13:30:00",
"type": "appointment",
"isRescheduled": null,
"isFull": null,
"resources": []
},
"oldAppointmentStatusChanged": true,
"existingAppointment": {
"id": 737,
"bookings": [
{
"id": 973,
"customerId": 64,
"customer": {
"id": 64,
"firstName": "Jordan",
"lastName": "Parker",
"birthday": null,
"email": "jordan.parker@example.test",
"phone": null,
"type": "customer",
"status": "visible",
"note": null,
"zoomUserId": null,
"countryPhoneIso": null,
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": null,
"gender": null
},
"status": "approved",
"extras": [],
"couponId": null,
"price": 23,
"coupon": null,
"customFields": "{\"1\":{\"label\":\"text\",\"type\":\"text\",\"value\":\"custom field value\"}}",
"info": "{\"firstName\":\"Jordan\",\"lastName\":\"Parker\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}",
"appointmentId": 737,
"persons": 1,
"token": null,
"payments": [
{
"id": 994,
"customerBookingId": 973,
"packageCustomerId": null,
"parentId": null,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-01-09 09:30:00",
"status": "pending",
"data": "",
"entity": null,
"created": "2026-01-03 12:03:22",
"actionsCompleted": null,
"wcOrderId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null,
"transactionId": null
}
],
"utcOffset": null,
"aggregatedPrice": true,
"isChangedStatus": null,
"isLastBooking": null,
"packageCustomerService": null,
"ticketsData": [],
"duration": 1800,
"created": "2026-01-03 14:03:22",
"actionsCompleted": null,
"isUpdated": null
},
{
"id": 977,
"customerId": 74,
"customer": {
"id": 74,
"firstName": "Sofia",
"lastName": "Miller",
"birthday": null,
"email": "sofia.miller@example.test",
"phone": null,
"type": "customer",
"status": "visible",
"note": null,
"zoomUserId": null,
"countryPhoneIso": null,
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": null,
"gender": null
},
"status": "approved",
"extras": [],
"couponId": null,
"price": 23,
"coupon": null,
"customFields": "{\"2\":{\"label\":\"Select1\",\"type\":\"select\",\"value\":\"\"},\"7\":{\"label\":\"My address\",\"type\":\"address\",\"value\":\"\"},\"8\":{\"label\":\"My address 2\",\"type\":\"address\",\"value\":\"\"},\"11\":{\"label\":\"Select custom field\",\"type\":\"select\",\"value\":\"\"}}",
"info": "{\"firstName\":\"Sofia\",\"lastName\":\"Miller\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}",
"appointmentId": 737,
"persons": 1,
"token": null,
"payments": [
{
"id": 998,
"customerBookingId": 977,
"packageCustomerId": null,
"parentId": 997,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-01-09 09:30:00",
"status": "pending",
"data": "",
"entity": null,
"created": "2026-01-03 12:27:12",
"actionsCompleted": null,
"wcOrderId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null,
"transactionId": null
}
],
"utcOffset": null,
"aggregatedPrice": true,
"isChangedStatus": null,
"isLastBooking": null,
"packageCustomerService": null,
"ticketsData": [],
"duration": 1800,
"created": "2026-01-03 14:27:12",
"actionsCompleted": null,
"isUpdated": null
}
],
"notifyParticipants": 1,
"internalNotes": "",
"status": "approved",
"serviceId": 1,
"parentId": null,
"providerId": 1,
"locationId": 2,
"provider": {
"id": 1,
"firstName": "Mia",
"lastName": "Johnson",
"birthday": null,
"email": "mia.johnson@example.test",
"phone": "+381631234567",
"type": "provider",
"status": null,
"note": "note 123345678900",
"zoomUserId": null,
"countryPhoneIso": null,
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": null,
"weekDayList": [],
"serviceList": [],
"dayOffList": [],
"specialDayList": [],
"locationId": null,
"googleCalendar": null,
"outlookCalendar": null,
"timeZone": null,
"description": ""
},
"service": {
"id": 1,
"name": "amelia service",
"description": "location address: %location_address%",
"color": "#1788FB",
"price": 20,
"deposit": null,
"depositPayment": null,
"depositPerPerson": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"extras": [],
"coupons": [],
"position": null,
"settings": "{\"payments\":{\"mollie\":{\"enabled\":true},\"paymentLinks\":{\"enabled\":true,\"changeBookingStatus\":false,\"redirectUrl\":null},\"onSite\":true,\"payPal\":{\"enabled\":true},\"stripe\":{\"enabled\":false},\"razorpay\":{\"enabled\":false}},\"zoom\":{\"enabled\":true},\"lessonSpace\":{\"enabled\":true},\"activation\":{\"version\":\"6.6\"}}",
"fullPayment": null,
"minCapacity": 1,
"maxCapacity": 10,
"duration": 1800,
"timeBefore": 1800,
"timeAfter": 1800,
"bringingAnyone": null,
"show": null,
"aggregatedPrice": null,
"status": "visible",
"categoryId": 1,
"category": null,
"priority": [],
"gallery": [],
"recurringCycle": null,
"recurringSub": null,
"recurringPayment": null,
"translations": null,
"minSelectedExtras": null,
"mandatoryExtra": null,
"customPricing": null,
"maxExtraPeople": null,
"limitPerCustomer": null
},
"location": null,
"googleCalendarEventId": "2r1fl3hh5boboa5gjpv62qt8fo",
"googleMeetUrl": null,
"outlookCalendarEventId": "AQMkADAwATYwMAItZTk0ZS1lMGRmLTAwAi0wMAoARgAAA3egvCudOo1GsyywV8xCQ2wHANjP2dT7pGFAu0b6VBSGJOoAAAIBDQAAANjP2dT7pGFAu0b6VBSGJOoABsaEPmsAAAA=",
"zoomMeeting": {
"id": 79464261133,
"startUrl": "https://us04web.zoom.us/s/79464261133?zak=REDACTED",
"joinUrl": "https://us04web.zoom.us/j/79464261133?pwd=REDACTED"
},
"lessonSpace": null,
"bookingStart": "2026-01-09 09:30:00",
"bookingEnd": "2026-01-09 10:00:00",
"type": "appointment",
"isRescheduled": null,
"isFull": null,
"resources": []
},
"existingAppointmentStatusChanged": false,
"initialAppointmentDateTime": {
"bookingStart": "2026-02-12 13:00:00",
"bookingEnd": "2026-02-12 13:30:00"
}
}
}
How do I cancel a booking?
- Endpoint: Cancel booking.
- Method:
POST - Path:
/bookings/cancel/{{booking_id}} - Required properties
- type (
string); Booking type. Possible values:appointment,event,package.
- type (
Example
Request
curl --location 'https://example.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings/cancel/965' \
--header 'Content-Type: application/json' \
--header 'Amelia: YOUR_API_KEY' \
--data '{
"type": "appointment"
}'
Response
{
"message": "Successfully updated booking status",
"data": {
"appointment": {
"id": 730,
"bookings": [
{
"id": 965,
"customerId": 17,
"customer": null,
"status": "canceled",
"extras": [],
"couponId": null,
"price": 0,
"coupon": null,
"customFields": "{\"2\":{\"label\":\"Select1\",\"value\":\"\",\"type\":\"select\"},\"5\":{\"label\":\"text3\",\"value\":\"\",\"type\":\"text\"},\"7\":{\"label\":\"My address\",\"value\":\"\",\"type\":\"address\"},\"8\":{\"label\":\"My address 2\",\"value\":\"\",\"type\":\"address\"},\"10\":{\"label\":\"text\",\"value\":\"\",\"type\":\"text\"}}",
"info": "{\"firstName\":\"Ethan\",\"lastName\":\"Cole\",\"phone\":null,\"locale\":null,\"timeZone\":null,\"urlParams\":null}",
"appointmentId": 730,
"persons": 1,
"token": null,
"payments": [
{
"id": 987,
"customerBookingId": 965,
"packageCustomerId": 86,
"parentId": null,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-02-03 09:54:46",
"status": "paid",
"data": "",
"entity": null,
"created": null,
"actionsCompleted": null,
"wcOrderId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null,
"transactionId": null
}
],
"utcOffset": null,
"aggregatedPrice": true,
"isChangedStatus": null,
"isLastBooking": null,
"packageCustomerService": {
"id": 138,
"serviceId": null,
"providerId": null,
"locationId": null,
"bookingsCount": null,
"packageCustomer": {
"id": 86,
"packageId": 2,
"customerId": null,
"price": null,
"payments": [],
"start": null,
"end": null,
"purchased": null,
"status": null,
"bookingsCount": null,
"couponId": null,
"coupon": null
}
},
"ticketsData": [],
"duration": 1800,
"created": "2026-02-03 10:01:51",
"actionsCompleted": null,
"isUpdated": null
}
],
"notifyParticipants": 1,
"internalNotes": "",
"status": "canceled",
"serviceId": 2,
"parentId": null,
"providerId": 35,
"locationId": 2,
"provider": null,
"service": null,
"location": null,
"googleCalendarEventId": null,
"googleMeetUrl": null,
"outlookCalendarEventId": null,
"zoomMeeting": null,
"lessonSpace": null,
"bookingStart": "2026-02-06 13:00:00",
"bookingEnd": "2026-02-06 13:00:00",
"type": "appointment",
"isRescheduled": null,
"isFull": null,
"resources": []
},
"appointmentStatusChanged": false,
"booking": {
"id": 965,
"customerId": 17,
"customer": {
"id": 17,
"firstName": "Ethan",
"lastName": "Cole",
"birthday": null,
"email": "ethan.cole@example.test",
"phone": null,
"type": "customer",
"status": null,
"note": null,
"zoomUserId": null,
"countryPhoneIso": null,
"externalId": null,
"pictureFullPath": null,
"pictureThumbPath": null,
"translations": null,
"gender": null
},
"status": "canceled",
"extras": [],
"couponId": null,
"price": 0,
"coupon": null,
"customFields": "{\"2\":{\"label\":\"Select1\",\"value\":\"\",\"type\":\"select\"},\"5\":{\"label\":\"text3\",\"value\":\"\",\"type\":\"text\"},\"7\":{\"label\":\"My address\",\"value\":\"\",\"type\":\"address\"},\"8\":{\"label\":\"My address 2\",\"value\":\"\",\"type\":\"address\"},\"10\":{\"label\":\"text\",\"value\":\"\",\"type\":\"text\"}}",
"info": "{\"firstName\":\"Ethan\",\"lastName\":\"Cole\",\"phone\":null,\"locale\":null,\"timeZone\":null,\"urlParams\":null}",
"appointmentId": 730,
"persons": 1,
"token": "e95992b098",
"payments": [],
"utcOffset": null,
"aggregatedPrice": true,
"isChangedStatus": null,
"isLastBooking": null,
"packageCustomerService": null,
"ticketsData": [],
"duration": 1800,
"created": null,
"actionsCompleted": null,
"isUpdated": null
},
"type": "appointment",
"status": "canceled",
"message": "Appointment status has been changed to canceled"
}
}
How do I delete a booking?
- Endpoint: Delete booking.
- Method:
POST - Path:
/bookings/delete/{{booking_id}}
Example
Request
curl --location --request POST 'https://example.com/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings/delete/974' \
--header 'Amelia: YOUR_API_KEY'
Response
{
"message": "Successfully deleted booking",
"data": {
"appointment": {
"id": 738,
"bookings": [
{
"id": 974,
"customerId": 64,
"customer": null,
"status": "approved",
"extras": [],
"couponId": null,
"price": 23,
"coupon": null,
"customFields": "{\"1\":{\"label\":\"text\",\"type\":\"text\",\"value\":\"custom field value\"}}",
"info": "{\"firstName\":\"Jordan\",\"lastName\":\"Parker\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}",
"appointmentId": 738,
"persons": 1,
"token": null,
"payments": [
{
"id": 995,
"customerBookingId": 974,
"packageCustomerId": null,
"parentId": null,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-02-12 13:00:00",
"status": "pending",
"data": "",
"entity": null,
"created": null,
"actionsCompleted": null,
"wcOrderId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null,
"transactionId": null
}
],
"utcOffset": null,
"aggregatedPrice": true,
"isChangedStatus": true,
"isLastBooking": null,
"packageCustomerService": null,
"ticketsData": [],
"duration": 1800,
"created": "2026-01-03 14:06:14",
"actionsCompleted": null,
"isUpdated": null
}
],
"notifyParticipants": 1,
"internalNotes": "",
"status": "rejected",
"serviceId": 1,
"parentId": null,
"providerId": 1,
"locationId": 2,
"provider": null,
"service": null,
"location": null,
"googleCalendarEventId": null,
"googleMeetUrl": null,
"outlookCalendarEventId": null,
"zoomMeeting": null,
"lessonSpace": null,
"bookingStart": "2026-02-12 13:00:00",
"bookingEnd": "2026-02-12 13:30:00",
"type": "appointment",
"isRescheduled": null,
"isFull": null,
"resources": []
},
"bookingsWithChangedStatus": [
{
"id": 974,
"customerId": 64,
"customer": null,
"status": "approved",
"extras": [],
"couponId": null,
"price": 23,
"coupon": null,
"customFields": "{\"1\":{\"label\":\"text\",\"type\":\"text\",\"value\":\"custom field value\"}}",
"info": "{\"firstName\":\"Jordan\",\"lastName\":\"Parker\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}",
"appointmentId": 738,
"persons": 1,
"token": null,
"payments": [
{
"id": 995,
"customerBookingId": 974,
"packageCustomerId": null,
"parentId": null,
"amount": 0,
"gateway": "onSite",
"gatewayTitle": "",
"dateTime": "2026-02-12 13:00:00",
"status": "pending",
"data": "",
"entity": null,
"created": null,
"actionsCompleted": null,
"wcOrderId": null,
"wcOrderUrl": null,
"wcItemCouponValue": null,
"wcItemTaxValue": null,
"transactionId": null
}
],
"utcOffset": null,
"aggregatedPrice": true,
"isChangedStatus": null,
"isLastBooking": null,
"packageCustomerService": null,
"ticketsData": [],
"duration": 1800,
"created": "2026-01-03 14:06:14",
"actionsCompleted": null,
"isUpdated": null
}
],
"bookingDeleted": true,
"appointmentDeleted": true
}
}
What should I keep in mind when working with the Bookings API?
- If you set
runInstantPostBookingActionsto false, the booking can be created without triggering notifications, calendar events, Zoom meetings, and webhooks right away. In that case, call/bookings/success/{{booking_id}}afterwards to run post booking actions. - For event bookings, use
personswhen the event does not use tickets. If the event uses tickets, useticketsData. - Always use real IDs from your Amelia installation for entities like
serviceId,providerId,locationId,eventId, andpackageId. - Use
timeZoneandutcOffsetconsistently if your integration works across multiple time zones.