Appointments

In this guide, we have added the Appointments Webhooks Payload data format for appointment updates in the Whautomate platform.

The example shows the Appointment Booked, however, the payload format is similar for other updates such as Waitlisted, Visited, Resechduled, No-Show and Cancelled.

Appointment Updates

(i) Payload Format: This is an example of the Appointment Booked Payload data format and content that Whautomate will transmit to the configured endpoint. All other appointment updates follow similar payload format.

{
  "event": {
    "id": "{{event.id}}",
    "type": "{{event.type}}",
    "timeStamp": "{{event.timeStamp}}",
    "key": "{{event.key}}"
  },
  "appointment": {
    "id": "{{appointment.id}}",
    "location": {
      "id": "{{appointment.location.id}}",
      "title": "{{appointment.location.title}}"
    },
    "client": {
      "id": "{{appointment.client.id}}",
      "fullName": "{{appointment.client.fullName}}",
      "countryCode": "{{appointment.client.countryCode}}",
      "phone": "{{appointment.client.phone}}",
      "email": "{{appointment.client.email}}"
    },
    "staff": {
      "id": "{{appointment.staff.id}}",
      "name": "{{appointment.staff.name}}"
    },
    "timezone": "{{appointment.timezone}}",
    "overrideTimeSlotValidation": "{{appointment.overrideTimeSlotValidation}}",
    "date": "{{appointment.date}}",
    "time": "{{appointment.time}}",
    "startTimeUTC": "{{appointment.startTimeUTC}}",
    "startTime": "{{appointment.startTime}}",
    "endTimeUTC": "{{appointment.endTimeUTC}}",
    "endTime": "{{appointment.endTime}}",
    "service": {
      "id": "{{appointment.service.id}}",
      "name": "{{appointment.service.name}}",
      "durationMinutes": "{{appointment.service.durationMinutes}}",
      "sellingPrice": "{{appointment.service.sellingPrice}}"
    },
    "addOnServices": "{{appointment.addOnServices}}",
    "bookedFrom": "{{appointment.bookedFrom}}",
    "status": "{{appointment.status}}",
    "appointmentType": "{{appointment.appointmentType}}",
    "notes": "{{appointment.notes}}",
    "paymentStatus": "{{appointment.paymentStatus}}",
    "meeting": {
      "hostUrl": "{{appointment.meeting.hostUrl}}",
      "guestUrl": "{{appointment.meeting.guestUrl}}",
      "password": "{{appointment.meeting.password}}"
    },
    "createdAt": "{{appointment.createdAt}}",
    "updatedAt": "{{appointment.updatedAt}}"
  }
}

(ii) Appointment Booked test Payload data 👇

{
  "event": {
    "id": "ecKyX3x8IY",
    "type": "appointment_updates",
    "timeStamp": "2024-03-28T10:00:00Z",
    "key": "AZEa1bTPqE"
  },
  "appointment": {
    "id": "AZEa1bTPqE",
    "location": {
      "id": "YFoWQBDuAu",
      "title": "Whautomate"
    },
    "client": {
      "id": "XpSCitpwse",
      "fullName": "John Doe",
      "countryCode": "+65",
      "phone": "98765432",
      "email": "test@example.com"
    },
    "staff": {
      "id": "DCaR2sMN1o",
      "name": "John Doe"
    },
    "timezone": "Asia/Singapore",
    "date": "2024-03-25",
    "time": "01:00 PM",
    "startTimeUTC": "2024-03-30T05:00:00.000Z",
    "startTime": "2024-03-30T13:00:00.000Z",
    "endTimeUTC": "2024-03-30T05:15:00.000Z",
    "endTime": "2024-03-30T13:15:00.000Z",
    "service": {
      "id": "A8q4P2WibC",
      "name": "Demo Service",
      "durationMinutes": 15,
      "sellingPrice": 50
    },
    "addOnServices": [
      {
        "id": "X8r4I2WibC",
        "name": "Demo Add-On",
        "sellingPrice": 25
      }
    ],
    "bookedFrom": "API",
    "status": "Cancelled",
    "appointmentType": "LOCATION_VISIT",
    "paymentStatus": "",
    "notes": "Appointment Notes",
    "createdAt": "2024-03-28T10:00:00Z",
    "updatedAt": "2024-03-28T11:45:00Z"
  }
}

Last updated