Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • positionCreated - Walk-in or manual ticket is created

  • bookingConfirmation - Customer created new booking

  • bookingActivated - Booking is activated (i.e. timeslot is active)

  • bookingRemoved positionRemoved - Staff rejected a ticket

  • positionRetry - Staff called retry on a ticket

  • positionCalled - Staff called a position

  • positionFulfilled - Staff checked-in position

  • positionCompleted - Staff checked-out position

  • positionCancelled - Customer cancelled positioposition

  • positionCancelledByStaff - Staff cancelled upcoming booking

  • feedbackReceived - Customer updated feedback on ticket

Example payloads

Position created

...

Webhook payload

Sent in POST request, request supports headers configuration, for example for auth purposes.

  • message - present for some of webhook types, message that is communicated to customer associated with this event

  • data

    • position - current ticket or booking state

  • type - type of webhook, see above for full list

  • organization - name of organization that this queue event corresponds to

Example payloads

Position created webhook

Code Block
{
  "message": null,
  "data": {
    "position": {
      "status": "pending",
      "priority": 0,
      "location": {
        "locationName": "Ombori Stress Test 1"
      },
      "label": "A2",
      "locale": "en",
      "notification": {
        "type": "applePassphoneNumber",
        "settings": {
          "passTypeIdentifierfrom": "pass.com.ombori.queueservice",
          "to": "+460000",
          "devicesrecipient": []""
        }
      },
      "id": "4f288ab1-72c9-402a-95b3-296766336b68",
      "type": "anonymous",
      "queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
      "createdAt": "2021-01-21T14:05:17.527Z"
    }
  },
  "type": "positionCreated",
  "organization": "ombori"
}

Booking created webhook

Code Block
{
  "message": "Your booking for 2021-01-21 15:10 is now confirmed. Ticket: https://qr.run/Pt5vJ05h",
  "data": {
    "position": {
      "location": {
        "locationName": "Ombori Stress Test 1"
      },
      "type": "booking",
      "priority": 100,
      "createdAt": "2021-01-21T14:07:21.598Z",
      "locale": "en",
      "notification": {
        "type": "phoneNumber",
        "settings": {
          "from": "",
          "to": "+460000",
          "recipient": ""
        }
      },
      "numberOfPeople": 1,
      "booking": {
        "start": "2021-01-21T14:10:00.000Z",
        "end": "2021-01-21T14:15:00.000Z",
        "virtualAppointment": {
          "isEnabled": false
        }
      },
      "status": "draft",
      "label": "",
      "id": "255c8a1d-b8b6-4fb4-b6d6-4a5416203e1b",
      "queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
      "bookingReminderAt": null
    }
  },
  "type": "bookingConfirmation",
  "organization": "ombori"
}

Booking activated webhook

Code Block
{
  "message": "Your position: B1. Please come within 15 minutes to avoid cancellation of your appointment. Ticket: https://qr.run/1WPccolK",
  "data": {
    "position": {
      "location": {
        "locationName": "Ombori Stress Test 1"
      },
      "type": "booking",
      "priority": 100,
      "createdAt": "2021-01-21T14:08:44.038Z",
      "locale": "en",
      "notification": {
        "type": "phoneNumber",
        "settings": {
          "from": "",
          "to": "",
          "recipient": ""
        }
      },
      "numberOfPeople": 1,
      "booking": {
        "start": "2021-01-21T14:10:00Z",
        "end": "2021-01-21T14:15:00Z",
        "virtualAppointment": {
          "isEnabled": false
        }
      },
      "status": "pending",
      "label": "B1",
      "id": "65e8eb52-7bba-4393-9a59-0b29c9251959",
      "queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
      "bookingReminderAt": null,
      "fulfilledAt": "2021-01-21T14:10:00.479Z",
      "leaveReminderAt": null,
      "leaveAt": null
    }
  },
  "type": "bookingActivated",
  "organization": "ombori"
}

Position rejected by staff webhook

Code Block
{
  "message": "Position A7 was cancelled. Visit https://qr.run/1FfHJUrk if you would like to request a new position.",
  "data": {
    "position": {
      "id": "b573b730-ab6e-4314-8c8f-1ad654aeb169",
      "status": "rejected",
      "priority": 0,
      "location": {
        "locationName": "Ombori Stress Test 1"
      },
      "label": "A7",
      "locale": "en",
      "type": "anonymous",
      "queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
      "createdAt": "2021-01-21T14:11:52.436Z",
      "servedBy": {},
      "station": null
    }
  },
  "type": "positionRemoved",
  "organization": "ombori"
}

Position retry by staff webhook

Code Block
{
  "message": "We called your ticket, but did not find you. We will try again in few minutes. Please approach the entrance.",
  "data": {
    "position": {
      "id": "efe8bc5d-4afc-431b-bad6-321707b08447",
      "status": "pending",
      "priority": 0,
      "location": {
        "locationName": "Ombori Stress Test 1"
      },
      "label": "A4",
      "locale": "en",
      "notification": {
        "type": "applePass",
        "settings": {
          "passTypeIdentifier": "pass.com.ombori.queueservice",
          "devices": []
        }
      },
      "type": "anonymous",
      "queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
      "createdAt": "2021-01-21T14:06:01.994Z",
      "servedBy": {},
      "retryCount": 1
    }
  },
  "type": "positionRetry",
  "organization": "ombori"
}

