{
  "openapi": "3.1.0",
  "info": {
    "title": "tipee",
    "version": "26.06.25"
  },
  "paths": {
    "/api/activity/projects.create": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Create",
        "description": "Creates a new project. The project status is set to `draft` by default.",
        "operationId": "post_app_ui_api_activity_configuration_projectcommand_createproject",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Project created.",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "$ref": "#/components/schemas/Snowflake"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/activity/projects.delete": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Delete",
        "description": "Deletes a project.",
        "operationId": "post_app_ui_api_activity_configuration_projectcommand_deleteproject",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteProjectCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Project deleted."
          }
        }
      }
    },
    "/api/activity/projects.update": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Update",
        "description": "Updates an existing project.",
        "operationId": "post_app_ui_api_activity_configuration_projectcommand_updateproject",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProjectCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Project updated."
          }
        }
      }
    },
    "/api/activity/projects.assign-resource": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Assign resource",
        "description": "Assigns a resource to a project.",
        "operationId": "post_app_ui_api_activity_configuration_projectcommand_assignresource",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignProjectResourceCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Project resource assigned."
          }
        }
      }
    },
    "/api/activity/projects.assign-team": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Assign team",
        "description": "Assigns a team to a project.",
        "operationId": "post_app_ui_api_activity_configuration_projectcommand_assignteam",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignProjectTeamCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Project team assigned."
          }
        }
      }
    },
    "/api/activity/projects.grant-team": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Grant team",
        "description": "Grants access rights to a team on a project.",
        "operationId": "post_app_ui_api_activity_configuration_projectcommand_grantteam",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GrantProjectTeamCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Access rights granted to team."
          }
        }
      }
    },
    "/api/activity/projects.delete-member": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Delete member",
        "description": "Removes a member from a project.",
        "operationId": "post_app_ui_api_activity_configuration_projectcommand_removemember",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteProjectMemberCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Project member deleted."
          }
        }
      }
    },
    "/api/activity/projects.update-status": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Update status",
        "description": "Changes project status.",
        "operationId": "post_app_ui_api_activity_configuration_projectcommand_updatestatus",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProjectStatusCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Project status updated."
          }
        }
      }
    },
    "/api/activity/projects.grant-resource": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Grant resource",
        "description": "Grants access rights to a resource on a project.",
        "operationId": "post_app_ui_api_activity_configuration_projectcommand_grantresource",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GrantProjectResourceCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Access rights granted to resource."
          }
        }
      }
    },
    "/api/activity/projects.list": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "List",
        "description": "List all projects.",
        "operationId": "post_app_ui_api_activity_configuration_projectquery_listprojects",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListProjectsQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectListView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/activity/projects.show": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Show",
        "description": "Returns the full details of a single project, including its members.",
        "operationId": "post_app_ui_api_activity_configuration_projectquery_showproject",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShowProjectQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectView"
                }
              }
            }
          }
        }
      }
    },
    "/api/activity/projects.list-hourly-budget-stats": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "List hourly budget stats",
        "description": "Returns hourly budget consumption statistics for each project, broken down by task when applicable.",
        "operationId": "post_app_ui_api_activity_configuration_projectquery_listprojecthourlybudgetstats",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListProjectHourlyBudgetStatsQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectHourlyBudgetStatsView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/activity/tasks.delete": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Delete",
        "description": "Deletes a task from a project.",
        "operationId": "post_app_ui_api_activity_configuration_taskcommand_deletetask",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteTaskCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Task deleted."
          }
        }
      }
    },
    "/api/activity/tasks.create": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Create",
        "description": "Creates a new task within a project.",
        "operationId": "post_app_ui_api_activity_configuration_taskcommand_createtask",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectTaskCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Task created.",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "$ref": "#/components/schemas/Snowflake"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/activity/tasks.update": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Update",
        "description": "Updates an existing task.",
        "operationId": "post_app_ui_api_activity_configuration_taskcommand_updatetask",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProjectTaskCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Task updated."
          }
        }
      }
    },
    "/api/activity/tasks.list": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "List",
        "description": "Returns all tasks matching the given filters. When both `task.ids` and `task.project_ids` filters are provided, `task.ids` takes precedence.",
        "operationId": "post_app_ui_api_activity_configuration_taskquery_listtasks",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListProjectTasksQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaskView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/activity/activities.create": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Create",
        "description": "Creates a new activity entry.",
        "operationId": "post_app_ui_api_activity_entry_activitycommand_createactivity",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateActivityCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Activity created.",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "$ref": "#/components/schemas/Snowflake"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/activity/activities.update": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Update",
        "description": "Updates an existing activity entry.",
        "operationId": "post_app_ui_api_activity_entry_activitycommand_updateactivity",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateActivityCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Activity updated."
          }
        }
      }
    },
    "/api/activity/activities.delete": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Delete",
        "description": "Deletes an activity entry.",
        "operationId": "post_app_ui_api_activity_entry_activitycommand_deleteactivity",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteActivityCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Activity deleted."
          }
        }
      }
    },
    "/api/activity/activities.list": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "List",
        "description": "Returns activities matching the given filters. Each activity includes its task, resource, duration, and time range.",
        "operationId": "post_app_ui_api_activity_entry_activityquery_listactivities",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListActivitiesQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ActivityView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/activity/activities.list-details": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "List details",
        "description": "Returns a paginated, detailed list of activities with selectable fields. The `select` field is required to specify which columns to include.",
        "operationId": "post_app_ui_api_activity_entry_activityquery_listdetailedactivities",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListDetailedActivitiesQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivityDetailedView"
                }
              }
            }
          }
        }
      }
    },
    "/api/activity/activities.show-totals": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Show totals",
        "description": "Returns aggregated duration totals for activities matching the given filters, broken down by validation status.",
        "operationId": "post_app_ui_api_activity_entry_activityquery_showactivitiestotals",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShowActivitiesTotalsQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivityTotalsView"
                }
              }
            }
          }
        }
      }
    },
    "/api/activity/day-tasks.submit": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Submit",
        "description": "Submits day tasks for validation.",
        "operationId": "post_app_ui_api_activity_workflow_workflowcommand_submitdaytasks",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Day task submitted."
          }
        }
      }
    },
    "/api/activity/day-tasks.submit-for-contributor": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Submit for contributor",
        "description": "Submits day tasks on behalf of a contributor.",
        "operationId": "post_app_ui_api_activity_workflow_workflowcommand_submitforcontributor",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitForContributorCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Day task for contributor submitted."
          }
        }
      }
    },
    "/api/activity/day-tasks.cancel-submission": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Cancel submission",
        "description": "Cancels a previous day task submission.",
        "operationId": "post_app_ui_api_activity_workflow_workflowcommand_cancelsubmission",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelSubmissionCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Day task submission cancelled."
          }
        }
      }
    },
    "/api/activity/day-tasks.submit-correction": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Submit correction",
        "description": "Submits a correction for rejected day tasks.",
        "operationId": "post_app_ui_api_activity_workflow_workflowcommand_submitcorrection",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitCorrectionCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Day task correction submitted."
          }
        }
      }
    },
    "/api/activity/day-tasks.validate": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Validate",
        "description": "Validates submitted day tasks.",
        "operationId": "post_app_ui_api_activity_workflow_workflowcommand_validate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Day task validated."
          }
        }
      }
    },
    "/api/activity/day-tasks.cancel-validation": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Cancel validation",
        "description": "Cancels a previous day task validation.",
        "operationId": "post_app_ui_api_activity_workflow_workflowcommand_cancelvalidation",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelValidationCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Day task validation cancelled."
          }
        }
      }
    },
    "/api/activity/day-tasks.reject": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Reject",
        "description": "Rejects submitted day tasks.",
        "operationId": "post_app_ui_api_activity_workflow_workflowcommand_reject",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RejectCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Day task rejected."
          }
        }
      }
    },
    "/api/activity/day-tasks.cancel-rejection": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "Cancel rejection",
        "description": "Cancels a previous day task rejection.",
        "operationId": "post_app_ui_api_activity_workflow_workflowcommand_cancelrejection",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelRejectionCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Day task rejection cancelled."
          }
        }
      }
    },
    "/api/activity/day-tasks.list": {
      "post": {
        "tags": [
          "Activity"
        ],
        "summary": "List",
        "description": "Returns day tasks matching the given filters (tasks, date range, resources).",
        "operationId": "post_app_ui_api_activity_workflow_workflowquery_daytasklist",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListDayTasksQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DayTaskView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/balances/work-regimes.list": {
      "post": {
        "tags": [
          "Balances"
        ],
        "summary": "List",
        "description": "Retrieves all work regimes.",
        "operationId": "post_app_ui_api_balances_workregimes_workregimesquery_list",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListWorkRegimesQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkRegimesView"
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/resources.create": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Create",
        "description": "Creates a new resource. If a team_id is not provided, the resource will not be considered as active",
        "operationId": "post_app_ui_api_directory_directorycommand_createresource",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateResourceCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource created.",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "$ref": "#/components/schemas/Snowflake"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/resources.update": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Update",
        "description": "Updates an existing resource.",
        "operationId": "post_app_ui_api_directory_directorycommand_updateresource",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateResourceCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Resource updated."
          }
        }
      }
    },
    "/api/directory/resources.assign-team": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Assign team",
        "description": "Assigns a resource to a team (head or side) for a date range. The result might create a new resource team association or update an existing one by extending or shortening it.",
        "operationId": "post_app_ui_api_directory_directorycommand_assignresourceteam",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignResourceTeamCommand"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Resource successfully assigned to team."
          },
          "409": {
            "description": "Warning to explain potential conflicts",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "warning_type": {
                      "$ref": "#/components/schemas/ResourceTeamWarningType"
                    },
                    "description": {
                      "type": "string"
                    },
                    "details": {
                      "$ref": "#/components/schemas/ResourceTeamAssignWarningDetails"
                    },
                    "required_action": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/resources.unassign-teams": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Unassign teams",
        "description": "Unassigns a resource from one or several teams (head or side or both) for a date range. The result might update an existing resource team association by shortening it or delete it directly. Every related schedules and/or on calls of relevant teams for that period will also be deleted.",
        "operationId": "post_app_ui_api_directory_directorycommand_unassignresourceteams",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnassignResourceTeamsCommand"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Resource successfully unassigned from team(s)."
          },
          "409": {
            "description": "Warning to explain potential conflicts",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "warning_type": {
                      "$ref": "#/components/schemas/ResourceTeamWarningType"
                    },
                    "description": {
                      "type": "string"
                    },
                    "details": {
                      "$ref": "#/components/schemas/ResourceTeamUnassignWarningDetails"
                    },
                    "required_action": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/resources.assign-activity-rate": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Assign activity rate",
        "description": "Assigns an activity rate to a resource for a date range. Please be aware that assigning a new activity rate might modify other activity rates periods and recalculate retroactively work and vacation balances.",
        "operationId": "post_app_ui_api_directory_directorycommand_assignresourceactivityrate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignResourceActivityRateCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Resource activity rate assigned."
          }
        }
      }
    },
    "/api/directory/resources.unassign-activity-rate": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Unassign activity rate",
        "description": "Unassigns an activity rate from a resource for a date range. Please be aware that modifying an existing activity rate will recalculate retroactively work and vacation balances.",
        "operationId": "post_app_ui_api_directory_directorycommand_unassignresourceactivityrate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnassignResourceActivityRateCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Resource activity rate unassigned."
          }
        }
      }
    },
    "/api/directory/teams.create": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Create",
        "description": "Creates a new team.",
        "operationId": "post_app_ui_api_directory_directorycommand_createteam",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTeamCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Team created.",
            "content": {
              "application/json": {
                "schema": {
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "$ref": "#/components/schemas/Snowflake"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/teams.update": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Update",
        "description": "Updates an existing team.",
        "operationId": "post_app_ui_api_directory_directorycommand_updateteam",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTeamCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Team updated."
          }
        }
      }
    },
    "/api/directory/teams.enable": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Enable",
        "description": "Enables a team.",
        "operationId": "post_app_ui_api_directory_directorycommand_enableteam",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnableTeamCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Team enabled."
          }
        }
      }
    },
    "/api/directory/teams.disable": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Disable",
        "description": "Disables a team.",
        "operationId": "post_app_ui_api_directory_directorycommand_disableteam",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisableTeamCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Team disabled."
          }
        }
      }
    },
    "/api/directory/resources.list": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "List",
        "description": "Retrieves all resources of a specific kind, including those with no (or only past) sector contracts. Returns associated details related to that kind. Use the 'resource.team' filter to narrow down the search by contract period (e.g. only currently employed).",
        "operationId": "post_app_ui_api_directory_directoryquery_resourceslist",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListResourcesQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceListView"
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/kinds.list": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "List",
        "description": "Retrieves all kinds of possible resources. Only 'employee' is available at the moment.",
        "operationId": "post_app_ui_api_directory_directoryquery_kindslist",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListKindsQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KindSummaryView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/kinds.show": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Show",
        "description": "Retrieves a specific kind with its attributes. Regarding attributes, while using 'api/directory/resources.list', 'searchable' refers to whether you can apply a filter to it or not (according to the filter type) and 'sortable' refers to 'orders'.",
        "operationId": "post_app_ui_api_directory_directoryquery_kindsshow",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShowKindQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KindView"
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/teams.list": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "List",
        "description": "Teams represent either the instance, a site or a sector",
        "operationId": "post_app_ui_api_directory_directoryquery_teamslist",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListTeamQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TeamView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/teams.show": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Show",
        "description": "Retrieves detailed information for a specific team.",
        "operationId": "post_app_ui_api_directory_directoryquery_showteam",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShowTeamQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TeamShowView"
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/resources.show-teams": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Show teams",
        "description": "Retrieves team assignations for a specific resource.",
        "operationId": "post_app_ui_api_directory_directoryquery_resourceteamsshow",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShowResourceTeamsQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceTeamView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/resources.show-activity-rates": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Show activity rates",
        "description": "Retrieves activity rate periods for a specific resource, including activity rate patterns (per weekday) and associated or inherited work regimes.",
        "operationId": "post_app_ui_api_directory_directoryquery_resourceactivityratesshow",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShowResourceActivityRatesQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ActivityRateView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/tags.list": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "List",
        "description": "Retrieves all tags that can describe actions in tipee (e.g. timechecks, activities, etc.). Several filters can be used to narrow down the search.",
        "operationId": "post_app_ui_api_directory_directoryquery_listtags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListTagsQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TagView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/schedules.create": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "Create",
        "description": "Creates one schedule, or multiple schedules if `when` is a LocalDateInterval or an RRULE. The person you're scheduling and the schedule template should belong to the team provided.",
        "operationId": "post_app_ui_api_schedule_schedulecommand_createschedule",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScheduleCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Schedule(s) successfully created."
          },
          "409": {
            "description": "Dates overlap with existing schedules, or the sector is hidden.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "error": {
                          "type": "string",
                          "example": "OVERLAPPING"
                        },
                        "body": {
                          "$ref": "#/components/schemas/OverlappingSchedulesConflictResponseBodyDTO"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "error": {
                          "type": "string",
                          "example": "SCHEDULE_SECTOR_MASKED"
                        },
                        "body": {
                          "$ref": "#/components/schemas/MaskedSectorResponseBodyDTO"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/schedules.update": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "Update",
        "description": "Updates one schedule, or multiple schedules if `when` is a LocalDateInterval or an RRULE. The person you're scheduling and the schedule template should belong to the team provided.",
        "operationId": "post_app_ui_api_schedule_schedulecommand_updateschedule",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateScheduleCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Schedule updated."
          },
          "409": {
            "description": "Dates overlap with existing schedules, or the sector is hidden",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "error": {
                          "type": "string",
                          "example": "OVERLAPPING"
                        },
                        "body": {
                          "$ref": "#/components/schemas/OverlappingSchedulesConflictResponseBodyDTO"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "error": {
                          "type": "string",
                          "example": "SCHEDULE_SECTOR_MASKED"
                        },
                        "body": {
                          "$ref": "#/components/schemas/MaskedSectorResponseBodyDTO"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/schedules.delete": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "Delete",
        "description": "Deletes one or several schedules. If you provide 'all' or 'future' as group action and if you allow it through 'allow_partial=true', only the schedules that come after team's lock date (if it exists) will be deleted.",
        "operationId": "post_app_ui_api_schedule_schedulecommand_deleteschedules",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteSchedulesCommand"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Schedule(s) deleted. When options.allow_partial is true, some schedules might not be deleted due to lock dates or permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteScheduleResult"
                }
              }
            }
          },
          "409": {
            "description": "Warning to explain potential conflicts",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "warning_type": {
                      "type": "string",
                      "example": "locked_schedules"
                    },
                    "description": {
                      "type": "string"
                    },
                    "details": {
                      "$ref": "#/components/schemas/DeleteSchedulesWarningDetails"
                    },
                    "required_action": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/absences.create": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "Create",
        "description": "Creates one absence, or multiple absences if `when` is a LocalDateInterval or an RRULE.",
        "operationId": "post_app_ui_api_schedule_schedulecommand_createabsence",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAbsenceCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Absence(s) created. When options.allow_partial is true, some absences might not be created due to lock dates or permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAbsenceResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/absences.update": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "Update",
        "description": "Updates one absence, or an entire group of repeating absences.",
        "operationId": "post_app_ui_api_schedule_schedulecommand_updateabsence",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAbsenceCommand"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Absence(s) updated. When options.allow_partial is true, some absences might not be updated due to lock dates or permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateAbsenceResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/absences.delete": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "Delete",
        "description": "Deletes one or multiple absences, possibly including their entire group of repeating absences.",
        "operationId": "post_app_ui_api_schedule_schedulecommand_deleteabsences",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteAbsenceCommand"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Absence(s) deleted. When options.allow_partial is true, some absences might not be deleted due to lock dates or permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteAbsenceResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/schedules.list": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "List",
        "description": "Retrieves all schedules (or the ones corresponding to the provided `ids`) within a date range.",
        "operationId": "post_app_ui_api_schedule_schedulequery_listschedules",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListSchedulesQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ScheduleView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/absences.list": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "List",
        "description": "Retrieves absence details within a date range, optionally restricted to specific persons through `resource_ids`. `time_range` will have a value if the absence does not cover the whole day.",
        "operationId": "post_app_ui_api_schedule_schedulequery_listabsences",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListAbsencesQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AbsenceView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/absence-types.list": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "List",
        "description": "Retrieves all absence types (or the ones corresponding to the provided ids) with details about their statuses.",
        "operationId": "post_app_ui_api_schedule_schedulequery_listabsencetypes",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListAbsenceTypesQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AbsenceTypeView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/on-calls.list": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "List",
        "description": "Retrieve all details of duty schedules for specific individuals during a given period. You will only see the on-call schedules of individuals whose schedules you are allowed to view.",
        "operationId": "post_app_ui_api_schedule_schedulequery_listoncall",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListOnCallsQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OnCallView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/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"
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/schedule-templates.update": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "Update",
        "description": "Updates a schedule template.",
        "operationId": "post_app_ui_api_schedule_scheduletemplatecommand_updatescheduletemplate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateScheduleTemplateCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Schedule template updated."
          }
        }
      }
    },
    "/api/schedule/schedule-templates.list": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "List",
        "description": "Retrieves all schedule templates (or the ones corresponding to the provided ids).",
        "operationId": "post_app_ui_api_schedule_scheduletemplatequery_listscheduletemplates",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListScheduleTemplatesQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ScheduleTemplateView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/schedule-template-types.list": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "List",
        "description": "Retrieves all schedule template type details, or the ones corresponding to the provided ids or teams.",
        "operationId": "post_app_ui_api_schedule_scheduletemplatetypequery_listscheduletemplatetypes",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListScheduleTemplateTypesQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ScheduleTemplateTypeView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/timeclock/timechecks.propose": {
      "post": {
        "tags": [
          "Timeclock"
        ],
        "summary": "Propose",
        "description": "Creates one timecheck in the \"proposal\" state, or modifies this state for an existing timecheck.",
        "operationId": "post_app_ui_api_timeclock_timeclockcommand_proposetimecheck",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProposeTimecheckCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Timecheck proposal created",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "id": {
                      "$ref": "#/components/schemas/Snowflake"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "204": {
            "description": "Timecheck proposal updated"
          }
        }
      }
    },
    "/api/timeclock/timechecks.validate": {
      "post": {
        "tags": [
          "Timeclock"
        ],
        "summary": "Validate",
        "description": "Creates one timecheck in the \"validated\" state, or modifies this state for an existing timecheck.",
        "operationId": "post_app_ui_api_timeclock_timeclockcommand_validatetimecheck",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateTimecheckCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Timecheck validation created",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "id": {
                      "$ref": "#/components/schemas/Snowflake"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "204": {
            "description": "Timecheck validation updated"
          }
        }
      }
    },
    "/api/timeclock/timechecks.delete": {
      "post": {
        "tags": [
          "Timeclock"
        ],
        "summary": "Delete",
        "description": "Deletes a timecheck.",
        "operationId": "post_app_ui_api_timeclock_timeclockcommand_deletetimecheck",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteTimecheckCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Timecheck deleted."
          }
        }
      }
    },
    "/api/timeclock/timechecks.list": {
      "post": {
        "tags": [
          "Timeclock"
        ],
        "summary": "List timechecks",
        "description": "Retrieves all timecheck details (or the ones corresponding to the provided ids).<br />Several filters can be used to narrow down the search.",
        "operationId": "post_app_ui_api_timeclock_timeclockquery_listtimechecks",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListTimechecksQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimecheckView"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AbsenceTypeSummary": {
        "required": [
          "id",
          "name",
          "short_name",
          "machine_name",
          "color"
        ],
        "properties": {
          "id": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "$ref": "#/components/schemas/Snowflake"
              }
            ]
          },
          "name": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              }
            ]
          },
          "short_name": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              }
            ]
          },
          "machine_name": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              }
            ]
          },
          "color": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "type": "object"
      },
      "AbsenceTypeView": {
        "required": [
          "id",
          "name",
          "requestable",
          "enabled",
          "confidential",
          "machine_name"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "requestable": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "confidential": {
            "type": "boolean"
          },
          "machine_name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "AbsenceView": {
        "required": [
          "id",
          "absence_type",
          "resource_id",
          "remark",
          "date",
          "percentage",
          "time_range",
          "repetition_id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "absence_type": {
            "$ref": "#/components/schemas/AbsenceTypeSummary"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "remark": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "date": {
            "$ref": "#/components/schemas/LocalDate"
          },
          "percentage": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "$ref": "#/components/schemas/Percentage"
              }
            ]
          },
          "time_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTimeInterval"
              },
              {
                "type": "null"
              }
            ]
          },
          "repetition_id": {
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "AccessLevel": {
        "type": "string",
        "example": "none",
        "enum": [
          "none",
          "read-own",
          "read",
          "write"
        ]
      },
      "AccessView": {
        "required": [
          "id",
          "access_rights"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "access_rights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectAccessRights"
            }
          }
        },
        "type": "object"
      },
      "ActivityDetailedDataView": {
        "required": [
          "id",
          "project_name",
          "task",
          "company",
          "date",
          "billable",
          "duration",
          "time_range",
          "resource",
          "remark",
          "status",
          "tags"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "project_name": {
            "type": "string"
          },
          "task": {
            "$ref": "#/components/schemas/TaskSummaryView"
          },
          "company": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ResourceSummaryView"
              },
              {
                "type": "null"
              }
            ]
          },
          "date": {
            "$ref": "#/components/schemas/LocalDate"
          },
          "billable": {
            "type": "boolean"
          },
          "duration": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Duration"
              },
              {
                "type": "null"
              }
            ]
          },
          "time_range": {
            "$ref": "#/components/schemas/LocalDateTimeInterval"
          },
          "resource": {
            "$ref": "#/components/schemas/ResourceSummaryView"
          },
          "remark": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/DayTaskStatus"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagSummaryView"
            }
          }
        },
        "type": "object"
      },
      "ActivityDetailedFields": {
        "type": "string",
        "example": "activity.date",
        "enum": [
          "activity.date",
          "activity.billable",
          "activity.duration",
          "activity.time_range",
          "activity.resources",
          "activity.remark",
          "activity.id",
          "activity.task_name",
          "activity.project_name",
          "activity.tags_ids",
          "activity.projects_resources",
          "activity.day_task_status"
        ]
      },
      "ActivityDetailedView": {
        "required": [
          "next_token",
          "data"
        ],
        "properties": {
          "next_token": {
            "type": [
              "string",
              "null"
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityDetailedDataView"
            }
          }
        },
        "type": "object"
      },
      "ActivityRateContract": {
        "required": [
          "rate"
        ],
        "properties": {
          "rate": {
            "$ref": "#/components/schemas/Percentage"
          },
          "paid_hourly": {
            "type": "boolean",
            "default": false
          },
          "trainee": {
            "type": "boolean",
            "default": false
          },
          "apprentice": {
            "type": "boolean",
            "default": false
          }
        },
        "type": "object"
      },
      "ActivityRatePatternView": {
        "required": [
          "monday",
          "tuesday",
          "wednesday",
          "thursday",
          "friday",
          "saturday",
          "sunday"
        ],
        "properties": {
          "monday": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Percentage"
              },
              {
                "type": "null"
              }
            ]
          },
          "tuesday": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Percentage"
              },
              {
                "type": "null"
              }
            ]
          },
          "wednesday": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Percentage"
              },
              {
                "type": "null"
              }
            ]
          },
          "thursday": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Percentage"
              },
              {
                "type": "null"
              }
            ]
          },
          "friday": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Percentage"
              },
              {
                "type": "null"
              }
            ]
          },
          "saturday": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Percentage"
              },
              {
                "type": "null"
              }
            ]
          },
          "sunday": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Percentage"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "ActivityRateView": {
        "required": [
          "average_rate",
          "date_range",
          "activity_rate_patterns",
          "work_regime",
          "paid_hourly",
          "apprentice",
          "trainee",
          "indemnity_enabled",
          "compensation_enabled"
        ],
        "properties": {
          "average_rate": {
            "$ref": "#/components/schemas/Percentage"
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "activity_rate_patterns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityRatePatternView"
            }
          },
          "work_regime": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/WorkRegimeSummaryView"
              },
              {
                "type": "null"
              }
            ]
          },
          "paid_hourly": {
            "type": "boolean"
          },
          "apprentice": {
            "type": "boolean"
          },
          "trainee": {
            "type": "boolean"
          },
          "indemnity_enabled": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "compensation_enabled": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "type": "object"
      },
      "ActivityState": {
        "required": [
          "status",
          "editable"
        ],
        "properties": {
          "status": {
            "$ref": "#/components/schemas/DayTaskStatus"
          },
          "editable": {
            "title": "True only if every DayTask covered by the activity is editable.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ActivityTotalsView": {
        "required": [
          "total",
          "billable",
          "validated",
          "non_validated",
          "rejected",
          "non_submitted"
        ],
        "properties": {
          "total": {
            "$ref": "#/components/schemas/Duration"
          },
          "billable": {
            "$ref": "#/components/schemas/Duration"
          },
          "validated": {
            "$ref": "#/components/schemas/Duration"
          },
          "non_validated": {
            "$ref": "#/components/schemas/Duration"
          },
          "rejected": {
            "$ref": "#/components/schemas/Duration"
          },
          "non_submitted": {
            "$ref": "#/components/schemas/Duration"
          }
        },
        "type": "object"
      },
      "ActivityType": {
        "type": "string",
        "example": "duration",
        "enum": [
          "duration",
          "range"
        ]
      },
      "ActivityView": {
        "required": [
          "id",
          "resource_id",
          "task_id",
          "billable",
          "type",
          "date",
          "duration",
          "remark",
          "time_range",
          "project_status",
          "state"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "task_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "billable": {
            "type": "boolean"
          },
          "type": {
            "$ref": "#/components/schemas/ActivityType"
          },
          "date": {
            "$ref": "#/components/schemas/LocalDate"
          },
          "duration": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Duration"
              },
              {
                "type": "null"
              }
            ]
          },
          "remark": {
            "type": [
              "string",
              "null"
            ]
          },
          "time_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTimeInterval"
              },
              {
                "type": "null"
              }
            ]
          },
          "project_status": {
            "$ref": "#/components/schemas/ProjectStatus"
          },
          "state": {
            "$ref": "#/components/schemas/ActivityState"
          }
        },
        "type": "object"
      },
      "AdditionalSettings": {
        "properties": {
          "activity_rate_contract": {
            "$ref": "#/components/schemas/ActivityRateContract"
          },
          "security": {
            "$ref": "#/components/schemas/ResourceSecurity"
          }
        },
        "type": "object"
      },
      "AdjustmentView": {
        "required": [
          "value",
          "time"
        ],
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Duration"
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalTime"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "AssignProjectResourceCommand": {
        "required": [
          "project_id",
          "resource_id",
          "access_rights"
        ],
        "properties": {
          "project_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "access_rights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectAccessRights"
            }
          }
        },
        "type": "object"
      },
      "AssignProjectTeamCommand": {
        "required": [
          "project_id",
          "team_id",
          "access_rights"
        ],
        "properties": {
          "project_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "team_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "access_rights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectAccessRights"
            }
          }
        },
        "type": "object"
      },
      "AssignResourceActivityRateCommand": {
        "required": [
          "resource_id",
          "date_range",
          "average_rate"
        ],
        "properties": {
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "average_rate": {
            "$ref": "#/components/schemas/Percentage"
          },
          "work_regime_id": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake",
                "description": "If null, it will adopt the sector’s work regime."
              },
              {
                "type": "null"
              }
            ],
            "description": "If null, it will adopt the sector’s work regime."
          },
          "indemnity_enabled": {
            "description": "If not specified, it will adopt the instance indemnity configuration.",
            "type": "boolean"
          },
          "compensation_enabled": {
            "type": "boolean",
            "default": true
          },
          "trainee": {
            "type": "boolean",
            "default": false
          },
          "apprentice": {
            "type": "boolean",
            "default": false
          },
          "paid_hourly": {
            "type": "boolean",
            "default": false
          }
        },
        "type": "object"
      },
      "AssignResourceTeamCommand": {
        "required": [
          "resource_id",
          "team_id",
          "head",
          "date_range"
        ],
        "properties": {
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "team_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "head": {
            "type": "boolean"
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "regrouping": {
            "type": [
              "string",
              "null"
            ]
          },
          "contract_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "external_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "warning_aware": {
            "description": "Assigning resource to a team will be done only if you provide 'warning_aware: true'.",
            "type": "boolean",
            "default": false
          }
        },
        "type": "object"
      },
      "AttributeChoices": {
        "required": [
          "values",
          "strict",
          "input_type"
        ],
        "properties": {
          "values": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "strict": {
            "type": "boolean"
          },
          "input_type": {
            "$ref": "#/components/schemas/ChoicesInputType"
          }
        },
        "type": "object"
      },
      "AttributeFormatType": {
        "type": "string",
        "example": "avs",
        "enum": [
          "avs",
          "email",
          "phone",
          "address"
        ]
      },
      "AttributeIcon": {
        "type": "string",
        "example": "email",
        "enum": [
          "email",
          "phone",
          "mobile-phone",
          "address",
          "description",
          "external-id",
          "job",
          "company",
          "is-company",
          "civility",
          "first-name",
          "last-name",
          "joining-date",
          "website"
        ]
      },
      "AttributeMessage": {
        "type": "string",
        "example": "choice-validation-error",
        "enum": [
          "choice-validation-error",
          "non-writable-validation-error",
          "required-validation-error",
          "type-validation-error",
          "unique-validation-error"
        ]
      },
      "AttributeSummaryView": {
        "required": [
          "id",
          "content_type",
          "label",
          "choices",
          "icon",
          "type",
          "format"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "content_type": {
            "$ref": "#/components/schemas/ContentType"
          },
          "label": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "choices": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AttributeChoices"
              },
              {
                "type": "null"
              }
            ]
          },
          "icon": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AttributeIcon"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "$ref": "#/components/schemas/AttributeType"
          },
          "format": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AttributeFormatType"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "AttributeType": {
        "type": "string",
        "example": "boolean",
        "enum": [
          "boolean",
          "date",
          "date-time",
          "decimal",
          "duration",
          "enum",
          "id",
          "int",
          "percentage",
          "string"
        ]
      },
      "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"
      },
      "BooleanFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/BooleanOperator"
          },
          "value": {
            "description": "Property can be omitted with 'none' operator. It is required for all other operators.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "BooleanOperator": {
        "type": "string",
        "example": "equals",
        "enum": [
          "equals",
          "not_equals",
          "none"
        ]
      },
      "BreakTimeView": {
        "required": [
          "min_duration",
          "hour_range"
        ],
        "properties": {
          "min_duration": {
            "$ref": "#/components/schemas/Duration"
          },
          "hour_range": {
            "$ref": "#/components/schemas/LocalTimeInterval"
          }
        },
        "type": "object"
      },
      "BuiltInAttribute": {
        "type": "string",
        "example": "last_name",
        "enum": [
          "last_name",
          "first_name",
          "company",
          "birthdate",
          "avs",
          "gender",
          "civility",
          "address",
          "city",
          "zip",
          "state",
          "country",
          "full_address",
          "nationality",
          "comment",
          "description",
          "is_company",
          "external_id",
          "tag_id",
          "regrouping",
          "resolved_regrouping",
          "private_phone",
          "mobile_phone",
          "fax",
          "private_email",
          "website",
          "job",
          "work_phone",
          "work_mobile_phone",
          "work_email",
          "work_permit",
          "work_permit_expiration_date",
          "rh_wedding_date",
          "rh_status",
          "rh_spouse_name",
          "rh_spouse_birthdate",
          "rh_education_level",
          "rh_driver_licence",
          "rh_specific_skills",
          "employee_custom1",
          "employee_custom2",
          "employee_custom3",
          "employee_custom4",
          "employee_custom5",
          "employee_custom6",
          "employee_custom7",
          "resident_custom1",
          "resident_custom2",
          "resident_custom3",
          "resident_custom4",
          "resident_custom5",
          "resident_custom6",
          "resident_custom7",
          "client_custom3",
          "client_custom4",
          "client_custom5",
          "client_custom6",
          "client_custom7",
          "has_compensation",
          "has_indemnity",
          "is_apprentice",
          "is_paid_hourly",
          "is_trainee",
          "seniority",
          "joining_date",
          "departure_date",
          "activity_rate",
          "schedule_period",
          "work_regime",
          "weekly_worked_hours",
          "holiday_regime",
          "holiday_right",
          "balance_mode",
          "timecheck_mode",
          "work_display_mode",
          "holiday_display_mode",
          "holiday_daily_display_mode",
          "time_breakdown_mode",
          "activity_breakdown_mode",
          "username",
          "last_authentication",
          "last_password_change",
          "is_two_factor_configured",
          "picture_blob_uri"
        ]
      },
      "BuiltInKind": {
        "type": "string",
        "example": "employee",
        "enum": [
          "employee",
          "resident",
          "client",
          "thing",
          "extern",
          "integration"
        ]
      },
      "BuiltInKindId": {
        "type": "string",
        "example": "362612800803058550",
        "enum": [
          "362612800803058550",
          "362612800803058551",
          "362612800803058552",
          "362612800803058553",
          "362612800803058554",
          "362612800803058555"
        ],
        "x-enum-varnames": [
          "Employee",
          "Resident",
          "Client",
          "Thing",
          "Extern",
          "Integration"
        ]
      },
      "CancelRejectionCommand": {
        "required": [
          "date_range",
          "task_ids",
          "resource_ids"
        ],
        "properties": {
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "task_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "remark": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 255
          }
        },
        "type": "object"
      },
      "CancelSubmissionCommand": {
        "required": [
          "date_range",
          "task_ids",
          "resource_ids"
        ],
        "properties": {
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "task_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "remark": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 255
          }
        },
        "type": "object"
      },
      "CancelValidationCommand": {
        "required": [
          "date_range",
          "task_ids",
          "resource_ids"
        ],
        "properties": {
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "task_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "remark": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 255
          }
        },
        "type": "object"
      },
      "ChoiceFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/ListOperator"
          },
          "value": {
            "description": "Property can be omitted with 'none' operator. It is required for all other operators.",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "type": "object"
      },
      "ChoicesInputType": {
        "type": "string",
        "example": "select",
        "enum": [
          "select",
          "combobox",
          "radio"
        ]
      },
      "ClassificationLevel": {
        "type": "string",
        "example": "unclassified",
        "enum": [
          "unclassified",
          "internal",
          "confidential",
          "secret"
        ]
      },
      "ContentType": {
        "type": "string",
        "example": "text/address",
        "enum": [
          "text/address",
          "text/avs",
          "boolean/plain",
          "date/plain",
          "date-time/plain",
          "decimal/plain",
          "duration/plain",
          "text/email",
          "enum/plain",
          "id/plain",
          "integer/plain",
          "text/multiline",
          "percentage/plain",
          "text/phone",
          "text/regrouping",
          "text/plain"
        ],
        "x-enum-varnames": [
          "Address",
          "Avs",
          "Boolean",
          "Date",
          "DateTime",
          "Decimal",
          "Duration",
          "Email",
          "Enum",
          "Id",
          "Integer",
          "Multiline",
          "Percentage",
          "Phone",
          "Regrouping",
          "Text"
        ]
      },
      "CreateAbsenceCommand": {
        "required": [
          "resource_id",
          "absence_type_id",
          "when"
        ],
        "properties": {
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "absence_type_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "percentage": {
            "$ref": "#/components/schemas/Percentage"
          },
          "time_ranges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalTimeInterval"
            }
          },
          "options": {
            "$ref": "#/components/schemas/CreateOptions"
          },
          "repetition_id": {
            "type": [
              "integer",
              "null"
            ]
          },
          "remark": {
            "type": [
              "string",
              "null"
            ]
          },
          "when": {
            "description": "A single date (YYYY-MM-DD), a date interval (YYYY-MM-DD/YYYY-MM-DD), or an [RRULE](https://www.rfc-editor.org/rfc/rfc5545.html#section-3.3.10) string. When using a date interval or RRULE, options.schedule_on_bank_holidays is required.",
            "type": "string",
            "example": "RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR;DTSTART=20260101T120000;UNTIL=20260105T120000"
          }
        },
        "type": "object"
      },
      "CreateAbsenceResult": {
        "description": "Result of creating absence(s).",
        "required": [
          "created",
          "repetition_id",
          "created_count",
          "failed_count",
          "failed"
        ],
        "properties": {
          "created": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "repetition_id": {
            "type": [
              "integer",
              "null"
            ]
          },
          "created_count": {
            "type": "integer",
            "default": 0
          },
          "failed_count": {
            "type": "integer",
            "default": 0
          },
          "failed": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "default": []
          }
        },
        "type": "object"
      },
      "CreateActivityCommand": {
        "required": [
          "resource_id",
          "task_id",
          "billable",
          "type"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "task_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "billable": {
            "type": "boolean"
          },
          "type": {
            "$ref": "#/components/schemas/ActivityType",
            "description": "Activity type. Determines which fields are required: `duration` needs `date` + `duration`, `range` needs `start` (+ optionally `end`)."
          },
          "date": {
            "$ref": "#/components/schemas/LocalDate",
            "description": "Required when type is `duration`."
          },
          "duration": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Duration",
                "description": "Required when type is `duration`. Must be ≤ 24h."
              },
              {
                "type": "null"
              }
            ],
            "description": "Required when type is `duration`. Must be ≤ 24h."
          },
          "remark": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 65535
          },
          "start": {
            "$ref": "#/components/schemas/LocalDateTime",
            "description": "Required when type is `range`."
          },
          "end": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime",
                "description": "Required when type is `range`, but can be omitted for open (running) activity."
              },
              {
                "type": "null"
              }
            ],
            "description": "Required when type is `range`, but can be omitted for open (running) activity."
          }
        },
        "type": "object"
      },
      "CreateOptions": {
        "properties": {
          "schedule_on_bank_holidays": {
            "type": "boolean"
          },
          "allow_partial": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "CreateProjectCommand": {
        "required": [
          "name"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "external_id": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 255,
            "minLength": 1
          }
        },
        "type": "object"
      },
      "CreateProjectTaskCommand": {
        "required": [
          "project_id",
          "name",
          "color",
          "billable"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "project_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "color": {
            "type": "string"
          },
          "billable": {
            "type": "boolean"
          },
          "remark_required": {
            "type": "boolean",
            "default": false
          },
          "hourly_budget": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Duration"
              },
              {
                "type": "null"
              }
            ]
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            },
            "default": []
          },
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            },
            "default": []
          }
        },
        "type": "object"
      },
      "CreateResourceCommand": {
        "required": [
          "kind_id",
          "attributes"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "kind_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "attributes": {
            "type": "object",
            "minItems": 1,
            "additionalProperties": {}
          },
          "relations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateResourceCommandRelation"
            }
          },
          "team_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "start_date": {
            "$ref": "#/components/schemas/LocalDate"
          },
          "end_date": {
            "$ref": "#/components/schemas/LocalDate"
          },
          "additional_settings": {
            "$ref": "#/components/schemas/AdditionalSettings"
          }
        },
        "type": "object"
      },
      "CreateResourceCommandRelation": {
        "required": [
          "relation_type_id",
          "related_id"
        ],
        "properties": {
          "relation_type_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "related_id": {
            "$ref": "#/components/schemas/Snowflake"
          }
        },
        "type": "object"
      },
      "CreateScheduleCommand": {
        "required": [
          "resource_id",
          "team_id",
          "when",
          "hour_ranges",
          "options"
        ],
        "properties": {
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "team_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "schedule_template_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "when": {
            "description": "A single date (YYYY-MM-DD), a date interval (YYYY-MM-DD/YYYY-MM-DD), or an [RRULE](https://www.rfc-editor.org/rfc/rfc5545.html#section-3.3.10) string. When using a date interval or RRULE, options.schedule_on_bank_holidays is required.",
            "type": "string",
            "example": "RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR;DTSTART=20260101T120000;UNTIL=20260105T120000"
          },
          "hour_ranges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HourRange"
            }
          },
          "adjustment": {
            "$ref": "#/components/schemas/ScheduleTemplateCreateAdjustment"
          },
          "break_time": {
            "$ref": "#/components/schemas/ScheduleTemplateCreateBreakTime"
          },
          "remark": {
            "type": "string"
          },
          "options": {
            "$ref": "#/components/schemas/ScheduleOptions"
          }
        },
        "type": "object"
      },
      "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"
      },
      "CreateTeamCommand": {
        "required": [
          "parent_id",
          "name"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "parent_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          },
          "short_name": {
            "description": "Should be provided only for sectors",
            "type": "string"
          },
          "color": {
            "description": "Should be provided only for sectors",
            "type": "string"
          },
          "external_id": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "DateRangeFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DateTimeOperator"
              },
              {
                "$ref": "#/components/schemas/IntervalOperator"
              }
            ]
          },
          "value": {
            "$ref": "#/components/schemas/LocalDateInterval",
            "description": "Property can be omitted with 'none' operator. It is required for all other operators."
          }
        },
        "type": "object"
      },
      "DateTimeOperator": {
        "type": "string",
        "example": "equals",
        "enum": [
          "equals",
          "not_equals",
          "from",
          "until",
          "none"
        ]
      },
      "DayTaskStatus": {
        "type": "string",
        "example": "editing",
        "enum": [
          "editing",
          "submitted",
          "validated",
          "rejected"
        ]
      },
      "DayTaskTransition": {
        "type": "string",
        "example": "submit",
        "enum": [
          "submit",
          "submit-for-contributor",
          "cancel-submission",
          "submit-correction",
          "validate",
          "cancel-validation",
          "reject",
          "cancel-rejection"
        ]
      },
      "DayTaskView": {
        "required": [
          "resource_id",
          "task_id",
          "date",
          "actor_id",
          "status",
          "at",
          "remark",
          "validator_remark",
          "editable",
          "enabled_transitions"
        ],
        "properties": {
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "task_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "date": {
            "$ref": "#/components/schemas/LocalDate"
          },
          "actor_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "status": {
            "$ref": "#/components/schemas/DayTaskStatus"
          },
          "at": {
            "$ref": "#/components/schemas/Instant"
          },
          "remark": {
            "type": [
              "string",
              "null"
            ]
          },
          "validator_remark": {
            "type": [
              "string",
              "null"
            ]
          },
          "editable": {
            "type": "boolean"
          },
          "enabled_transitions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DayTaskTransition"
            }
          }
        },
        "type": "object"
      },
      "DecimalFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/NumericOperator"
          },
          "value": {
            "description": "Property can be omitted with 'none' operator. It is required for all other operators.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "DeleteAbsenceCommand": {
        "required": [
          "ids",
          "options"
        ],
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "options": {
            "$ref": "#/components/schemas/DeleteOptions"
          }
        },
        "type": "object"
      },
      "DeleteAbsenceResult": {
        "description": "Result of deleting absence(s).",
        "required": [
          "deleted_count",
          "deleted",
          "failed_count",
          "failed"
        ],
        "properties": {
          "deleted_count": {
            "type": "integer"
          },
          "deleted": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "failed_count": {
            "type": "integer"
          },
          "failed": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "type": "object"
      },
      "DeleteActivityCommand": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          }
        },
        "type": "object"
      },
      "DeleteOptions": {
        "required": [
          "group_action"
        ],
        "properties": {
          "group_action": {
            "$ref": "#/components/schemas/GroupAction",
            "description": "If group action is 'single', allow_partial should not be provided"
          },
          "allow_partial": {
            "description": "Allows partial processing of the request for periods when the schedule is not locked and not overlapping",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "DeleteProjectCommand": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          }
        },
        "type": "object"
      },
      "DeleteProjectMemberCommand": {
        "required": [
          "member_id",
          "project_id"
        ],
        "properties": {
          "member_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "project_id": {
            "$ref": "#/components/schemas/Snowflake"
          }
        },
        "type": "object"
      },
      "DeleteScheduleResult": {
        "description": "Result of deleting schedule(s).",
        "required": [
          "deleted_count",
          "deleted",
          "failed_count",
          "failed"
        ],
        "properties": {
          "deleted_count": {
            "type": "integer"
          },
          "deleted": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "failed_count": {
            "type": "integer"
          },
          "failed": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "type": "object"
      },
      "DeleteSchedulesCommand": {
        "required": [
          "ids",
          "options"
        ],
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "options": {
            "$ref": "#/components/schemas/DeleteOptions"
          }
        },
        "type": "object"
      },
      "DeleteSchedulesWarningDetails": {
        "required": [
          "schedules_to_delete_count",
          "locked_schedules_count",
          "locked_schedules_date_range",
          "locked_teams"
        ],
        "properties": {
          "schedules_to_delete_count": {
            "type": "integer"
          },
          "locked_schedules_count": {
            "type": "integer"
          },
          "locked_schedules_date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "locked_teams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LockedTeamInfo"
            }
          }
        },
        "type": "object"
      },
      "DeleteTaskCommand": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          }
        },
        "type": "object"
      },
      "DeleteTimecheckCommand": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          }
        },
        "type": "object"
      },
      "DeviceClockView": {
        "required": [
          "time",
          "name",
          "beacon_name",
          "autocorrection",
          "autocorrection_source",
          "geolocation",
          "received_at"
        ],
        "properties": {
          "time": {
            "$ref": "#/components/schemas/LocalDateTime"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "beacon_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "autocorrection": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "autocorrection_source": {
            "type": [
              "string",
              "null"
            ]
          },
          "geolocation": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Geolocation"
              },
              {
                "type": "null"
              }
            ]
          },
          "received_at": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Instant"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "DisableTeamCommand": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          }
        },
        "type": "object"
      },
      "Duration": {
        "description": "[ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations)",
        "type": "string",
        "format": "duration",
        "example": "PT1H30M20S"
      },
      "DurationFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/NumericOperator"
          },
          "value": {
            "$ref": "#/components/schemas/Duration",
            "description": "Property can be omitted with 'none' operator. It is required for all other operators."
          }
        },
        "type": "object"
      },
      "EnableTeamCommand": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          }
        },
        "type": "object"
      },
      "FulltextFilterValue": {
        "required": [
          "operator"
        ],
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "operator": {
            "$ref": "#/components/schemas/StringOperator"
          },
          "value": {
            "type": "string",
            "default": "",
            "maxLength": 255
          }
        },
        "type": "object"
      },
      "Geolocation": {
        "required": [
          "latitude",
          "longitude",
          "accuracy"
        ],
        "properties": {
          "latitude": {
            "type": [
              "number",
              "null"
            ],
            "format": "float",
            "default": null
          },
          "longitude": {
            "type": [
              "number",
              "null"
            ],
            "format": "float",
            "default": null
          },
          "accuracy": {
            "type": [
              "number",
              "null"
            ],
            "format": "float",
            "default": null
          }
        },
        "type": "object"
      },
      "GrammaticalGender": {
        "type": "string",
        "example": "m",
        "enum": [
          "m",
          "f",
          "n"
        ]
      },
      "GrantProjectResourceCommand": {
        "required": [
          "project_id",
          "resource_id",
          "access_rights"
        ],
        "properties": {
          "project_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "access_rights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectAccessRights"
            }
          }
        },
        "type": "object"
      },
      "GrantProjectTeamCommand": {
        "required": [
          "project_id",
          "team_id",
          "access_rights"
        ],
        "properties": {
          "project_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "team_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "access_rights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectAccessRights"
            }
          }
        },
        "type": "object"
      },
      "GroupAction": {
        "type": "string",
        "example": "single",
        "enum": [
          "single",
          "future",
          "all"
        ]
      },
      "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"
      },
      "Instant": {
        "type": "string",
        "format": "zoned-date-time",
        "example": "2025-10-30T10:40:22.01367Z"
      },
      "IntegerFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/NumericOperator"
          },
          "value": {
            "description": "Property can be omitted with 'none' operator. It is required for all other operators.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "IntervalOperator": {
        "type": "string",
        "example": "in_range",
        "enum": [
          "in_range",
          "not_in_range",
          "none"
        ]
      },
      "KindAttributeView": {
        "required": [
          "attribute",
          "classification_level",
          "access_level",
          "searchable",
          "sortable"
        ],
        "properties": {
          "attribute": {
            "$ref": "#/components/schemas/AttributeSummaryView"
          },
          "classification_level": {
            "$ref": "#/components/schemas/ClassificationLevel"
          },
          "access_level": {
            "$ref": "#/components/schemas/AccessLevel"
          },
          "searchable": {
            "type": "boolean"
          },
          "sortable": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "KindRelationTypeView": {
        "required": [
          "id",
          "label",
          "inverse_label",
          "classification_level",
          "access_level",
          "inverse"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "label": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "inverse_label": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "classification_level": {
            "$ref": "#/components/schemas/ClassificationLevel"
          },
          "access_level": {
            "$ref": "#/components/schemas/AccessLevel"
          },
          "inverse": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "KindSectionView": {
        "required": [
          "id",
          "label",
          "classification_level",
          "attribute_ids",
          "relation_type_ids"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "classification_level": {
            "$ref": "#/components/schemas/ClassificationLevel"
          },
          "attribute_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "relation_type_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          }
        },
        "type": "object"
      },
      "KindSummaryView": {
        "required": [
          "id",
          "machine_name"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "machine_name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "KindView": {
        "required": [
          "id",
          "machine_name",
          "attributes",
          "relation_types",
          "sections",
          "sorting_attribute_ids"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "machine_name": {
            "type": "string"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KindAttributeView"
            }
          },
          "relation_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KindRelationTypeView"
            }
          },
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KindSectionView"
            }
          },
          "sorting_attribute_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "type": "object"
      },
      "ListAbsenceTypesQuery": {
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "requestable": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ListAbsencesQuery": {
        "required": [
          "date_range"
        ],
        "properties": {
          "resource_ids": {
            "description": "When omitted, the only absences returned are those the current user is allowed to view.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          }
        },
        "type": "object"
      },
      "ListActivitiesQuery": {
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListActivitiesQueryFilter"
            }
          }
        },
        "type": "object"
      },
      "ListActivitiesQueryFilter": {
        "discriminator": {
          "propertyName": "key"
        },
        "oneOf": [
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.date_range",
                "enum": [
                  "activity.date_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateInterval"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.projects_ids",
                "enum": [
                  "activity.projects_ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.resources",
                "enum": [
                  "activity.resources"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.tasks_ids",
                "enum": [
                  "activity.tasks_ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.open_activities",
                "enum": [
                  "activity.open_activities"
                ]
              },
              "value": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "or",
                "enum": [
                  "or"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListActivitiesQueryFilter"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "and",
                "enum": [
                  "and"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListActivitiesQueryFilter"
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "ListDayTasksQuery": {
        "required": [
          "task_ids",
          "date_range",
          "resource_ids",
          "is_own"
        ],
        "properties": {
          "task_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "is_own": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ListDetailedActivitiesQuery": {
        "required": [
          "select"
        ],
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListDetailedActivitiesQueryFilter"
            }
          },
          "orders": {
            "type": "array",
            "items": {
              "discriminator": {
                "propertyName": "key"
              },
              "oneOf": [
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "activity.id",
                      "enum": [
                        "activity.id"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                },
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "activity.date",
                      "enum": [
                        "activity.date"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                },
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "activity.billable",
                      "enum": [
                        "activity.billable"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                },
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "activity.duration",
                      "enum": [
                        "activity.duration"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                },
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "activity.time_range",
                      "enum": [
                        "activity.time_range"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                },
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "activity.remark",
                      "enum": [
                        "activity.remark"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                },
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "activity.day_task_status",
                      "enum": [
                        "activity.day_task_status"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                },
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "activity.project_name",
                      "enum": [
                        "activity.project_name"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                },
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "activity.task_name",
                      "enum": [
                        "activity.task_name"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                },
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "activity.projects_resources",
                      "enum": [
                        "activity.projects_resources"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                },
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "activity.resources",
                      "enum": [
                        "activity.resources"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          },
          "select": {
            "properties": {
              "fields": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ActivityDetailedFields"
                }
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "ListDetailedActivitiesQueryFilter": {
        "discriminator": {
          "propertyName": "key"
        },
        "oneOf": [
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.date_range",
                "enum": [
                  "activity.date_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateInterval"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.tags_ids",
                "enum": [
                  "activity.tags_ids"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/TagsFilterValue"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.projects_ids",
                "enum": [
                  "activity.projects_ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.project_name",
                "enum": [
                  "activity.project_name"
                ]
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.tasks_ids",
                "enum": [
                  "activity.tasks_ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.task_name",
                "enum": [
                  "activity.task_name"
                ]
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.billable",
                "enum": [
                  "activity.billable"
                ]
              },
              "value": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.projects_resources",
                "enum": [
                  "activity.projects_resources"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Snowflake"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.day_task_status",
                "enum": [
                  "activity.day_task_status"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DayTaskStatus"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.resources",
                "enum": [
                  "activity.resources"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.has_remark",
                "enum": [
                  "activity.has_remark"
                ]
              },
              "value": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.has_budget",
                "enum": [
                  "activity.has_budget"
                ]
              },
              "value": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "or",
                "enum": [
                  "or"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListDetailedActivitiesQueryFilter"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "and",
                "enum": [
                  "and"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListDetailedActivitiesQueryFilter"
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "ListKindsQuery": {
        "type": "object"
      },
      "ListOnCallsQuery": {
        "required": [
          "date_range"
        ],
        "properties": {
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "team_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          }
        },
        "type": "object"
      },
      "ListOperator": {
        "type": "string",
        "example": "in_list",
        "enum": [
          "in_list",
          "not_in_list",
          "none"
        ]
      },
      "ListProjectHourlyBudgetStatsQuery": {
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListProjectHourlyBudgetStatsQueryFilter"
            }
          }
        },
        "type": "object"
      },
      "ListProjectHourlyBudgetStatsQueryFilter": {
        "discriminator": {
          "propertyName": "key"
        },
        "oneOf": [
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "project.ids",
                "enum": [
                  "project.ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "or",
                "enum": [
                  "or"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListProjectHourlyBudgetStatsQueryFilter"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "and",
                "enum": [
                  "and"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListProjectHourlyBudgetStatsQueryFilter"
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "ListProjectTasksQuery": {
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListProjectTasksQueryFilter"
            }
          }
        },
        "type": "object"
      },
      "ListProjectTasksQueryFilter": {
        "discriminator": {
          "propertyName": "key"
        },
        "oneOf": [
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "task.projects_ids",
                "enum": [
                  "task.projects_ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "task.ids",
                "enum": [
                  "task.ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "task.assigned",
                "enum": [
                  "task.assigned"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "task.project_status",
                "enum": [
                  "task.project_status"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProjectStatus"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "task.projects_date_range",
                "enum": [
                  "task.projects_date_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateInterval"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "task.effective",
                "enum": [
                  "task.effective"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/ResourceDateRangeValue"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "task.billable",
                "enum": [
                  "task.billable"
                ]
              },
              "value": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "task.search",
                "enum": [
                  "task.search"
                ]
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "task.tags",
                "enum": [
                  "task.tags"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/TaskTagsFilterValue"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "project.resource_ids",
                "enum": [
                  "project.resource_ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "or",
                "enum": [
                  "or"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListProjectTasksQueryFilter"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "and",
                "enum": [
                  "and"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListProjectTasksQueryFilter"
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "ListProjectsQuery": {
        "properties": {
          "with_task_ids": {
            "type": "boolean",
            "default": true
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListProjectsQueryFilter"
            }
          },
          "orders": {
            "type": "array",
            "items": {
              "discriminator": {
                "propertyName": "key"
              },
              "oneOf": [
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "project.name",
                      "enum": [
                        "project.name"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                },
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "project.date_range",
                      "enum": [
                        "project.date_range"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                },
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "project.client_name",
                      "enum": [
                        "project.client_name"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          }
        },
        "type": "object"
      },
      "ListProjectsQueryFilter": {
        "discriminator": {
          "propertyName": "key"
        },
        "oneOf": [
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "project.ids",
                "enum": [
                  "project.ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "project.external_id",
                "enum": [
                  "project.external_id"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "project.search",
                "enum": [
                  "project.search"
                ]
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "project.status",
                "enum": [
                  "project.status"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProjectStatus"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "project.access_rights",
                "enum": [
                  "project.access_rights"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/ProjectAccessRightsValue"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "project.date_range",
                "enum": [
                  "project.date_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateInterval"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "project.created_at",
                "enum": [
                  "project.created_at"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateTimeInterval"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "project.with_activities",
                "enum": [
                  "project.with_activities"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateInterval"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "project.resource_ids",
                "enum": [
                  "project.resource_ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "or",
                "enum": [
                  "or"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListProjectsQueryFilter"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "and",
                "enum": [
                  "and"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListProjectsQueryFilter"
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "ListResourcesQuery": {
        "required": [
          "kind_id"
        ],
        "properties": {
          "kind_id": {
            "$ref": "#/components/schemas/Snowflake",
            "description": "Only the \"employee\" kind is available at the moment."
          },
          "at_date": {
            "$ref": "#/components/schemas/LocalDate",
            "description": "If you do not specify a date, today's date will be used."
          },
          "attributes": {
            "description": "Several filters can be used to narrow down the search (except for activity rate). Correct filter types should be used based on the data type of the attribute. The 'api/directory/kinds.show' endpoint gives you information about attribute types and whether you can filter or order them.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "with_teams": {
            "description": "Will give additional information about the team they are assigned to at the date provided.",
            "type": "boolean",
            "default": false
          },
          "with_relations": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false
          },
          "with_total_count": {
            "type": "boolean",
            "default": false
          },
          "counting_mode": {
            "$ref": "#/components/schemas/ResourceCountingMode"
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListResourcesQueryFilter"
            }
          },
          "orders": {
            "type": "array",
            "items": {
              "discriminator": {
                "propertyName": "key"
              },
              "oneOf": [
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "resource.attribute",
                      "enum": [
                        "resource.attribute"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    },
                    "attribute": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "type": "object"
      },
      "ListResourcesQueryFilter": {
        "discriminator": {
          "propertyName": "key"
        },
        "oneOf": [
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.ids",
                "enum": [
                  "resource.ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a boolean attribute. The attribute identifier is given by `attribute_id`.",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.boolean",
                "enum": [
                  "resource.boolean"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/BooleanFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a choice attribute by selected option identifiers (multi-valued, OR semantics).",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.choice",
                "enum": [
                  "resource.choice"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/ChoiceFilterValue"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.date_range",
                "enum": [
                  "resource.date_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/DateRangeFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a decimal attribute. Supports comparison operators (eq, gt, gte, lt, lte, between).",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.decimal",
                "enum": [
                  "resource.decimal"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/DecimalFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a duration attribute (ISO 8601 duration). Supports comparison operators.",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.duration",
                "enum": [
                  "resource.duration"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/DurationFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on an integer attribute. Supports comparison operators (eq, gt, gte, lt, lte, between).",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.integer",
                "enum": [
                  "resource.integer"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/IntegerFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a month/day attribute by an inclusive [start, end] interval (year-agnostic).",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.month_day_range",
                "enum": [
                  "resource.month_day_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/MonthDayRangeFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter using the resolved regrouping (teams, main team, sources, date and pattern). Use this when you want to combine team-based scoping with a textual filter pattern.",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.regrouping",
                "enum": [
                  "resource.regrouping"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/ResolveRegrouping"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.fulltext",
                "enum": [
                  "resource.fulltext"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/FulltextFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a text attribute by exact or substring match (depending on operator).",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.text",
                "enum": [
                  "resource.text"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/TextFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Restrict resources by team membership and contract period. Use this filter to limit the search to currently employed people, or to a specific team and date range.",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.team",
                "enum": [
                  "resource.team"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/TeamFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a time-of-day attribute by an inclusive [start, end] interval.",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.time_range",
                "enum": [
                  "resource.time_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/TimeRangeFilterValue"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "or",
                "enum": [
                  "or"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListResourcesQueryFilter"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "and",
                "enum": [
                  "and"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListResourcesQueryFilter"
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "ListScheduleTemplateTypesQuery": {
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "team_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          }
        },
        "type": "object"
      },
      "ListScheduleTemplatesQuery": {
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "team_ids": {
            "description": "If used, it will limit the returned schedule template list to those that are associated with the given team ids (ignoring provided ids that are not).",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "is_on_call": {
            "type": "boolean"
          },
          "type_ids": {
            "description": "If used, it will limit the returned schedule template list to those that match one of the given schedule template type ids.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          }
        },
        "type": "object"
      },
      "ListSchedulesQuery": {
        "required": [
          "date_range"
        ],
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "resource_ids": {
            "description": "If used with `ids` filter, it will limit the returned schedules to those that are associated with the given resource ids (ignoring schedule ids that are not).",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          }
        },
        "type": "object"
      },
      "ListTagsQuery": {
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListTagsQueryFilter"
            }
          }
        },
        "type": "object"
      },
      "ListTagsQueryFilter": {
        "discriminator": {
          "propertyName": "key"
        },
        "oneOf": [
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "tag.ids",
                "enum": [
                  "tag.ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "description": "Case-insensitive substring match on the tag name (any locale).",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "tag.name",
                "enum": [
                  "tag.name"
                ]
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "tag.with_disabled",
                "enum": [
                  "tag.with_disabled"
                ]
              },
              "value": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "tag.date_created",
                "enum": [
                  "tag.date_created"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateTime"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "tag.date_updated",
                "enum": [
                  "tag.date_updated"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateTime"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "or",
                "enum": [
                  "or"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListTagsQueryFilter"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "and",
                "enum": [
                  "and"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListTagsQueryFilter"
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "ListTeamQuery": {
        "properties": {
          "team_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "with_ancestors": {
            "type": "boolean"
          },
          "with_disabled": {
            "type": "boolean"
          },
          "exclude_instance": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ListTimechecksQuery": {
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListTimechecksQueryFilter"
            }
          }
        },
        "type": "object"
      },
      "ListTimechecksQueryFilter": {
        "discriminator": {
          "propertyName": "key"
        },
        "oneOf": [
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "timecheck.ids",
                "enum": [
                  "timecheck.ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "timecheck.resources",
                "enum": [
                  "timecheck.resources"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "timecheck.date_range",
                "enum": [
                  "timecheck.date_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateInterval"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "timecheck.datetime_range",
                "enum": [
                  "timecheck.datetime_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateTimeInterval"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "timecheck.open",
                "enum": [
                  "timecheck.open"
                ]
              },
              "value": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "or",
                "enum": [
                  "or"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListTimechecksQueryFilter"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "and",
                "enum": [
                  "and"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListTimechecksQueryFilter"
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "ListWorkRegimesQuery": {
        "type": "object"
      },
      "LocalDate": {
        "type": "string",
        "format": "local-date",
        "example": "2019-11-11"
      },
      "LocalDateInterval": {
        "type": "string",
        "format": "local-date-interval",
        "example": "2019-11-11/2019-12-12"
      },
      "LocalDateTime": {
        "type": "string",
        "format": "local-date-time",
        "example": "2019-11-11T12:34:56"
      },
      "LocalDateTimeInterval": {
        "type": "string",
        "format": "local-date-time-interval",
        "example": "2019-11-11T12:34:56/2019-12-12T23:59:59"
      },
      "LocalTime": {
        "type": "string",
        "format": "local-time",
        "example": "12:34:56"
      },
      "LocalTimeInterval": {
        "type": "string",
        "format": "local-time-interval",
        "example": "12:34:56/PT2H"
      },
      "LockedTeamInfo": {
        "required": [
          "team_id",
          "locked_date"
        ],
        "properties": {
          "team_id": {
            "type": "integer"
          },
          "locked_date": {
            "$ref": "#/components/schemas/LocalDate"
          }
        },
        "type": "object"
      },
      "LogicalOperator": {
        "type": "string",
        "example": "or",
        "enum": [
          "or",
          "and"
        ]
      },
      "MaskedSectorDTO": {
        "required": [
          "sector_name",
          "date_start",
          "date_end"
        ],
        "properties": {
          "sector_name": {
            "type": "string"
          },
          "date_start": {
            "type": "string"
          },
          "date_end": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "MaskedSectorResponseBodyDTO": {
        "required": [
          "masked_sector"
        ],
        "properties": {
          "masked_sector": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MaskedSectorDTO"
            }
          }
        },
        "type": "object"
      },
      "MemberView": {
        "required": [
          "resources",
          "teams"
        ],
        "properties": {
          "resources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessView"
            }
          },
          "teams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessView"
            }
          }
        },
        "type": "object"
      },
      "MonthDayInterval": {
        "type": "string",
        "format": "local-month-day-interval",
        "example": "--11-11/--12-12"
      },
      "MonthDayRangeFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/IntervalOperator"
          },
          "value": {
            "$ref": "#/components/schemas/MonthDayInterval",
            "description": "Property can be omitted with 'none' operator. It is required for all other operators."
          }
        },
        "type": "object"
      },
      "NumericOperator": {
        "type": "string",
        "example": "equals",
        "enum": [
          "equals",
          "not_equals",
          "less_than",
          "less_than_or_equal",
          "greater_than",
          "greater_than_or_equal",
          "none"
        ]
      },
      "OnCallView": {
        "required": [
          "id",
          "resource_id",
          "team_id",
          "time_range",
          "schedule_template",
          "remark"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "team_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "time_range": {
            "$ref": "#/components/schemas/LocalDateTimeInterval"
          },
          "schedule_template": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScheduleTemplateSummary"
              },
              {
                "type": "null"
              }
            ]
          },
          "remark": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "OptionsView": {
        "required": [
          "employee_resident_ratio",
          "text_color",
          "special_time_range"
        ],
        "properties": {
          "employee_resident_ratio": {
            "type": "boolean"
          },
          "text_color": {
            "type": [
              "string",
              "null"
            ]
          },
          "special_time_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTimeInterval"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "OptionsView2": {
        "required": [
          "counts_in_balances",
          "timecheck_counted",
          "employee_resident_ratio",
          "auto_completable"
        ],
        "properties": {
          "counts_in_balances": {
            "type": "boolean"
          },
          "timecheck_counted": {
            "type": "boolean"
          },
          "employee_resident_ratio": {
            "type": "boolean"
          },
          "auto_completable": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "OverlappingSchedulesConflictResponseBodyDTO": {
        "required": [
          "conflicting_dates"
        ],
        "properties": {
          "conflicting_dates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OverlappingSchedulesConflictsDTO"
            }
          }
        },
        "type": "object"
      },
      "OverlappingSchedulesConflictsDTO": {
        "required": [
          "resource",
          "date"
        ],
        "properties": {
          "resource": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "date": {
            "$ref": "#/components/schemas/LocalDate"
          }
        },
        "type": "object"
      },
      "Pagination": {
        "required": [
          "limit",
          "next_token"
        ],
        "properties": {
          "limit": {
            "type": [
              "integer",
              "null"
            ]
          },
          "next_token": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ParameterType": {
        "type": "string",
        "example": "Resource",
        "enum": [
          "AbsenceType",
          "Compensation",
          "Resource",
          "ScheduleTemplate",
          "ScheduleTemplateType",
          "Tag",
          "TeamList",
          "Team"
        ]
      },
      "Percentage": {
        "type": "number",
        "format": "percentage",
        "example": 100
      },
      "PictureShape": {
        "type": "string",
        "example": "round",
        "enum": [
          "round",
          "rounded-square",
          "square"
        ]
      },
      "ProjectAccessRights": {
        "type": "string",
        "example": "manage-project",
        "enum": [
          "manage-project",
          "validate-hours",
          "contribute-hours",
          "consult-hours"
        ]
      },
      "ProjectAccessRightsValue": {
        "required": [
          "resource_id",
          "rights"
        ],
        "properties": {
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "rights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectAccessRights"
            }
          }
        },
        "type": "object"
      },
      "ProjectHourlyBudgetMode": {
        "type": "string",
        "example": "none",
        "enum": [
          "none",
          "project",
          "task"
        ]
      },
      "ProjectHourlyBudgetStatsView": {
        "required": [
          "project_id",
          "hourly_budget_mode",
          "hourly_budget",
          "total_effective_hours",
          "total_budget_hours",
          "hours_by_tasks"
        ],
        "properties": {
          "project_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "hourly_budget_mode": {
            "$ref": "#/components/schemas/ProjectHourlyBudgetMode"
          },
          "hourly_budget": {
            "$ref": "#/components/schemas/Duration"
          },
          "total_effective_hours": {
            "$ref": "#/components/schemas/Duration"
          },
          "total_budget_hours": {
            "$ref": "#/components/schemas/Duration"
          },
          "hours_by_tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TasksHoursStatsView"
            }
          }
        },
        "type": "object"
      },
      "ProjectListView": {
        "required": [
          "id",
          "resource_id",
          "name",
          "description",
          "external_id",
          "status",
          "date_range",
          "task_ids",
          "hourly_budget",
          "hourly_budget_mode",
          "created_at"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "external_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ProjectStatus"
          },
          "date_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateInterval"
              },
              {
                "type": "null"
              }
            ]
          },
          "task_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "hourly_budget": {
            "$ref": "#/components/schemas/Duration"
          },
          "hourly_budget_mode": {
            "$ref": "#/components/schemas/ProjectHourlyBudgetMode"
          },
          "created_at": {
            "$ref": "#/components/schemas/Instant"
          }
        },
        "type": "object"
      },
      "ProjectStatus": {
        "type": "string",
        "example": "draft",
        "enum": [
          "draft",
          "active",
          "locked",
          "archived"
        ]
      },
      "ProjectView": {
        "required": [
          "id",
          "resource_id",
          "name",
          "description",
          "external_id",
          "status",
          "date_range",
          "members",
          "task_ids",
          "hourly_budget",
          "hourly_budget_mode",
          "created_at"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "external_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ProjectStatus"
          },
          "date_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateInterval"
              },
              {
                "type": "null"
              }
            ]
          },
          "members": {
            "$ref": "#/components/schemas/MemberView"
          },
          "task_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "hourly_budget": {
            "$ref": "#/components/schemas/Duration"
          },
          "hourly_budget_mode": {
            "$ref": "#/components/schemas/ProjectHourlyBudgetMode"
          },
          "created_at": {
            "$ref": "#/components/schemas/Instant"
          }
        },
        "type": "object"
      },
      "ProposeTimecheckCommand": {
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "in": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "out": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "remark": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "QueryOrderDirection": {
        "type": "string",
        "example": "asc",
        "enum": [
          "asc",
          "desc"
        ]
      },
      "Redacted": {
        "required": [
          "redacted"
        ],
        "properties": {
          "redacted": {
            "type": "string",
            "example": "forbidden",
            "enum": [
              "forbidden",
              "confidential"
            ]
          }
        },
        "type": "object",
        "x-tipee-bindgen-redacted": true
      },
      "RegroupingSource": {
        "type": "string",
        "example": "resource",
        "enum": [
          "resource",
          "team"
        ]
      },
      "RejectCommand": {
        "required": [
          "date_range",
          "task_ids",
          "resource_ids"
        ],
        "properties": {
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "task_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "remark": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 255
          }
        },
        "type": "object"
      },
      "ResolveRegrouping": {
        "properties": {
          "teams": {
            "$ref": "#/components/schemas/TeamList"
          },
          "main_team": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "filter_pattern": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/ListOperator"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RegroupingSource"
            }
          }
        },
        "type": "object"
      },
      "ResourceCountingMode": {
        "type": "string",
        "example": "strict",
        "enum": [
          "strict",
          "approximate"
        ]
      },
      "ResourceDateRangeValue": {
        "required": [
          "resource_id",
          "date_range"
        ],
        "properties": {
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          }
        },
        "type": "object"
      },
      "ResourceListView": {
        "required": [
          "data",
          "next_token"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceView"
            }
          },
          "next_token": {
            "type": [
              "string",
              "null"
            ]
          },
          "total_count": {
            "description": "Total number of resources matching filters in the request; only present if parameter \"with_total_count\" is set to \"true\".",
            "type": "integer"
          },
          "total_count_approximate": {
            "description": "TRUE if the returned number of resources is exact, FALSE if it is only an approximation; only present if parameter \"with_total_count\" is set to \"true\".",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ResourcePictureView": {
        "required": [
          "shape",
          "initial",
          "url"
        ],
        "properties": {
          "shape": {
            "$ref": "#/components/schemas/PictureShape"
          },
          "initial": {
            "type": "string"
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResourceRelationSummaryView": {
        "required": [
          "relation_type_id",
          "related_to_id",
          "related_by_ids"
        ],
        "properties": {
          "relation_type_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "related_to_id": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          },
          "related_by_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          }
        },
        "type": "object"
      },
      "ResourceSecurity": {
        "properties": {
          "username": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "send_email": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ResourceSummaryView": {
        "required": [
          "id",
          "kind_id",
          "label",
          "short_label",
          "sort_label",
          "gender",
          "picture"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "kind_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "label": {
            "type": "string"
          },
          "short_label": {
            "type": "string"
          },
          "sort_label": {
            "type": "string"
          },
          "gender": {
            "$ref": "#/components/schemas/GrammaticalGender"
          },
          "picture": {
            "$ref": "#/components/schemas/ResourcePictureView"
          }
        },
        "type": "object"
      },
      "ResourceTeamAssignWarningDetails": {
        "required": [
          "modifications",
          "deletions"
        ],
        "properties": {
          "modifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceTeamWarningDetailsInfo"
            },
            "default": []
          },
          "deletions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceTeamWarningDetailsInfo"
            },
            "default": []
          }
        },
        "type": "object"
      },
      "ResourceTeamSummaryView": {
        "required": [
          "id",
          "head",
          "name"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "head": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResourceTeamUnassignWarningDetails": {
        "required": [
          "modifications",
          "deletions",
          "has_related_schedules",
          "has_related_on_calls",
          "has_locked_dates"
        ],
        "properties": {
          "modifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceTeamWarningDetailsInfo"
            },
            "default": []
          },
          "deletions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceTeamWarningDetailsInfo"
            },
            "default": []
          },
          "has_related_schedules": {
            "type": "boolean"
          },
          "has_related_on_calls": {
            "type": "boolean"
          },
          "has_locked_dates": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ResourceTeamView": {
        "required": [
          "team",
          "head",
          "date_range",
          "regrouping",
          "contract_number",
          "external_id"
        ],
        "properties": {
          "team": {
            "$ref": "#/components/schemas/TeamSummaryView"
          },
          "head": {
            "type": "boolean"
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "regrouping": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "contract_number": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "external_id": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "ResourceTeamWarningDetailsInfo": {
        "required": [
          "team_id",
          "date_range",
          "head"
        ],
        "properties": {
          "team_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "head": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ResourceTeamWarningType": {
        "type": "string",
        "example": "assign-conflicting-resource-teams",
        "enum": [
          "assign-conflicting-resource-teams",
          "unassign-remove-all-resource-teams",
          "unassign-conflicting-resource-teams"
        ]
      },
      "ResourceView": {
        "required": [
          "id",
          "kind_id",
          "label",
          "short_label",
          "sort_label",
          "picture",
          "attributes"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "kind_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "label": {
            "type": "string"
          },
          "short_label": {
            "type": "string"
          },
          "sort_label": {
            "type": "string"
          },
          "picture": {
            "$ref": "#/components/schemas/ResourcePictureView"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {}
          },
          "teams": {
            "description": "Only present if parameter \"with_teams\" is set to \"true\".",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceTeamSummaryView"
            }
          },
          "relations": {
            "description": "Only present if parameter \"with_relations\" is set to \"true\".",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceRelationSummaryView"
            }
          }
        },
        "type": "object"
      },
      "ScheduleAdjustment": {
        "required": [
          "value",
          "time"
        ],
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Duration"
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "ScheduleBreakTime": {
        "required": [
          "min_duration",
          "time_range"
        ],
        "properties": {
          "min_duration": {
            "$ref": "#/components/schemas/Duration"
          },
          "time_range": {
            "$ref": "#/components/schemas/LocalDateTimeInterval"
          }
        },
        "type": "object"
      },
      "ScheduleOptions": {
        "required": [
          "employee_resident_ratio",
          "text_color",
          "special_hour_range",
          "schedule_on_bank_holidays",
          "allow_partial"
        ],
        "properties": {
          "employee_resident_ratio": {
            "type": "boolean"
          },
          "text_color": {
            "type": [
              "string",
              "null"
            ]
          },
          "special_hour_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalTimeInterval"
              },
              {
                "type": "null"
              }
            ]
          },
          "schedule_on_bank_holidays": {
            "type": "boolean"
          },
          "allow_partial": {
            "type": "boolean",
            "default": false
          }
        },
        "type": "object"
      },
      "SchedulePaidBreakTime": {
        "required": [
          "max_duration",
          "time_range"
        ],
        "properties": {
          "max_duration": {
            "$ref": "#/components/schemas/Duration"
          },
          "time_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTimeInterval"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "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"
      },
      "ScheduleTemplatePaidBreakTime": {
        "required": [
          "max_duration",
          "hour_range"
        ],
        "properties": {
          "max_duration": {
            "$ref": "#/components/schemas/Duration"
          },
          "hour_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalTimeInterval"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "ScheduleTemplateSummary": {
        "required": [
          "id",
          "name",
          "description",
          "color"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "color": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ScheduleTemplateTypeDisplayMode": {
        "type": "string",
        "example": "normal",
        "enum": [
          "normal",
          "hour",
          "corner"
        ]
      },
      "ScheduleTemplateTypeView": {
        "required": [
          "id",
          "name",
          "machine_name",
          "display_mode",
          "is_on_call"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "machine_name": {
            "type": "string"
          },
          "display_mode": {
            "$ref": "#/components/schemas/ScheduleTemplateTypeDisplayMode"
          },
          "is_on_call": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ScheduleTemplateUpdateAdjustment": {
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Duration"
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalTime"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "ScheduleTemplateUpdateBreakTime": {
        "properties": {
          "min_duration": {
            "$ref": "#/components/schemas/Duration"
          },
          "hour_range": {
            "$ref": "#/components/schemas/LocalTimeInterval"
          }
        },
        "type": "object"
      },
      "ScheduleTemplateUpdateOptions": {
        "properties": {
          "counts_in_balances": {
            "type": "boolean"
          },
          "timecheck_counted": {
            "type": "boolean"
          },
          "employee_resident_ratio": {
            "type": "boolean"
          },
          "auto_completable": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ScheduleTemplateView": {
        "required": [
          "id",
          "name",
          "description",
          "team_id",
          "type",
          "color",
          "hour_ranges",
          "adjustment",
          "tag_ids",
          "break_time",
          "validity_date_range",
          "options"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "description": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TranslatedString"
              },
              {
                "type": "null"
              }
            ]
          },
          "team_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "type": {
            "$ref": "#/components/schemas/ScheduleTemplateTypeView"
          },
          "color": {
            "type": "string"
          },
          "hour_ranges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HourRange"
            }
          },
          "adjustment": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AdjustmentView"
              },
              {
                "type": "null"
              }
            ]
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "break_time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BreakTimeView"
              },
              {
                "type": "null"
              }
            ]
          },
          "validity_date_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateInterval"
              },
              {
                "type": "null"
              }
            ]
          },
          "options": {
            "$ref": "#/components/schemas/OptionsView2"
          }
        },
        "type": "object"
      },
      "ScheduleView": {
        "required": [
          "id",
          "resource_id",
          "team_id",
          "time_ranges",
          "schedule_template",
          "remark",
          "modified",
          "adjustment",
          "break_time",
          "options"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "team_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "time_ranges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeRange"
            }
          },
          "schedule_template": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScheduleTemplateSummary"
              },
              {
                "type": "null"
              }
            ]
          },
          "remark": {
            "type": "string"
          },
          "modified": {
            "type": "boolean"
          },
          "adjustment": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScheduleAdjustment"
              },
              {
                "type": "null"
              }
            ]
          },
          "break_time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScheduleBreakTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "options": {
            "$ref": "#/components/schemas/OptionsView"
          }
        },
        "type": "object"
      },
      "ShowActivitiesTotalsQuery": {
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShowActivitiesTotalsQueryFilter"
            }
          }
        },
        "type": "object"
      },
      "ShowActivitiesTotalsQueryFilter": {
        "discriminator": {
          "propertyName": "key"
        },
        "oneOf": [
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.date_range",
                "enum": [
                  "activity.date_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateInterval"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.tags_ids",
                "enum": [
                  "activity.tags_ids"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/TagsFilterValue"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.projects_ids",
                "enum": [
                  "activity.projects_ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.project_name",
                "enum": [
                  "activity.project_name"
                ]
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.tasks_ids",
                "enum": [
                  "activity.tasks_ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.task_name",
                "enum": [
                  "activity.task_name"
                ]
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.billable",
                "enum": [
                  "activity.billable"
                ]
              },
              "value": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.projects_resources",
                "enum": [
                  "activity.projects_resources"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Snowflake"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.day_task_status",
                "enum": [
                  "activity.day_task_status"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DayTaskStatus"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.resources",
                "enum": [
                  "activity.resources"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.has_remark",
                "enum": [
                  "activity.has_remark"
                ]
              },
              "value": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "activity.has_budget",
                "enum": [
                  "activity.has_budget"
                ]
              },
              "value": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "or",
                "enum": [
                  "or"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShowActivitiesTotalsQueryFilter"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "and",
                "enum": [
                  "and"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShowActivitiesTotalsQueryFilter"
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "ShowKindQuery": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          }
        },
        "type": "object"
      },
      "ShowProjectQuery": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          }
        },
        "type": "object"
      },
      "ShowResourceActivityRatesQuery": {
        "required": [
          "resource_id"
        ],
        "properties": {
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          }
        },
        "type": "object"
      },
      "ShowResourceTeamsQuery": {
        "required": [
          "resource_id"
        ],
        "properties": {
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "team_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "head": {
            "type": "boolean"
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          }
        },
        "type": "object"
      },
      "ShowTeamQuery": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          }
        },
        "type": "object"
      },
      "Snowflake": {
        "type": "string",
        "format": "snowflake",
        "example": "872815618512410358"
      },
      "StringOperator": {
        "type": "string",
        "example": "equals",
        "enum": [
          "equals",
          "not_equals",
          "contains",
          "not_contains",
          "starts_with",
          "ends_with",
          "none"
        ]
      },
      "SubmitCommand": {
        "required": [
          "date_range",
          "task_ids",
          "resource_ids"
        ],
        "properties": {
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "task_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "remark": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 255
          }
        },
        "type": "object"
      },
      "SubmitCorrectionCommand": {
        "required": [
          "date_range",
          "task_ids",
          "resource_ids"
        ],
        "properties": {
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "task_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "remark": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 255
          }
        },
        "type": "object"
      },
      "SubmitForContributorCommand": {
        "required": [
          "date_range",
          "task_ids",
          "resource_ids"
        ],
        "properties": {
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "task_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "remark": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 255
          }
        },
        "type": "object"
      },
      "TagSummaryView": {
        "required": [
          "id",
          "name",
          "enabled",
          "icon"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean",
            "default": false
          },
          "icon": {
            "type": "string",
            "default": "tag"
          }
        },
        "type": "object"
      },
      "TagView": {
        "required": [
          "id",
          "name",
          "external_id",
          "enabled",
          "icon"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          },
          "external_id": {
            "type": [
              "string",
              "null"
            ],
            "default": null
          },
          "enabled": {
            "type": "boolean",
            "default": false
          },
          "icon": {
            "type": "string",
            "default": "tag"
          }
        },
        "type": "object"
      },
      "TagsFilterValue": {
        "required": [
          "tags",
          "operator"
        ],
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Snowflake"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "operator": {
            "$ref": "#/components/schemas/LogicalOperator"
          }
        },
        "type": "object"
      },
      "TaskSummaryView": {
        "required": [
          "id",
          "project_id",
          "name",
          "color",
          "billable",
          "remark_required"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "project_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "billable": {
            "type": "boolean"
          },
          "remark_required": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "TaskTagsFilterValue": {
        "required": [
          "tags",
          "operator"
        ],
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "operator": {
            "$ref": "#/components/schemas/LogicalOperator"
          }
        },
        "type": "object"
      },
      "TaskView": {
        "required": [
          "id",
          "project_id",
          "tag_ids",
          "name",
          "color",
          "billable",
          "remark_required",
          "hourly_budget",
          "resource_ids"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "project_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "name": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "billable": {
            "type": "boolean"
          },
          "remark_required": {
            "type": "boolean"
          },
          "hourly_budget": {
            "$ref": "#/components/schemas/Duration"
          },
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          }
        },
        "type": "object"
      },
      "TasksHoursStatsView": {
        "required": [
          "task_id",
          "effective_hours",
          "budget_hours"
        ],
        "properties": {
          "task_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "effective_hours": {
            "$ref": "#/components/schemas/Duration"
          },
          "budget_hours": {
            "$ref": "#/components/schemas/Duration"
          }
        },
        "type": "object"
      },
      "TeamFilterPeriod": {
        "required": [
          "operator"
        ],
        "properties": {
          "operator": {
            "$ref": "#/components/schemas/TeamPeriodOperator"
          },
          "date_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateInterval"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "TeamFilterValue": {
        "properties": {
          "teams": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TeamList"
              },
              {
                "type": "null"
              }
            ]
          },
          "period": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TeamFilterPeriod"
              },
              {
                "type": "null"
              }
            ]
          },
          "recursive": {
            "type": "boolean",
            "default": false
          },
          "head": {
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "TeamList": {
        "oneOf": [
          {
            "description": "Refers to all teams",
            "type": "string",
            "example": "*",
            "enum": [
              "*"
            ]
          },
          {
            "description": "Refers to a list of teams",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            },
            "example": [
              "903956503593387633",
              "903956503593534034"
            ]
          }
        ]
      },
      "TeamPeriodOperator": {
        "type": "string",
        "example": "first_starts_in",
        "enum": [
          "first_starts_in",
          "starts_in",
          "intersects_with",
          "ends_in",
          "last_ends_in",
          "none"
        ]
      },
      "TeamShowView": {
        "required": [
          "id",
          "name",
          "short_name",
          "parent",
          "children",
          "enabled",
          "external_id",
          "color"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          },
          "short_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "parent": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TeamSummary"
              },
              {
                "type": "null"
              }
            ]
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TeamSummary"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "external_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "color": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "TeamSummary": {
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "TeamSummaryView": {
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "TeamView": {
        "required": [
          "id",
          "parent_id",
          "name",
          "short_name",
          "color"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "parent_id": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "short_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "color": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "TextFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/StringOperator"
          },
          "value": {
            "description": "Property can be omitted with 'none' operator. It is required for all other operators.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TimeRange": {
        "required": [
          "time_range",
          "auto_correct",
          "paid_break"
        ],
        "properties": {
          "time_range": {
            "$ref": "#/components/schemas/LocalDateTimeInterval"
          },
          "auto_correct": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Autocorrect"
              },
              {
                "type": "null"
              }
            ]
          },
          "paid_break": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/SchedulePaidBreakTime"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "TimeRangeFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DateTimeOperator"
              },
              {
                "$ref": "#/components/schemas/IntervalOperator"
              }
            ]
          },
          "value": {
            "$ref": "#/components/schemas/LocalDateTimeInterval",
            "description": "Property can be omitted with 'none' operator. It is required for all other operators."
          }
        },
        "type": "object"
      },
      "TimecheckDeviceView": {
        "required": [
          "in",
          "out"
        ],
        "properties": {
          "in": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DeviceClockView"
              },
              {
                "type": "null"
              }
            ]
          },
          "out": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DeviceClockView"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "TimecheckTagView": {
        "required": [
          "id",
          "added_at",
          "added_by_id",
          "removed_at",
          "removed_by_id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "added_at": {
            "$ref": "#/components/schemas/LocalDateTime"
          },
          "added_by_id": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          },
          "removed_at": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "removed_by_id": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "TimecheckTimeView": {
        "required": [
          "resource_id",
          "in",
          "out",
          "received_at",
          "comment"
        ],
        "properties": {
          "resource_id": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          },
          "in": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "out": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "received_at": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Instant"
              },
              {
                "type": "null"
              }
            ]
          },
          "comment": {
            "type": [
              "string",
              "null"
            ],
            "default": null
          }
        },
        "type": "object"
      },
      "TimecheckType": {
        "type": "string",
        "example": "device",
        "enum": [
          "device",
          "adjusted",
          "proposal",
          "validation"
        ]
      },
      "TimecheckView": {
        "required": [
          "id",
          "resource_id",
          "duration",
          "time_range",
          "expected_time_range",
          "type",
          "color",
          "device",
          "proposal",
          "validation",
          "is_adjusted",
          "matched_schedule_ids",
          "tags_comment",
          "tags"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "duration": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Duration"
              },
              {
                "type": "null"
              }
            ]
          },
          "time_range": {
            "$ref": "#/components/schemas/LocalDateTimeInterval"
          },
          "expected_time_range": {
            "$ref": "#/components/schemas/LocalDateTimeInterval"
          },
          "type": {
            "$ref": "#/components/schemas/TimecheckType"
          },
          "color": {
            "type": "string"
          },
          "device": {
            "$ref": "#/components/schemas/TimecheckDeviceView"
          },
          "proposal": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TimecheckTimeView"
              },
              {
                "type": "null"
              }
            ]
          },
          "validation": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TimecheckTimeView"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_adjusted": {
            "type": "boolean"
          },
          "matched_schedule_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "tags_comment": {
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimecheckTagView"
            }
          }
        },
        "type": "object"
      },
      "TranslatedString": {
        "properties": {
          "fr": {
            "type": "string"
          },
          "en": {
            "type": "string"
          },
          "de": {
            "type": "string"
          }
        },
        "type": "object",
        "example": {
          "en": "Hello",
          "fr": "Bonjour",
          "de": "Guten Tag"
        }
      },
      "UnassignResourceActivityRateCommand": {
        "required": [
          "resource_id",
          "date_range"
        ],
        "properties": {
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          }
        },
        "type": "object"
      },
      "UnassignResourceTeamsCommand": {
        "required": [
          "resource_id",
          "date_range"
        ],
        "properties": {
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "team_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "head": {
            "type": "boolean"
          },
          "warning_aware": {
            "description": "Unassigning resource to a team will be done only if you provide 'warning_aware: true'.",
            "type": "boolean",
            "default": false
          }
        },
        "type": "object"
      },
      "UpdateAbsenceCommand": {
        "required": [
          "id",
          "options"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "absence_type_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "percentage": {
            "$ref": "#/components/schemas/Percentage"
          },
          "time_ranges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocalTimeInterval"
            }
          },
          "options": {
            "$ref": "#/components/schemas/UpdateOptions"
          },
          "repetition_id": {
            "type": [
              "integer",
              "null"
            ]
          },
          "remark": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "UpdateAbsenceResult": {
        "description": "Result of updating absence(s).",
        "required": [
          "updated_count",
          "updated",
          "failed_count",
          "failed"
        ],
        "properties": {
          "updated_count": {
            "type": "integer"
          },
          "updated": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "failed_count": {
            "type": "integer"
          },
          "failed": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "type": "object"
      },
      "UpdateActivityCommand": {
        "required": [
          "id",
          "type"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "type": {
            "$ref": "#/components/schemas/ActivityType",
            "description": "Activity type. Determines validation rules for other fields."
          },
          "task_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "billable": {
            "type": "boolean"
          },
          "date": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDate"
              },
              {
                "type": "null"
              }
            ]
          },
          "duration": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Duration",
                "description": "Can be provided only for `duration` activity type and must be ≤ 24h."
              },
              {
                "type": "null"
              }
            ],
            "description": "Can be provided only for `duration` activity type and must be ≤ 24h."
          },
          "remark": {
            "type": [
              "string",
              "null"
            ]
          },
          "start": {
            "$ref": "#/components/schemas/LocalDateTime",
            "description": "Can be provided only for `range`."
          },
          "end": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime",
                "description": "Can be provided only for `range` activity type. Set to `null` to leave the activity open."
              },
              {
                "type": "null"
              }
            ],
            "description": "Can be provided only for `range` activity type. Set to `null` to leave the activity open."
          }
        },
        "type": "object"
      },
      "UpdateOptions": {
        "required": [
          "group_action"
        ],
        "properties": {
          "group_action": {
            "$ref": "#/components/schemas/GroupAction"
          },
          "allow_partial": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "UpdateProjectCommand": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "external_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "resource_id": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          },
          "date_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateInterval"
              },
              {
                "type": "null"
              }
            ]
          },
          "hourly_budget_mode": {
            "$ref": "#/components/schemas/ProjectHourlyBudgetMode"
          },
          "hourly_budget": {
            "$ref": "#/components/schemas/Duration"
          }
        },
        "type": "object"
      },
      "UpdateProjectStatusCommand": {
        "required": [
          "id",
          "status"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "status": {
            "$ref": "#/components/schemas/ProjectStatus"
          }
        },
        "type": "object"
      },
      "UpdateProjectTaskCommand": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "billable": {
            "type": "boolean"
          },
          "remark_required": {
            "type": "boolean"
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "hourly_budget": {
            "$ref": "#/components/schemas/Duration"
          }
        },
        "type": "object"
      },
      "UpdateResourceCommand": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {}
          },
          "relations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateResourceCommandRelation"
            }
          }
        },
        "type": "object"
      },
      "UpdateResourceCommandRelation": {
        "required": [
          "relation_type_id"
        ],
        "properties": {
          "relation_type_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "related_id": {
            "description": "Null means \"remove the relation for that relation type\"",
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "UpdateScheduleCommand": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "schedule_template_id": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          },
          "team_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "when": {
            "description": "A single date (YYYY-MM-DD), a date interval (YYYY-MM-DD/YYYY-MM-DD), or an [RRULE](https://www.rfc-editor.org/rfc/rfc5545.html#section-3.3.10) string. When using a date interval or RRULE, options.schedule_on_bank_holidays is required.",
            "type": "string",
            "example": "RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR;DTSTART=20260101T120000;UNTIL=20260105T120000"
          },
          "hour_ranges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HourRange"
            }
          },
          "adjustment": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScheduleTemplateUpdateAdjustment"
              },
              {
                "type": "null"
              }
            ]
          },
          "break_time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScheduleTemplateUpdateBreakTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "remark": {
            "type": [
              "string",
              "null"
            ]
          },
          "options": {
            "$ref": "#/components/schemas/ScheduleOptions"
          }
        },
        "type": "object"
      },
      "UpdateScheduleTemplateCommand": {
        "required": [
          "id"
        ],
        "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"
              },
              {
                "type": "null"
              }
            ]
          },
          "color": {
            "type": "string"
          },
          "hour_ranges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HourRange"
            }
          },
          "validity_date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "adjustment": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScheduleTemplateUpdateAdjustment"
              },
              {
                "type": "null"
              }
            ]
          },
          "break_time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScheduleTemplateUpdateBreakTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "options": {
            "$ref": "#/components/schemas/ScheduleTemplateUpdateOptions"
          },
          "force_update": {
            "type": "boolean",
            "default": false
          }
        },
        "type": "object"
      },
      "UpdateTeamCommand": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          },
          "short_name": {
            "description": "Can be provided only for sectors",
            "type": "string"
          },
          "color": {
            "description": "Can be provided only for sectors",
            "type": "string"
          },
          "external_id": {
            "description": "Can be provided only for sectors and sites",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ValidateCommand": {
        "required": [
          "date_range",
          "task_ids",
          "resource_ids"
        ],
        "properties": {
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "task_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "resource_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "remark": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 255
          }
        },
        "type": "object"
      },
      "ValidateTimecheckCommand": {
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "in": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "out": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "remark": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "WorkRegimeSummaryView": {
        "required": [
          "id",
          "label",
          "weekly_worked_hours",
          "weekly_worked_days"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "label": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "weekly_worked_hours": {
            "$ref": "#/components/schemas/Duration"
          },
          "weekly_worked_days": {
            "type": "number",
            "format": "float"
          }
        },
        "type": "object"
      },
      "WorkRegimeView": {
        "required": [
          "id",
          "label",
          "formatted_label",
          "weekly_worked_hours",
          "weekly_worked_days",
          "enabled"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "label": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "formatted_label": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "weekly_worked_hours": {
            "$ref": "#/components/schemas/Duration"
          },
          "weekly_worked_days": {
            "type": "number",
            "format": "float"
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "WorkRegimesView": {
        "required": [
          "work_regimes"
        ],
        "properties": {
          "work_regimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkRegimeView"
            }
          }
        },
        "type": "object"
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ],
  "tags": [
    {
      "name": "Activity",
      "description": "Activity"
    },
    {
      "name": "Balances",
      "description": "Balances"
    },
    {
      "name": "Directory",
      "description": "Directory"
    },
    {
      "name": "Schedule",
      "description": "Schedule"
    },
    {
      "name": "Timeclock",
      "description": "Timeclock"
    }
  ]
}