"""Request Body Schemas for API Tools

DO NOT EDIT THIS MODULE DIRECTLY.

THIS MODULE WAS AUTO-GENERATED AND CONTAINS OpenAPI REQUEST BODY SCHEMAS
FOR TOOLS WITH COMPLEX REQUEST BODIES. ANY CHANGES TO THIS MODULE WILL
BE OVERWRITTEN BY THE TRANSPILER.
"""

from typing import Any

REQUEST_BODY_SCHEMAS: dict[str, Any] = {
    "CREATEEVENTTYPE": '{"type": "object", "required": ["owner", "name"], "properties": {"active": {"type": "boolean", "description": "Indicates if the event type is active or not", "default": false}, "owner": {"type": "string", "description": "The owner for this event type", "format": "uri", "example": "https://api.calendly.com/users/AAAAAAAAAAAAAAAA"}, "name": {"type": "string", "description": "The event type name", "example": "15 Minute Meeting"}, "description": {"type": "string", "description": "The event type description", "example": "15 Minute Meeting"}, "duration": {"type": "integer", "description": "The length of sessions booked with this event type. Must be one of the duration options if they\'re provided.", "example": 15, "minimum": 1, "maximum": 720}, "duration_options": {"type": "array", "example": [1, 13, 15, 720], "description": "A maximum of 4 unique options is allowed. Each option must be >= 1 and <= 720.", "items": {"type": "integer"}}, "locations": {"type": "array", "description": "Configuration information for each possible location for this event type", "items": {"title": "LocationConfiguration", "x-stoplight": {"id": "7vwr4rsld2j8d"}, "x-tags": ["Event Types"], "type": "object", "description": "A configuration for an EventType\'s location", "x-examples": {"example-1": {"kind": "zoom_conference"}}, "x-internal": false, "nullable": true, "properties": {"kind": {"type": "string", "enum": ["ask_invitee", "custom", "google_conference", "gotomeeting_conference", "inbound_call", "microsoft_teams_conference", "outbound_call", "physical", "webex_conference", "zoom_conference"]}, "location": {"type": "string"}, "additional_info": {"type": "string"}, "phone_number": {"type": "string"}}}}, "color": {"type": "string", "x-stoplight": {"id": "lu1stb7rwvql4"}, "description": "The hexadecimal color value of the event type\'s scheduling page", "pattern": "^#[a-f\\d]{6}$", "example": "#fff200"}, "locale": {"type": "string", "x-stoplight": {"id": "mzonzpruv2cad"}, "enum": ["de", "en", "es", "fr", "it", "nl", "pt", "uk"], "example": "de", "description": "The locale on the event type, used to determine the language of the event type\'s scheduling page"}}}',  # noqa: E501
    "CREATEEVENTINVITEE": '{"type": "object", "required": ["event_type", "start_time", "invitee"], "properties": {"event_type": {"type": "string", "x-stoplight": {"id": "a7jkew1bxxq4j"}, "format": "uri", "description": "Canonical reference (unique identifier) for the event type being scheduled ", "example": "https://api.calendly.com/event_types/AAAAAAAAAAAAAAAA"}, "start_time": {"type": "string", "x-stoplight": {"id": "esu3e9ko2ic4f"}, "format": "date-time", "description": "The start time in UTC of the scheduled event", "example": "2019-08-07T06:05:04.321123Z"}, "invitee": {"x-stoplight": {"id": "33r4biixcw7aa"}, "type": "object", "required": ["email", "timezone"], "properties": {"name": {"type": "string", "x-stoplight": {"id": "0fmuo5ttqa3ys"}, "description": "The full name of the invitee. **Required if** `first_name` **is not provided**", "example": "John Smith"}, "first_name": {"type": "string", "x-stoplight": {"id": "mtx5mufknvhuj"}, "description": "The first name of the invitee. **Required if** `name` **is not provided**", "example": "John"}, "last_name": {"type": "string", "x-stoplight": {"id": "r96jzm1mdj3fv"}, "description": "The last name of the invitee", "example": "Smith"}, "email": {"type": "string", "x-stoplight": {"id": "2nkp8zp5zotz0"}, "description": "The email of the invitee", "example": "test@example.com"}, "timezone": {"type": "string", "x-stoplight": {"id": "gsxlntypi4xwm"}, "description": "The timezone of the invitee", "example": "America/New_York"}, "text_reminder_number": {"type": "string", "x-stoplight": {"id": "up34qo0c1sxon"}, "description": "Invitee\'s phone number for SMS reminders. Must be a valid phone number (e.g. +14155551234)", "example": "+1 888-888-8888"}}}, "location": {"$ref": "./models/InviteeLocation.yaml"}, "questions_and_answers": {"type": "array", "items": {"$ref": "./models/InviteeQuestionAndAnswer.yaml"}}, "tracking": {"$ref": "./models/InviteeTracking.yaml"}, "event_guests": {"type": "array", "x-stoplight": {"id": "ws09zf1b2zd2i"}, "description": "Emails of invitee guests. Max 10.", "maxItems": 10, "items": {"x-stoplight": {"id": "fy506ehfvcubw"}, "type": "string", "format": "email", "example": "janedoe@calendly.com"}}}}',  # noqa: E501
    "UPDATEEVENTTYPE": '{"type": "object", "properties": {"active": {"type": "boolean", "description": "Indicates if the event type is active or not"}, "name": {"type": "string", "description": "The event type name", "example": "15 Minute Meeting"}, "color": {"description": "The hexadecimal color value of the event type\'s scheduling page", "type": "string", "pattern": "^#[a-f\\d]{6}$", "example": "#fff200"}, "description": {"type": "string", "description": "The event type description", "example": "15 Minute Meeting"}, "duration": {"type": "integer", "description": "The length of sessions booked with this event type. Must be one of the duration options if they\'re provided.", "example": 15, "minimum": 1, "maximum": 720}, "duration_options": {"type": "array", "items": {"type": "integer"}, "example": [1, 13, 15, 720], "description": "A maximum of 4 unique options is allowed. Each option must be >= 1 and <= 720."}, "locale": {"type": "string", "enum": ["de", "en", "es", "fr", "it", "nl", "pt", "uk"], "example": "de", "description": "The locale on the event type, used to determine the language of the event type\'s scheduling page"}, "locations": {"type": "array", "description": "Configuration information for each possible location for this Event Type", "items": {"title": "LocationConfiguration", "x-stoplight": {"id": "7vwr4rsld2j8d"}, "x-tags": ["Event Types"], "type": "object", "description": "A configuration for an EventType\'s location", "x-examples": {"example-1": {"kind": "zoom_conference"}}, "x-internal": false, "nullable": true, "properties": {"kind": {"type": "string", "enum": ["ask_invitee", "custom", "google_conference", "gotomeeting_conference", "inbound_call", "microsoft_teams_conference", "outbound_call", "physical", "webex_conference", "zoom_conference"]}, "location": {"type": "string"}, "additional_info": {"type": "string"}, "phone_number": {"type": "string"}}}}}}',  # noqa: E501
    "CREATECUSTOMSHARELINK": '{"type": "object", "properties": {"event_type": {"type": "string", "format": "uri", "example": "https://api.calendly.com/event_types/AAAAAAAAAAAAAAAA"}, "name": {"type": "string", "maxLength": 55, "example": "15 Minute Meeting"}, "duration": {"type": "integer", "minimum": 1, "maximum": 720, "example": 15, "description": "Must be one of the provided duration options. If duration options aren\'t provided then duration must be one of the duration options inherited from the event type."}, "duration_options": {"type": "array", "items": {"type": "integer"}, "example": [1, 13, 15, 720], "description": "A maximum of 4 unique options is allowed. Each option must be >= 1 and <= 720."}, "period_type": {"type": "string", "enum": ["available_moving", "moving", "fixed", "unlimited"], "example": "fixed"}, "start_date": {"type": "string", "format": "date", "example": "2019-01-02", "description": "is required when `period_type` is \'fixed\'\nFormat: `YYYY-MM-DD`"}, "end_date": {"type": "string", "format": "date", "example": "2019-01-03", "description": "is required when `period_type` is \'fixed\'\nFormat: `YYYY-MM-DD`"}, "max_booking_time": {"type": "integer", "example": 300, "description": "is required when `period_type` is \'moving\' or \'available_moving\'"}, "hide_location": {"type": "boolean", "description": "determines if a location is hidden until invitee books a spot, only respected when there is a single custom location configured"}, "location_configurations": {"type": "array", "items": {"type": "object", "properties": {"location": {"type": "string", "maxLength": 255, "example": "123 Abc St.", "description": "is only supported when `kind` is \'physical\', \'custom\' or \'ask_invitee\'"}, "additional_info": {"type": "string", "maxLength": 255, "example": "Example additional information", "description": "is only supported when `kind` is \'physical\' or \'inbound_call\' "}, "phone_number": {"type": "string", "example": "+1 888-888-8888", "description": "is required when `kind` is \'inbound_call\'"}, "position": {"type": "integer", "example": 0}, "kind": {"type": "string", "enum": ["physical", "ask_invitee", "custom", "outbound_call", "inbound_call", "google_conference", "gotomeeting_conference", "microsoft_teams_conference", "webex_conference", "zoom_conference"], "example": "physical"}}}}, "availability_rule": {"type": "object", "properties": {"rules": {"type": "array", "description": "are required when an availability rule is provided", "items": {"type": "object", "properties": {"type": {"type": "string", "enum": ["wday", "date"], "example": "wday"}, "wday": {"type": "string", "enum": ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"], "example": "friday", "description": "is required when `type` is \'wday\'"}, "date": {"type": "string", "format": "date", "example": "2019-01-02", "description": "is required when `type` is \'date\'\nFormat: `YYYY-MM-DD`"}, "intervals": {"type": "array", "items": {"type": "object", "properties": {"from": {"type": "string", "pattern": "(\\d\\d):(\\d\\d)", "example": "07:00", "description": "Format: `"hh:mm"`"}, "to": {"type": "string", "example": "11:00", "description": "Format: `"hh:mm"`", "pattern": "(\\d\\d):(\\d\\d)"}}}}}}}, "timezone": {"type": "string", "example": "America/New_York", "description": "is required when an availability rule is provided"}}}}, "required": ["event_type"]}',  # noqa: E501
    "CREATEONEOFFEVENT": '{"type": "object", "properties": {"name": {"type": "string", "x-stoplight": {"id": "0tj6bpbhb3zax"}, "description": "Event type name", "example": "My Meeting", "maxLength": 55}, "host": {"type": "string", "x-stoplight": {"id": "g80s05pbxm7bq"}, "description": "Host user uri", "example": "https://api.calendly.com/users/AAAAAAAAAAAAAAAA", "format": "uri"}, "co_hosts": {"type": "array", "x-stoplight": {"id": "smhocxmji8deh"}, "maxItems": 9, "description": "Collection of meeting co-host(s) user URIs", "items": {"x-stoplight": {"id": "0nqgfaej6nlv1"}, "type": "string", "format": "uri"}}, "duration": {"type": "number", "x-stoplight": {"id": "r2qqy76sh5ikv"}, "maximum": 720, "description": "Duration of meeting in minutes"}, "timezone": {"type": "string", "x-stoplight": {"id": "hsu3tz8o7ykos"}, "description": "Time zone used for meeting. Defaults to host\'s time zone.", "example": "America/New_York"}, "date_setting": {"x-stoplight": {"id": "hskuoq7f14ynp"}, "oneOf": [{"$ref": "./models/date_setting/DateRange.yaml"}, {"$ref": "./models/date_setting/DaysInFuture.yaml"}, {"$ref": "./models/date_setting/Spots.yaml"}]}, "location": {"oneOf": [{"$ref": "./models/adhoc-locations/CustomLocation.yaml"}, {"$ref": "./models/adhoc-locations/GoogleConference.yaml"}, {"$ref": "./models/adhoc-locations/GotoMeetingConference.yaml"}, {"$ref": "./models/adhoc-locations/InPersonMeeting.yaml"}, {"$ref": "./models/adhoc-locations/InboundCall.yaml"}, {"$ref": "./models/adhoc-locations/InviteeSpecifiedLocation.yaml"}, {"$ref": "./models/adhoc-locations/MicrosoftTeamsConference.yaml"}, {"$ref": "./models/adhoc-locations/OutboundCall.yaml"}, {"$ref": "./models/adhoc-locations/WebExConference.yaml"}, {"$ref": "./models/adhoc-locations/ZoomConference.yaml"}]}}, "required": ["name", "host", "duration", "date_setting"]}',  # noqa: E501
    "UPDATEEVENTAVAILABILITY": '{"type": "object", "required": ["availability_rule"], "properties": {"availability_rule": {"type": "object", "x-stoplight": {"id": "1k57u40qbjcoe"}, "required": ["timezone"], "properties": {"timezone": {"type": "string", "x-stoplight": {"id": "t7ppm5kfbx3t3"}, "description": "The timezone for which this Event Type Availability Schedule is originated in."}, "rules": {"type": "array", "description": "The rules for an availability schedule.<br>  <span style="color:red">Warning: </span>Updating rules will overwrite all existing rules for the event type. Use the GET endpoint to first retrieve the existing rules and then pass the modified rules to the rules object.", "x-stoplight": {"id": "08tupds2jfoeg"}, "items": {"title": "Availability Rule", "x-stoplight": {"id": "a1hurebl7s3c6"}, "type": "object", "x-examples": {"wday": {"type": "wday", "intervals": [{"from": "08:30", "to": "09:30"}], "wday": "sunday"}, "date": {"type": "date", "intervals": [{"from": "08:30", "to": "09:30"}], "date": "2028-12-31"}}, "x-internal": false, "description": "The rules for an availability schedule.", "x-tags": ["Availability"], "required": ["type", "intervals"], "properties": {"type": {"type": "string", "enum": ["wday", "date"], "example": "wday", "description": "The type of this Availability Rule; can be "wday" or a specific "date"."}, "intervals": {"type": "array", "description": "The intervals to be applied to this Rule. Each interval represents when booking a meeting is allowed. If the interval array is empty, then there is no booking availability for that day. Time is in 24h format (i.e. "17:30") and local to the timezone in the Availability Schedule.", "items": {"type": "object", "properties": {"from": {"type": "string", "description": "Format: `"hh:mm"`", "pattern": "(\\d\\d):(\\d\\d)", "example": "08:30"}, "to": {"type": "string", "description": "Format: `"hh:mm"`", "pattern": "(\\d\\d):(\\d\\d)", "example": "09:30"}}}}, "wday": {"type": "string", "enum": ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"], "description": "The day of the week for which this Rule should be applied to."}, "date": {"type": "string", "example": "2022-12-31", "pattern": "^\\d{4}\\-(0?[1-9]|1[012])\\-(0?[1-9]|[12][0-9]|3[01])$", "description": "A specific date in the future that this should be applied to (i.e. "2030-12-31")."}}}}, "user": {"type": "string", "x-stoplight": {"id": "mpkhqhn87jrdb"}, "format": "uri", "example": "https://api.calendly.com/users/abc123", "description": "Required when an admin or org owner is making the call to update a specific users availability schedule"}}}, "availability_setting": {"x-stoplight": {"id": "7v3rsooj36r04"}, "enum": ["host"], "default": "host", "description": "By default every host on the Event Type shares an identical schedule.\n"}}}',  # noqa: E501
}
