{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/42min-us/json-schema/42min-us-event-type-detail-schema.json",
  "title": "EventTypeDetail",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/42min-us-api-openapi.yml#/components/schemas/EventTypeDetail",
  "allOf": [
    {
      "$ref": "#/$defs/EventType"
    },
    {
      "type": "object",
      "properties": {
        "locations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "value": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        },
        "questions": {
          "type": "array",
          "description": "Invitee form questions, in display order.",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "required": {
                "type": "boolean"
              }
            }
          }
        },
        "max_bookings_per_day": {
          "type": [
            "integer",
            "null"
          ]
        },
        "max_bookings_per_week": {
          "type": [
            "integer",
            "null"
          ]
        },
        "max_bookings_per_month": {
          "type": [
            "integer",
            "null"
          ]
        },
        "requires_confirmation": {
          "type": "boolean",
          "description": "True when an approval rule is active on this event type's public booking page:\na booking made there may become a request that the host approves or declines\nbefore it is confirmed. A given booking may still be confirmed at once, and\nbookings created through this API or MCP are always confirmed at once. The\nrule's conditions are not exposed.\n"
        },
        "allow_reschedule": {
          "type": "boolean"
        },
        "allow_cancel": {
          "type": "boolean"
        },
        "payment": {
          "oneOf": [
            {
              "$ref": "#/$defs/EventTypePayment"
            },
            {
              "type": "null"
            }
          ],
          "readOnly": true,
          "description": "The price this event type charges, or null when it does not require payment.\nCollected on the public booking page only: bookings created through this API\nor MCP are confirmed at once and unpaid. Read-only; the payment settings of an\nevent type cannot be changed through the API.\n"
        }
      }
    }
  ],
  "$defs": {
    "EventType": {
      "type": "object",
      "required": [
        "id",
        "slug",
        "title",
        "duration_minutes",
        "active",
        "scheduling_type",
        "hosts",
        "color",
        "buffer_before_minutes",
        "buffer_after_minutes",
        "minimum_notice_hours",
        "future_limit_days",
        "created_at",
        "updated_at"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "slug": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "duration_minutes": {
          "type": "integer"
        },
        "active": {
          "type": "boolean"
        },
        "scheduling_type": {
          "type": "string",
          "enum": [
            "individual",
            "group",
            "collective"
          ],
          "description": "`collective` is this serializer's label for round robin, where one member of\na team is assigned. It is not a separate event kind.\n"
        },
        "hosts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "user_id": {
                "type": "string",
                "format": "uuid"
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        },
        "url": {
          "type": [
            "string",
            "null"
          ],
          "description": "Public booking page."
        },
        "color": {
          "type": "string"
        },
        "buffer_before_minutes": {
          "type": "integer"
        },
        "buffer_after_minutes": {
          "type": "integer"
        },
        "minimum_notice_hours": {
          "type": "integer"
        },
        "future_limit_days": {
          "type": "integer"
        },
        "timezone": {
          "type": [
            "string",
            "null"
          ]
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "EventTypePayment": {
      "type": "object",
      "readOnly": true,
      "required": [
        "provider",
        "amount",
        "currency"
      ],
      "properties": {
        "provider": {
          "type": "string",
          "description": "The payment provider id, for example `stripe`."
        },
        "amount": {
          "type": "integer",
          "description": "The price in the currency's ISO 4217 minor unit (15000 is $150.00; 5000 JPY is 5000)."
        },
        "currency": {
          "type": "string",
          "description": "Lowercase ISO 4217 code."
        }
      }
    }
  }
}