Position called by staff webhook

Code Block
{
  "message": "It is your turn now.",
  "data": {
    "position": {
      "status": "notified",
      "priority": 0,
      "location": {
        "locationName": "Ombori Stress Test 1"
      },
      "label": "A4",
      "locale": "en",
      "notification": {
        "type": "applePass",
        "settings": {
          "passTypeIdentifier": "pass.com.ombori.queueservice",
          "devices": []
        }
      },
      "id": "efe8bc5d-4afc-431b-bad6-321707b08447",
      "type": "anonymous",
      "queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
      "createdAt": "2021-01-21T14:06:01.994Z",
      "servedBy": {},
      "station": null
    }
  },
  "type": "positionCalled",
  "organization": "ombori"
}

Position checked-in by staff webhook

Code Block
{
  "message": null,
  "data": {
    "position": {
      "id": "efe8bc5d-4afc-431b-bad6-321707b08447",
      "status": "fulfilled",
      "priority": 0,
      "location": {
        "locationName": "Ombori Stress Test 1"
      },
      "label": "A4",
      "locale": "en",
      "notification": {
        "type": "applePass",
        "settings": {
          "passTypeIdentifier": "pass.com.ombori.queueservice",
          "devices": []
        }
      },
      "type": "anonymous",
      "queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
      "createdAt": "2021-01-21T14:06:01.994Z",
      "servedBy": {},
      "retryCount": 1,
      "station": null,
      "fulfilledAt": "2021-01-21T14:07:07.074Z",
      "leaveReminderAt": null,
      "leaveAt": null
    }
  },
  "type": "positionFulfilled",
  "organization": "ombori"
}

Position checked-out by staff

Code Block
{
  "message": null,
  "data": {
    "position": {
      "id": "d144003e-14bb-4d17-b67d-f501c066f563",
      "status": "completed",
      "priority": 0,
      "location": {
        "locationName": "Ombori Stress Test 1"
      },
      "label": "A6",
      "locale": "en",
      "type": "anonymous",
      "queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
      "createdAt": "2021-01-21T14:11:15.694Z",
      "typeservedBy": "anonymous"{},
      "queuestation": "b23bea4f-8e8a-4da6-b413-04454f8428aa"null,
      "createdAtfulfilledAt": "2021-01-21T14:0511:17.527Z"
21.276Z",
      "leaveReminderAt": null,
      "leaveAt": null
    }
  },
  "type": "positionCreatedpositionCompleted",
  "organization": "ombori"
}

Position cancelled by customer webhook

Code Block
{
  "message": null,
  "data": {
    "position": {
      "id": "cce2ae86-1f5c-4dd4-b040-0b606a850f62",
      "location": {
        "locationName": "Ombori Stress Test 1"
      },
      "type": "booking",
      "priority": 100,
      "createdAt": "2021-01-11T14:48:24.479Z",
      "locale": "en",
      "notification": {
        "type": "phoneNumber",
        "settings": {
          "from": "",
          "to": "+4600000000",
          "recipient": ""
        }
      },
      "numberOfPeople": 1,
      "booking": {
        "start": "2021-01-13T05:30:00Z",
        "end": "2021-01-13T06:00:00Z"
      },
      "status": "rejected",
      "label": "",
      "queue": "dd31dda9-5ec0-46c6-a75b-71cb1f66a48d",
      "QRCodeCheckInPositionId": "{\"type\":\"check-in-position\",\"positionId\":\"cce2ae86-1f5c-4dd4-b040-0b606a850f62\"}",
      "bookingReminderAt": "2021-01-13T05:00:00Z"
    }
  },
  "type": "positionCancelled",
  "organization": "ombori"
}

...

Booking cancelled by staff webhook

Code Block
{
  "message": null,
  "data": {
    "position": {
      "id": "cce2ae86-1f5c-4dd4-b040-0b606a850f62",
      "location": {
        "locationName": "Ombori Stress Test 1"
      },
      "type": "booking",
      "priority": 100,
      "createdAt": "2021-01-11T14:48:24.479Z",
      "locale": "en",
      "notification": {
        "type": "phoneNumber",
        "settings": {
          "from": "",
          "to": "+4600000000",
          "recipient": ""
        }
      },
      "numberOfPeople": 1,
      "booking": {
        "start": "2021-01-13T05:30:00Z",
        "end": "2021-01-13T06:00:00Z"
      },
      "status": "rejected",
      "label": "",
      "queue": "dd31dda9-5ec0-46c6-a75b-71cb1f66a48d",
      "QRCodeCheckInPositionId": "{\"type\":\"check-in-position\",\"positionId\":\"cce2ae86-1f5c-4dd4-b040-0b606a850f62\"}",
      "bookingReminderAt": "2021-01-13T05:00:00Z"
    }
  },
  "type": "positionCancelledByStaff",
  "organization": "ombori"
}

...