L
Leaphealth - OSDocs

Centre Configuration

Centre working hours, holiday schedules, timezone settings, and how centres override tenant defaults.

Centre Configuration

Each centre (branch/clinic) has its own working hours, holiday schedules, and timezone. These settings affect slot generation and appointment availability for all doctors at the centre.

Config Hierarchy

Centre settings override tenant defaults but are overridden by department and doctor settings. See Config Hierarchy for details.

Working Hours

Working hours define when the centre is open for appointments. Each day of the week can have multiple time windows:

[  {    "day": 1,    "is_open": true,    "times": [      {        "start": "09:00",        "end": "13:00"      },      {        "start": "14:00",        "end": "18:00"      }    ]  },  {    "day": 2,    "is_open": true,    "times": [      {        "start": "09:00",        "end": "13:00"      },      {        "start": "14:00",        "end": "18:00"      }    ]  },  {    "day": 3,    "is_open": true,    "times": [      {        "start": "09:00",        "end": "13:00"      },      {        "start": "14:00",        "end": "18:00"      }    ]  },  {    "day": 4,    "is_open": true,    "times": [      {        "start": "09:00",        "end": "13:00"      },      {        "start": "14:00",        "end": "18:00"      }    ]  },  {    "day": 5,    "is_open": true,    "times": [      {        "start": "09:00",        "end": "13:00"      },      {        "start": "14:00",        "end": "18:00"      }    ]  },  {    "day": 6,    "is_open": true,    "times": [      {        "start": "09:00",        "end": "13:00"      }    ]  },  {    "day": 7,    "is_open": false,    "times": []  }]

Working Hours Fields

Field

Type

What It Does

day

number (1-7)

Day of the week (1 = Monday, 7 = Sunday)

is_open

boolean

Whether the centre operates on this day

times

array

List of time windows for this day

times[].start

string (HH:MM)

Opening time for this window

times[].end

string (HH:MM)

Closing time for this window

Multiple Windows

A day can have multiple time windows to support split schedules. For example, 09:00-13:00 and 14:00-18:00 represents a centre open morning and afternoon with a lunch break.

Holiday Schedule

Holidays override regular working hours. They can be full-day closures or partial-day adjustments:

[  {    "date": "2026-01-26",    "name": "Republic Day",    "is_full_day": true,    "times": []  },  {    "date": "2026-03-14",    "name": "Holi (Half Day)",    "is_full_day": false,    "times": [      {        "start": "09:00",        "end": "13:00"      }    ]  }]

Field

Type

What It Does

date

string (YYYY-MM-DD)

The holiday date

name

string

Display name for the holiday

is_full_day

boolean

If true, centre is completely closed; if false, uses the times array

times

array

Reduced operating hours for partial-day holidays

Timezone

Each centre has a timezone setting that determines how times are interpreted and displayed:

Field

Type

Default

What It Does

timezone

string

Asia/Kolkata

IANA timezone identifier for this centre

All time calculations (slot generation, appointment times, reminders) use the centre's timezone. Supported format: IANA timezone names like Asia/Kolkata, America/New_York, etc.

Doctor Availability Rules

Within each centre, doctor availability is defined through schedule rules. Each rule defines when a doctor is available at this centre:

{  "entry_type": "SCHEDULE",  "rule": {    "valid_from": 1735689600,    "valid_until": null,    "recurrence": {      "frequency": "WEEKLY",      "interval": 1,      "days_of_week": [        1,        2,        3,        4,        5      ]    },    "date": null,    "times": [      {        "start": "09:00",        "end": "13:00"      },      {        "start": "15:00",        "end": "18:00"      }    ],    "all_day": false,    "reason": null,    "priority": 0  }}

Entry Types

Type

Purpose

Example

SCHEDULE

Regular recurring availability

Doctor available Mon-Fri, 9am-1pm and 3pm-6pm

BLOCK

Temporary unavailability

Doctor on leave Dec 25-31

OVERRIDE

One-time schedule change

Doctor available on a Sunday for a special clinic

Recurrence Rule

Defines repeating patterns for SCHEDULE entries:

{  "frequency": "WEEKLY",  "interval": 1,  "days_of_week": [    1,    2,    3,    4,    5  ],  "end_date": null,  "count": null}

Field

Type

What It Does

frequency

enum

DAILY, WEEKLY, MONTHLY, or YEARLY

interval

number

Repeat every N periods (1 = every week, 2 = every other week)

days_of_week

number[]

Which days (1=Mon to 7=Sun) for WEEKLY frequency

end_date

number or null

When the recurrence stops (epoch seconds, null = forever)

count

number or null

Maximum occurrences (alternative to end_date)


What's Next

  • Doctor Configuration — Doctor-level overrides that sit above centre settings
  • Service Configuration — Centre-service overrides for specific services
  • Walk-In Configuration — Walk-in queue settings at the centre level
centreconfigurationworking-hoursholidays

Last updated on

On this page