Schema for Jarvisv2 Daily On Call Syncer Settings

From DailyOnCallSyncerSettings.schema.yaml (jarvisv2/DailyOnCallSyncerSettings.schema)

---
$defs:
  OfficeHours:
    properties:
      public_holidays:
        description: The list of public holidays.
        items:
          format: date
          type: string
        title: Public Holidays
        type: array
      saturday:
        anyOf:
        - $ref: '#/$defs/ShiftTimes'
        - const: inactive
          type: string
        description: The office hours for Saturday.
        title: Saturday
      sunday_or_public_holiday:
        anyOf:
        - $ref: '#/$defs/ShiftTimes'
        - const: inactive
          type: string
        description: The office hours for Sunday/Public Holiday.
        title: Sunday Or Public Holiday
      weekday:
        anyOf:
        - $ref: '#/$defs/ShiftTimes'
        - const: inactive
          type: string
        description: The office hours for weekdays.
        title: Weekday
    required: [weekday, saturday, sunday_or_public_holiday]
    title: OfficeHours
    type: object
  RosterOverride:
    description: Define overrides for specific rosters.
    properties:
      department:
        description: Department that match will be overridden.
        title: Department
        type: string
      override_department:
        anyOf:
        - type: string
        - type: 'null'
        default: null
        description: Override the department with this.
        title: Override Department
      override_role:
        anyOf:
        - type: string
        - type: 'null'
        default: null
        description: Override the role with this.
        title: Override Role
      override_role_notes:
        anyOf:
        - type: string
        - type: 'null'
        default: null
        description: Override the roster notes with this.
        title: Override Role Notes
      override_roster_notes:
        anyOf:
        - type: string
        - type: 'null'
        default: null
        description: Override the roster notes with this.
        title: Override Roster Notes
      override_roster_title:
        anyOf:
        - type: string
        - type: 'null'
        default: null
        description: Override the roster title with this.
        title: Override Roster Title
      role:
        anyOf:
        - type: string
        - type: 'null'
        default: null
        description: Role that match will be overridden.
        title: Role
      roster_title:
        anyOf:
        - type: string
        - type: 'null'
        default: null
        description: Roster title that match will be overridden.
        title: Roster Title
      saturday:
        anyOf:
        - $ref: '#/$defs/ShiftTimes'
        - const: inactive
          type: string
        - type: 'null'
        default: null
        description: The office hours for Saturday.
        title: Saturday
      sunday_or_public_holiday:
        anyOf:
        - $ref: '#/$defs/ShiftTimes'
        - const: inactive
          type: string
        - type: 'null'
        default: null
        description: The office hours for Sunday/Public Holiday.
        title: Sunday Or Public Holiday
      weekday:
        anyOf:
        - $ref: '#/$defs/ShiftTimes'
        - const: inactive
          type: string
        - type: 'null'
        default: null
        description: The office hours for weekdays.
        title: Weekday
    required: [department]
    title: Roster Override
    type: object
  ShiftTimes:
    description: Define start and end times for office hours.
    properties:
      end:
        default: '17:00:00'
        description: The end time of the office hours.
        format: time
        title: End Time
        type: string
      start:
        default: 08:00:00
        description: The start time of the office hours.
        format: time
        title: Start Time
        type: string
    title: Start And End Times
    type: object
$id: https://skeleton.botmd.io/jarvisv2/DailyOnCallSyncerSettings.schema
$schema: http://json-schema.org/draft-07/schema#
description: Settings for syncing HMS Daily on Call rosters.
properties:
  office_hours:
    $ref: '#/$defs/OfficeHours'
    description: The office hours for the rosters (which can be overridden for individual
      rosters). This will be localized to the `timezone` defined for the roster.
    title: Office Hours
  output_csv:
    anyOf:
    - type: string
    - type: 'null'
    default: null
    description: Output the parsed roster to a CSV file. This is a path from within
      Rosters storage.
    title: Output CSV
  parser_variant:
    default: default
    description: The variant of the parser to use.
    enum: [default, ktph]
    title: Parser Variant
    type: string
  phone_number_countries:
    description: The list of countries to guess the phone number from when normalizing.
    items:
      type: string
    minItems: 1
    title: Phone Number Countries
    type: array
  roster_date_override:
    anyOf:
    - format: date
      type: string
    - type: 'null'
    default: null
    description: Override the roster date with this date. This is mostly used for
      development and testing.
    title: Roster Date Override
  roster_overrides:
    description: Overrides for office hours and various metadata for specific rosters.
    items:
      $ref: '#/$defs/RosterOverride'
    title: Roster Overrides
    type: array
  source_path:
    description: Where the HTML source is located. This is a path from within Rosters
      storage.
    minLength: 1
    title: Source Path
    type: string
  syncer_id:
    description: Unique name identifying this syncer.
    title: Syncer ID
    type: string
  tenants:
    anyOf:
    - anyOf:
      - description: The `cleo` app tenant applicable to this object.
        pattern: ^cleo\:[a-zA-Z0-9][\w\-\_]*$
        title: Cleo Tenant
        type: string
      - description: The `hospital` app tenant applicable to this object.
        pattern: ^hospital\:[a-zA-Z0-9][\w\-\_]*$
        title: Hospital Tenant
        type: string
      description: The tenant applicable to this object. This must be one specific
        tenant and not any of the `__all__ alternatives.
      title: Tenant
    - const: __all__
      description: A literal to represent all tenants.
      title: All Tenants
      type: string
    - const: cleo:__all__
      description: A literal to represent all cleo app tenants.
      title: Cleo All Tenant
      type: string
    - const: hospital:__all__
      description: A literal to represent all hospital app tenants.
      title: Hospital All Tenant
      type: string
    - description: A list of tenants.
      items:
        anyOf:
        - anyOf:
          - description: The `cleo` app tenant applicable to this object.
            pattern: ^cleo\:[a-zA-Z0-9][\w\-\_]*$
            title: Cleo Tenant
            type: string
          - description: The `hospital` app tenant applicable to this object.
            pattern: ^hospital\:[a-zA-Z0-9][\w\-\_]*$
            title: Hospital Tenant
            type: string
          description: The tenant applicable to this object. This must be one specific
            tenant and not any of the `__all__ alternatives.
          title: Tenant
        - const: __all__
          description: A literal to represent all tenants.
          title: All Tenants
          type: string
        - const: cleo:__all__
          description: A literal to represent all cleo app tenants.
          title: Cleo All Tenant
          type: string
        - const: hospital:__all__
          description: A literal to represent all hospital app tenants.
          title: Hospital All Tenant
          type: string
      minItems: 1
      title: Tenant List
      type: array
    default: [__all__]
    description: The tenant that this object is applicable for. Defaults to all tenants.
    title: Tenants
  timezone:
    description: The timezone of the roster.
    title: Timezone
    type: string
  type:
    const: hms-dailyoncall
    default: hms-dailyoncall
    title: Type
    type: string
  updated_on_override:
    anyOf:
    - format: date-time
      type: string
    - type: 'null'
    default: null
    description: Override the updated on date with this date. This is mostly used
      for development and testing.
    title: Updated On Override
required: [syncer_id, source_path, phone_number_countries, office_hours]
title: Daily On Call Syncer Settings
type: object

[Main Page] [Schema Documentation] [Examples]