Here you can see API endpoints related to bookings.
You can see all the API endpoints with examples of requests and responses in the Amelia API Postman collection which you can download here.
Authorization
All Amelia endpoints use an API key authorization, using the header property named “Amelia”.
Path
Amelia API paths start with: {{your_site_URL}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1
Add booking
Create an appointment, event or package booking.
Method
This endpoint accepts POST requests.
Path
/bookings
Appointment booking
Required Properties
Key | Type | Description |
---|---|---|
type | string | Type of appointment. Possible values: appointment, event or package. |
bookings | array | Array of 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 and data. |
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 |
Other Properties
Key | Type | Description |
---|---|---|
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 calendar events, creating a zoom meeting etc) in this API call; false by default, call /bookings/success/{booking_id} endpoint in that case |
Example
curl --location 'http://localhost/amelia/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings' \ --header 'Content-Type: application/json' \ --header 'Amelia: qUmkNNOLrWbf28izIgNnZ29O+7gVWL5M+8ySJ8VXq3r0' \ --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": "Rob", "lastName": "Stark", "email": "[email protected]", "phone": "", "countryPhoneIso": "", "externalId": null }, "duration": 1800 } ], "payment": { "gateway": "onSite", "currency": "USD", "data": {} }, "bookingStart": "2023-10-05 13:00", "notifyParticipants": 1, "locationId": 2, "providerId": 1, "serviceId": 1 }'
{ "message": "Successfully added booking", "data": { "type": "appointment", "appointment": { "id": 742, "bookings": [ { "id": 980, "customerId": 64, "customer": { "id": 64, "firstName": "Rob", "lastName": "Stark", "birthday": null, "email": "[email protected]", "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\":\"Rob\",\"lastName\":\"Stark\",\"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": "2023-10-05 11: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": "2023-10-05 11:00:00", "bookingEnd": "2023-10-05 11:30:00", "type": "appointment", "isRescheduled": null, "isFull": null, "resources": [] }, "booking": { "id": 980, "customerId": 64, "customer": { "id": 64, "firstName": "Rob", "lastName": "Stark", "birthday": null, "email": "[email protected]", "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\":\"Rob\",\"lastName\":\"Stark\",\"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": "2023-10-05 11: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": "2023-10-05 09:00:00", "end": "2023-10-05 09:30:00" } ], "appointmentStatusChanged": true, "recurring": [], "package": [], "packageId": null, "customer": { "id": 64, "firstName": "Rob", "lastName": "Stark", "birthday": null, "email": "[email protected]", "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": "2023-10-05 11:00:00", "status": "pending", "data": "", "entity": "appointment", "created": null, "actionsCompleted": null, "wcOrderId": null, "wcOrderUrl": null, "wcItemCouponValue": null, "wcItemTaxValue": null, "transactionId": null }, "customerCabinetUrl": "http://localhost/amelia/index.php/customer-panel" } }
Event booking
Required Properties
Key | Type | Description |
---|---|---|
type | string | Type of appointment. Possible values: appointment, event or package. |
bookings | array | Array of with one element, the booking object which contains customer and custom fields information. |
payment | object | Payment object with the following fields: gateway, currency and data. |
eventId | integer | Event ID |
Other Properties
Key | Type | Description |
---|---|---|
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 (sending emails, adding google calendar events, creating a zoom meeting etc) in this API call; false by default, call /bookings/success/{booking_id} endpoint in that case |
Example
curl --location 'http://localhost/amelia2/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings' \ --data-raw '{ "type": "event", "bookings": [ { "customer": { "email": "[email protected]", "externalId": null, "firstName": "Amelia", "lastName": "Test", "phone": "", "countryPhoneIso": "rs" }, "customFields": { "1": { "label": "text", "value": "", "type": "text" } }, "customerId": 0, "persons": 1, // use persons if the event does not use tickets "ticketsData": [ // use ticketsData if event uses tickets { "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 }'
{ "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": "Amelia", "lastName": "Test", "birthday": null, "email": "[email protected]", "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\":\"Amelia\",\"lastName\":\"Test\",\"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": "2023-05-17 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": "2023-05-17 09:00:00", "periodEnd": "2023-05-17 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": "Amelia", "lastName": "Test", "birthday": null, "email": "[email protected]", "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\":\"Amelia\",\"lastName\":\"Test\",\"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": "2023-05-17 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": "2023-05-17 07:00:00", "end": "2023-05-17 18:30:00" } ], "appointmentStatusChanged": false, "recurring": [], "package": [], "packageId": null, "customer": { "id": 11, "firstName": "Amelia", "lastName": "Test", "birthday": null, "email": "[email protected]", "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, "bookings": [ { "id": 259, "customerId": 11, "customer": null, "status": "approved", "extras": [], "couponId": null, "price": 40, "coupon": null, "customFields": "{\"1\":{\"label\":\"text\",\"value\":\"\",\"type\":\"text\"}}", "info": "{\"firstName\":\"Amelia\",\"lastName\":\"Test\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}", "appointmentId": null, "persons": 0, "token": null, "payments": [], "utcOffset": null, "aggregatedPrice": true, "isChangedStatus": null, "isLastBooking": null, "packageCustomerService": null, "ticketsData": [ { "id": 45, "eventTicketId": 25, "customerBookingId": 259, "persons": 2, "price": 20 } ], "duration": null, "created": null, "actionsCompleted": null }, { "id": 262, "customerId": 11, "customer": { "id": 11, "firstName": "Amelia", "lastName": "Test", "birthday": null, "email": "[email protected]", "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\":\"Amelia\",\"lastName\":\"Test\",\"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": "2023-05-17 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": "2023-05-17 09:00:00", "periodEnd": "2023-05-17 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 }, "paymentId": 303, "packageCustomerId": null, "payment": { "id": 303, "customerBookingId": 262, "packageCustomerId": null, "parentId": null, "amount": 0, "gateway": "onSite", "gatewayTitle": "", "dateTime": "2023-05-17 09:00:00", "status": "pending", "data": "", "entity": "event", "created": null, "actionsCompleted": null, "wcOrderId": null, "wcOrderUrl": null, "wcItemCouponValue": null, "wcItemTaxValue": null }, "customerCabinetUrl": "http://localhost/static_amelia/index.php/customer-panel" } }
Package booking
Required Properties
Key | Type | Description |
---|---|---|
type | string | Type of appointment. Possible values: appointment, event or package. |
bookings | array | Array of with one element, the booking object which contains customer and custom fields information. |
payment | object | Payment object with the following fields: gateway, currency and data. |
packageId | integer | Package ID |
package | array | Array of all the booked package appointments. |
Other Properties
Key | Type | Description |
---|---|---|
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 (sending emails, adding google calendar events, creating a zoom meeting etc) in this API call; false by default, call /bookings/success/{booking_id} endpoint in that case |
Example
curl --location 'http://localhost/amelia2/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings' \ --header 'Content-Type: application/json' \ --header 'Amelia: s7nC4/uAb0dPHnFevx06GKJGryzFxnVeiCwPNmZRD/a+' \ --data-raw '{ "type": "package", "bookings": [ { "customFields": { "2": { "label": "Text", "type": "text", "value": "" } }, "deposit": true, "locale": "en_US", "utcOffset": null, "customerId": null, "customer": { "firstName": "Amelia", "lastName": "Test", "email": "[email protected]", "phone": "", "countryPhoneIso": "", "externalId": null, "translations": null }, "persons": 1 } ], "payment": { "gateway": "onSite", "currency": "USD", "data": {} }, "locale": "en_US", "timeZone": "Europe/Belgrade", "package": [ { "bookingStart": "2024-06-05 07:30", "serviceId": 1, "providerId": 4, "locationId": 8, "utcOffset": 120, "notifyParticipants": 1 }, { "bookingStart": "2024-06-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 }'
{ "message": "Successfully added booking", "data": { "type": "package", "package": [ { "type": "appointment", "appointment": { "id": 580, "bookings": [ { "id": 766, "customerId": 2, "customer": { "id": 2, "firstName": "Amelia", "lastName": "Test", "birthday": null, "email": "[email protected]", "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\":\"Amelia\",\"lastName\":\"Test\",\"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": "2024-05-27 10:35:52", "end": "2024-06-17 12:35:52", "purchased": "2024-05-27 10:35:52", "status": null, "bookingsCount": 0, "couponId": null, "coupon": null } }, "ticketsData": [], "duration": null, "created": "2024-05-27 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": "2024-06-05 09:30:00", "bookingEnd": "2024-06-05 10:00:00", "type": "appointment", "isRescheduled": null, "isFull": null, "resources": [] }, "booking": { "id": 766, "customerId": 2, "customer": { "id": 2, "firstName": "Amelia", "lastName": "Test", "birthday": null, "email": "[email protected]", "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\":\"Amelia\",\"lastName\":\"Test\",\"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": "2024-05-27 10:35:52", "end": "2024-06-17 12:35:52", "purchased": "2024-05-27 10:35:52", "status": null, "bookingsCount": 0, "couponId": null, "coupon": null } }, "ticketsData": [], "duration": null, "created": "2024-05-27 12:35:52", "actionsCompleted": false, "isUpdated": null }, "utcTime": [ { "start": "2024-06-05 07:30:00", "end": "2024-06-05 08:00:00" } ], "appointmentStatusChanged": false }, { "type": "appointment", "appointment": { "id": 581, "bookings": [ { "id": 767, "customerId": 2, "customer": { "id": 2, "firstName": "Amelia", "lastName": "Test", "birthday": null, "email": "[email protected]", "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\":\"Amelia\",\"lastName\":\"Test\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}", "appointmentId": 581, "persons": 1, "token": "163935398a", "payments": [], "utcOffset": 120, "aggregatedPrice": true, "isChangedStatus": null, "isLastBooking": null, "packageCustomerService": { "id": 130, "serviceId": 11, "providerId": null, "locationId": null, "bookingsCount": 1, "packageCustomer": { "id": 104, "packageId": 1, "customerId": 2, "price": 40, "payments": [], "start": "2024-05-27 10:35:52", "end": "2024-06-17 12:35:52", "purchased": "2024-05-27 10:35:52", "status": null, "bookingsCount": 0, "couponId": null, "coupon": null } }, "ticketsData": [], "duration": null, "created": "2024-05-27 12:35:52", "actionsCompleted": false, "isUpdated": null } ], "notifyParticipants": 1, "internalNotes": null, "status": "approved", "serviceId": 11, "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": "2024-06-04 12:00:00", "bookingEnd": "2024-06-04 12:30:00", "type": "appointment", "isRescheduled": null, "isFull": null, "resources": [] }, "booking": { "id": 767, "customerId": 2, "customer": { "id": 2, "firstName": "Amelia", "lastName": "Test", "birthday": null, "email": "[email protected]", "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\":\"Amelia\",\"lastName\":\"Test\",\"phone\":null,\"locale\":\"en_US\",\"timeZone\":\"Europe\\/Belgrade\",\"urlParams\":null}", "appointmentId": 581, "persons": 1, "token": "163935398a", "payments": [], "utcOffset": 120, "aggregatedPrice": true, "isChangedStatus": null, "isLastBooking": null, "packageCustomerService": { "id": 130, "serviceId": 11, "providerId": null, "locationId": null, "bookingsCount": 1, "packageCustomer": { "id": 104, "packageId": 1, "customerId": 2, "price": 40, "payments": [], "start": "2024-05-27 10:35:52", "end": "2024-06-17 12:35:52", "purchased": "2024-05-27 10:35:52", "status": null, "bookingsCount": 0, "couponId": null, "coupon": null } }, "ticketsData": [], "duration": null, "created": "2024-05-27 12:35:52", "actionsCompleted": false, "isUpdated": null }, "utcTime": [ { "start": "2024-06-04 10:00:00", "end": "2024-06-04 10:30:00" } ], "appointmentStatusChanged": false } ], "booking": null, "utcTime": [], "appointmentStatusChanged": false, "recurring": [], "packageId": 1, "customer": { "id": 2, "firstName": "Amelia", "lastName": "Test", "birthday": null, "email": "[email protected]", "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 package", "description": "description", "color": "#1788FB", "price": 40, "deposit": 10, "depositPayment": "fixed", "depositPerPerson": null, "pictureFullPath": null, "pictureThumbPath": null, "extras": [], "coupons": [], "position": 2, "settings": "{\"payments\":{\"paymentLinks\":{\"enabled\":true,\"changeBookingStatus\":false,\"redirectUrl\":null}}}", "fullPayment": true, "type": "package", "status": "visible", "gallery": [], "bookable": [ { "id": 1, "quantity": 1, "service": { "id": 1, "name": "service1", "description": null, "color": null, "price": 20, "deposit": null, "depositPayment": null, "depositPerPerson": null, "pictureFullPath": "http://localhost/amelia2/wp-content/uploads/2023/12/ocean.jpg", "pictureThumbPath": "http://localhost/amelia2/wp-content/uploads/2023/12/ocean.jpg", "extras": [], "coupons": [], "position": null, "settings": null, "fullPayment": null, "minCapacity": 1, "maxCapacity": 4, "duration": 1800, "timeBefore": 1800, "timeAfter": 1800, "bringingAnyone": null, "show": true, "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 }, "minimumScheduled": 1, "maximumScheduled": 1, "providers": [ { "id": 4, "firstName": "Milica", "lastName": "Employee", "birthday": null, "email": "[email protected]", "phone": null, "type": "provider", "status": "visible", "note": null, "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": null, "badgeId": null } ], "locations": [], "allowProviderSelection": true, "position": null }, { "id": 8, "quantity": 1, "service": { "id": 11, "name": "service3 20$", "description": null, "color": null, "price": 20, "deposit": null, "depositPayment": null, "depositPerPerson": null, "pictureFullPath": null, "pictureThumbPath": null, "extras": [], "coupons": [], "position": null, "settings": null, "fullPayment": null, "minCapacity": 1, "maxCapacity": 100, "duration": 1800, "timeBefore": null, "timeAfter": null, "bringingAnyone": null, "show": true, "aggregatedPrice": null, "status": "visible", "categoryId": 12, "category": null, "priority": [], "gallery": [], "recurringCycle": null, "recurringSub": null, "recurringPayment": null, "translations": null, "minSelectedExtras": null, "mandatoryExtra": null, "customPricing": null, "maxExtraPeople": null, "limitPerCustomer": null }, "minimumScheduled": 1, "maximumScheduled": 1, "providers": [ { "id": 4, "firstName": "Milica", "lastName": "Employee", "birthday": null, "email": "[email protected]", "phone": null, "type": "provider", "status": "visible", "note": null, "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": null, "badgeId": null } ], "locations": [], "allowProviderSelection": true, "position": null } ], "calculatedPrice": true, "discount": 0, "endDate": null, "durationCount": 3, "durationType": "week", "translations": "{\"name\":{\"fr_FR\":\"amelia paket french\",\"en_GB\":\"\"},\"description\":{\"fr_FR\":\"desc french\",\"en_GB\":\"\",\"fr_FRHtml\":\"desc french\",\"en_GBHtml\":\"\"}}", "sharedCapacity": false, "quantity": 1, "limitPerCustomer": "{\"enabled\":false,\"numberOfApp\":1,\"timeFrame\":\"day\",\"period\":1}" }, "paymentId": 782, "packageCustomerId": 104, "payment": { "id": 782, "customerBookingId": null, "packageCustomerId": 104, "parentId": null, "amount": 0, "gateway": "onSite", "gatewayTitle": "", "dateTime": "2024-05-27 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": "http://localhost/amelia2/?page_id=82" } }
Post-booking actions
Run post-booking actions (sending notifications, creating google/outlook calendar events, creating a zoom meeting, calling webhooks)
Method
This endpoint accepts POST requests.
Path
/bookings/success/{{booking_id}}
Required Properties
The following properties are required.
Key | Type | Description |
---|---|---|
type | string | Type of appointment. Possible values: appointment, event or 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. |
Example
curl --location 'http://localhost/amelia/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings/success/900' \ --header 'Content-Type: application/json' \ --header 'Amelia: qUmkNNOLrWbf28izIgNnZ29O+7gVWL5M+8ySJ8VXq3r0' \ --data '{ "type": "appointment", "appointmentStatusChanged": false, "recurring": [], "packageId": null, "customerId": 11, "paymentId": 916, "packageCustomerId": null }'
{ "message": "Successfully get booking", "data": [] }
Reschedule booking
Reschedule an appointment date and time.
Method
This endpoint accepts POST requests.
Path
/bookings/reassign/{{booking_id}}
Required Properties
The following properties are required.
Key | Type | Description |
---|---|---|
bookingStart | string | New booking start date and time. String in date time format: “YYYY-MM-DD HH:mm” |
Other Properties
Key | Type | Description |
---|---|---|
utcOffset | integer | UTC offset in minutes. |
timeZone | string | Time zone. Example: “Europe/Belgrade“ |
Example
curl --location 'http://localhost/amelia/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings/reassign/975' \ --header 'Content-Type: application/json' \ --header 'Amelia: qUmkNNOLrWbf28izIgNnZ29O+7gVWL5M+8ySJ8VXq3r0' \ --data '{ "bookingStart": "2023-09-05 09:30", "utcOffset": null, "timeZone": "Europe/Belgrade" }'
{ "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\":\"Rob\",\"lastName\":\"Stark\",\"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": "2023-10-05 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": "2023-09-25 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": "2023-10-05 13:00:00", "bookingEnd": "2023-10-05 13:30:00", "type": "appointment", "isRescheduled": null, "isFull": null, "resources": [] }, "oldAppointmentStatusChanged": true, "existingAppointment": { "id": 737, "bookings": [ { "id": 973, "customerId": 64, "customer": { "id": 64, "firstName": "Rob", "lastName": "Stark", "birthday": null, "email": "[email protected]", "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\":\"Rob\",\"lastName\":\"Stark\",\"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": "2023-10-05 09:30:00", "status": "pending", "data": "", "entity": null, "created": "2023-09-25 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": "2023-09-25 14:03:22", "actionsCompleted": null, "isUpdated": null }, { "id": 977, "customerId": 74, "customer": { "id": 74, "firstName": "Viola", "lastName": "Smith", "birthday": null, "email": "[email protected]", "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\":\"Viola\",\"lastName\":\"Smith\",\"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": "2023-10-05 09:30:00", "status": "pending", "data": "", "entity": null, "created": "2023-09-25 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": "2023-09-25 14:27:12", "actionsCompleted": null, "isUpdated": null }, { "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\":\"Rob\",\"lastName\":\"Stark\",\"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": "2023-10-05 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": "2023-09-25 14:09:47", "actionsCompleted": null, "isUpdated": null } ], "notifyParticipants": 1, "internalNotes": "", "status": "approved", "serviceId": 1, "parentId": null, "providerId": 1, "locationId": 2, "provider": { "id": 1, "firstName": "Milica", "lastName": "Employee", "birthday": null, "email": "[email protected]", "phone": "+381631652656", "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=eyJ0eXAiOiJKV1QiLCJzdiI6IjAwMDAwMSIsInptX3NrbSI6InptX28ybSIsImFsZyI6IkhTMjU2In0.eyJhdWQiOiJjbGllbnRzbSIsInVpZCI6IlBNUVVXdlVXVEJLMVh6cW11YVM2LUEiLCJpc3MiOiJ3ZWIiLCJzayI6Ijg0OTc4OTYwMzQ5OTI5NjU2NDUiLCJzdHkiOjEwMCwid2NkIjoidXMwNCIsImNsdCI6MCwibW51bSI6Ijc5NDY0MjYxMTMzIiwiZXhwIjoxNjk1NjUyMDQ2LCJpYXQiOjE2OTU2NDQ4NDYsImFpZCI6Ing4ejhiTG1WUzJLODA0aktOa09lTmciLCJjaWQiOiIifQ.-q8VOFskNomSWyPirMguRQy194srA5EWboF7hh4_lkk", "joinUrl": "https://us04web.zoom.us/j/79464261133?pwd=9gv9Dk1Hq7zhceLuUFEldlIzdTfsyh.1" }, "lessonSpace": null, "bookingStart": "2023-10-05 09:30:00", "bookingEnd": "2023-10-05 10:00:00", "type": "appointment", "isRescheduled": null, "isFull": null, "resources": [] }, "existingAppointmentStatusChanged": false, "initialAppointmentDateTime": { "bookingStart": "2023-10-05 13:00:00", "bookingEnd": "2023-10-05 13:30:00" } } }
Cancel booking
Cancel booking.
Method
This endpoint accepts POST requests.
Path
/bookings/cancel/{{booking_id}}
Required Properties
The following properties are required.
Key | Type | Description |
---|---|---|
type | string | Appointment type. Possible values: appointment, event and package |
Example
curl --location 'http://localhost/amelia/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings/cancel/965' \ --header 'Content-Type: application/json' \ --header 'Amelia: qUmkNNOLrWbf28izIgNnZ29O+7gVWL5M+8ySJ8VXq3r0' \ --data '{ "type": "appointment" }'
{ "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\":\"Avatar\",\"lastName\":\"Last Airbender\",\"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": "2023-09-25 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": "2023-09-25 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": "2023-09-28 13:00:00", "bookingEnd": "2023-09-28 13:00:00", "type": "appointment", "isRescheduled": null, "isFull": null, "resources": [] }, "appointmentStatusChanged": false, "booking": { "id": 965, "customerId": 17, "customer": { "id": 17, "firstName": "Avatar", "lastName": "Last Airbender", "birthday": null, "email": "[email protected]", "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\":\"Avatar\",\"lastName\":\"Last Airbender\",\"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" } }
Delete booking
Delete booking.
Method
This endpoint accepts POST requests.
Path
/bookings/delete/{{booking_id}}
Example
curl --location --request POST 'http://localhost/amelia/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/bookings/delete/974' \ --header 'Amelia: qUmkNNOLrWbf28izIgNnZ29O+7gVWL5M+8ySJ8VXq3r0'
{ "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\":\"Rob\",\"lastName\":\"Stark\",\"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":"2023-10-05 11: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":"2023-09-25 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":"2023-10-05 11:00:00", "bookingEnd":"2023-10-05 11: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\":\"Rob\",\"lastName\":\"Stark\",\"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":"2023-10-05 11: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":"2023-09-25 14:06:14", "actionsCompleted":null, "isUpdated":null } ], "bookingDeleted":true, "appointmentDeleted":true } }