Skip to main content
Glama

Xona Dental Gateway

List a clinic's public booking slots

list_public_booking_slots
Read-onlyIdempotent

Read open times from a clinic's own online scheduler, by practice_slug, for one service_id between date_from and date_to (the clinic's dates, both included, at most 14 days). Each time carries starts_at, start_local (the time at the clinic), time_zone and booking_url, the page where the patient books that time (Xona's page on that service and day where Xona books the clinic's scheduler, else the clinic's own booking page); earliest is the first one; preferred_time puts the closest times first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
date_toYesLast day to read (inclusive), at most 13 days after date_from
date_fromYesFirst day to read, in the clinic's time zone; today or later
service_idYesA service_id from list_public_booking_services, or from a soonest search row's services
practice_slugYes
preferred_timeNoThe patient's preferred local start time, 24-hour HH:MM; the closest times come first

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
slotsYes
date_toNo
earliestNo
readableYes
use_toolNo
date_fromNo
next_stepYes
time_zoneNo
service_idNo
booking_urlNo
practice_slugYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedOutput schema / properties / booking_url
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / earliest / properties / booking_url
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / slots / items / properties / booking_url
      Added value: +{
      +  "type": "string"
      +}
  2. Changed18 schema fields changed
    • removedInput schema / properties / action_id
      Removed value: -{
      -  "maxLength": 128,
      -  "minLength": 16,
      -  "type": "string"
      -}
    • addedInput schema / properties / date_from
      Added value: +{
      +  "description": "First day to read, in the clinic's time zone; today or later",
      +  "format": "date",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / date_to
      Added value: +{
      +  "description": "Last day to read (inclusive), at most 13 days after date_from",
      +  "format": "date",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
    • removedInput schema / properties / end
      Removed value: -{
      -  "format": "date-time",
      -  "maxLength": 64,
      -  "type": "string"
      -}
    • addedInput schema / properties / practice_slug
      Added value: +{
      +  "maxLength": 140,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / preferred_time
      Added value: +{
      +  "description": "The patient's preferred local start time, 24-hour HH:MM; the closest times come first",
      +  "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
      +  "type": "string"
      +}
    • addedInput schema / properties / service_id / description
      Added value: +"A service_id from list_public_booking_services, or from a soonest search row's services"
    • removedInput schema / properties / start
      Removed value: -{
      -  "format": "date-time",
      -  "maxLength": 64,
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "action_id",
      -  "service_id",
      -  "start",
      -  "end"
      -]New value: +[
      +  "practice_slug",
      +  "service_id",
      +  "date_from",
      +  "date_to"
      +]
    • removedOutput schema / properties / action_id
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / date_from
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / date_to
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / earliest
      Added value: +{
      +  "properties": {
      +    "ends_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "provider_id": {
      +      "type": "string"
      +    },
      +    "provider_name": {
      +      "type": "string"
      +    },
      +    "service_id": {
      +      "type": "string"
      +    },
      +    "start_local": {
      +      "type": "string"
      +    },
      +    "starts_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "time_zone": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "service_id",
      +    "starts_at",
      +    "ends_at"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / next_step
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / readable
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / service_id
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / time_zone
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "slots"
      -]New value: +[
      +  "practice_slug",
      +  "readable",
      +  "slots",
      +  "next_step"
      +]
  3. Changed3 schema fields changed
    • addedOutput schema / properties / slots / items / properties / provider_id
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / slots / items / properties / start_local
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / slots / items / properties / time_zone
      Added value: +{
      +  "type": "string"
      +}
  4. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources