> ## Documentation Index
> Fetch the complete documentation index at: https://api.tipee.ch/llms.txt
> Use this file to discover all available pages before exploring further.

# Create

> Creates a schedule template.



## OpenAPI

````yaml 26.06.25 post /api/schedule/schedule-templates.create
openapi: 3.1.0
info:
  title: tipee
  version: 26.06.25
servers: []
security:
  - basicAuth: []
tags:
  - name: Activity
    description: Activity
  - name: Balances
    description: Balances
  - name: Directory
    description: Directory
  - name: Schedule
    description: Schedule
  - name: Timeclock
    description: Timeclock
paths:
  /api/schedule/schedule-templates.create:
    post:
      tags:
        - Schedule
      summary: Create
      description: Creates a schedule template.
      operationId: post_app_ui_api_schedule_scheduletemplatecommand_createscheduletemplate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateScheduleTemplateCommand'
      responses:
        '201':
          description: Schedule template created.
          content:
            application/json:
              schema:
                required:
                  - id
                properties:
                  id:
                    $ref: '#/components/schemas/Snowflake'
                type: object
components:
  schemas:
    CreateScheduleTemplateCommand:
      required:
        - schedule_template_type_id
        - team_id
        - name
        - color
        - hour_ranges
        - validity_date_range
      properties:
        id:
          $ref: '#/components/schemas/Snowflake'
        schedule_template_type_id:
          $ref: '#/components/schemas/Snowflake'
        team_id:
          $ref: '#/components/schemas/Snowflake'
        name:
          anyOf:
            - $ref: '#/components/schemas/TranslatedString'
            - type: string
        description:
          anyOf:
            - $ref: '#/components/schemas/TranslatedString'
            - type: string
        color:
          type: string
        hour_ranges:
          type: array
          items:
            $ref: '#/components/schemas/HourRange'
          minItems: 1
        validity_date_range:
          $ref: '#/components/schemas/LocalDateInterval'
        tag_ids:
          type: array
          items:
            $ref: '#/components/schemas/Snowflake'
        adjustment:
          $ref: '#/components/schemas/ScheduleTemplateCreateAdjustment'
        break_time:
          $ref: '#/components/schemas/ScheduleTemplateCreateBreakTime'
        options:
          $ref: '#/components/schemas/ScheduleTemplateCreateOptions'
      type: object
    Snowflake:
      type: string
      format: snowflake
      example: '872815618512410358'
    TranslatedString:
      properties:
        fr:
          type: string
        en:
          type: string
        de:
          type: string
      type: object
      example:
        en: Hello
        fr: Bonjour
        de: Guten Tag
    HourRange:
      required:
        - hour_range
        - auto_correct
        - paid_break
      properties:
        hour_range:
          $ref: '#/components/schemas/LocalTimeInterval'
        auto_correct:
          oneOf:
            - $ref: '#/components/schemas/Autocorrect'
            - type: 'null'
        paid_break:
          oneOf:
            - $ref: '#/components/schemas/ScheduleTemplatePaidBreakTime'
            - type: 'null'
      type: object
    LocalDateInterval:
      type: string
      format: local-date-interval
      example: 2019-11-11/2019-12-12
    ScheduleTemplateCreateAdjustment:
      required:
        - value
      properties:
        value:
          $ref: '#/components/schemas/Duration'
        time:
          $ref: '#/components/schemas/LocalTime'
      type: object
    ScheduleTemplateCreateBreakTime:
      required:
        - min_duration
        - hour_range
      properties:
        min_duration:
          $ref: '#/components/schemas/Duration'
        hour_range:
          $ref: '#/components/schemas/LocalTimeInterval'
      type: object
    ScheduleTemplateCreateOptions:
      required:
        - counts_in_balances
        - timecheck_counted
        - employee_resident_ratio
        - auto_completable
      properties:
        counts_in_balances:
          type: boolean
          default: true
        timecheck_counted:
          type: boolean
          default: true
        employee_resident_ratio:
          type: boolean
          default: false
        auto_completable:
          type: boolean
          default: true
      type: object
    LocalTimeInterval:
      type: string
      format: local-time-interval
      example: 12:34:56/PT2H
    Autocorrect:
      required:
        - before_start
        - after_start
        - before_end
        - after_end
      properties:
        before_start:
          oneOf:
            - $ref: '#/components/schemas/Duration'
            - type: 'null'
        after_start:
          oneOf:
            - $ref: '#/components/schemas/Duration'
            - type: 'null'
        before_end:
          oneOf:
            - $ref: '#/components/schemas/Duration'
            - type: 'null'
        after_end:
          oneOf:
            - $ref: '#/components/schemas/Duration'
            - type: 'null'
      type: object
    ScheduleTemplatePaidBreakTime:
      required:
        - max_duration
        - hour_range
      properties:
        max_duration:
          $ref: '#/components/schemas/Duration'
        hour_range:
          oneOf:
            - $ref: '#/components/schemas/LocalTimeInterval'
            - type: 'null'
      type: object
    Duration:
      description: '[ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations)'
      type: string
      format: duration
      example: PT1H30M20S
    LocalTime:
      type: string
      format: local-time
      example: '12:34:56'

````