Natzar Partner API Reference - v1.0.0
    Preparing search index...

    Interface ListTelehealthSlotsResponse

    GET /v1/telehealth-consults/{id}/slots response. Three things to render: group slots by localDate, label the grid with timezone, and — when it is not the clinic's — say so with clinicTimezone.

    interface ListTelehealthSlotsResponse {
        slots: TelehealthSlot[];
        timezone: string;
        clinicTimezone: string;
        truncated: boolean;
        nextFrom: string | null;
        slotMinutes: number;
        bookingHorizonDays: number;
        cancellationWindowMinutes: number;
        waitingRoomOpensMinutes: number;
        appointment?: TelehealthAppointment | null;
        specialty?:
            | { slug: string; name: string; description?: string
            | null }
            | null;
        patientLang: string | null;
        noEligiblePhysicians: boolean;
    }
    Index
    timezone: string

    The zone this payload is expressed in: the timezone you asked for, else the clinic's. Every localDate, and nextFrom, are in it. Show it: an unlabelled appointment time is a support call.

    clinicTimezone: string

    The clinic's zone, for a "the clinic is in …" note when it differs from timezone.

    truncated: boolean

    True when the window held more offers than one response carries and the tail was dropped. Page: request again with from = nextFrom.

    nextFrom: string | null

    When truncated, the local date (in timezone) of the first offer that was dropped — the from of the next page. Null otherwise.

    slotMinutes: number

    Length of one consultation, in minutes.

    bookingHorizonDays: number

    How far ahead this tenant lets patients book.

    cancellationWindowMinutes: number

    Minutes before the start after which the patient may no longer cancel.

    waitingRoomOpensMinutes: number

    Minutes before the start at which the waiting room opens.

    appointment?: TelehealthAppointment | null

    This consult's current appointment, when it already has one.

    specialty?: { slug: string; name: string; description?: string | null } | null

    The specialty this consult was routed to, if any.

    patientLang: string | null

    The patient's language this grid was ranked for, as a base code (fr), or null when unknown. With each slot's languages, what lets a grid say "with a French-speaking physician" on the times where that is true. Says nothing about who will be chosen — book ranks that.

    noEligiblePhysicians: boolean

    True when NOBODY in the tenant covers this consult's specialty. Distinct from an empty slots: that means "nothing published in this window", this means "no amount of waiting will help" — say so rather than showing an empty calendar.