{
  "openapi": "3.1.0",
  "info": {
    "title": "Voyant Operator API",
    "version": "0.0.0",
    "description": "Generated from the composed operator app. Do not edit by hand."
  },
  "servers": [
    {
      "url": "/",
      "description": "This deployment (same origin)"
    }
  ],
  "components": {
    "schemas": {
      "CatalogSearchFilter": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["eq"]
              },
              "field": {
                "type": "string",
                "minLength": 1
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ]
              }
            },
            "required": ["kind", "field", "value"]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["in"]
              },
              "field": {
                "type": "string",
                "minLength": 1
              },
              "values": {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    }
                  ]
                }
              }
            },
            "required": ["kind", "field", "values"]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["range"]
              },
              "field": {
                "type": "string",
                "minLength": 1
              },
              "gte": {
                "type": "number"
              },
              "lte": {
                "type": "number"
              }
            },
            "required": ["kind", "field"]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["and"]
              },
              "clauses": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogSearchFilter"
                }
              }
            },
            "required": ["kind", "clauses"]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["or"]
              },
              "clauses": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogSearchFilter"
                }
              }
            },
            "required": ["kind", "clauses"]
          }
        ]
      }
    },
    "parameters": {}
  },
  "paths": {
    "/v1/admin/booking-requirements/contact-requirements": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "productId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "optionId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["0", "1", "true", "false"]
            },
            "required": false,
            "name": "active",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated product contact requirements",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "optionId": {
                            "type": ["string", "null"]
                          },
                          "fieldKey": {
                            "type": "string",
                            "enum": [
                              "first_name",
                              "last_name",
                              "email",
                              "phone",
                              "date_of_birth",
                              "nationality",
                              "passport_number",
                              "passport_expiry",
                              "dietary_requirements",
                              "accessibility_needs",
                              "special_requests",
                              "address",
                              "other"
                            ]
                          },
                          "scope": {
                            "type": "string",
                            "enum": ["booking", "lead_traveler", "traveler", "booker"]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "perTraveler": {
                            "type": "boolean"
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer"
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "optionId",
                          "fieldKey",
                          "scope",
                          "isRequired",
                          "perTraveler",
                          "active",
                          "sortOrder",
                          "notes",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsContactRequirements",
        "summary": "GET /v1/admin/booking-requirements/contact-requirements",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "post": {
        "requestBody": {
          "required": true,
          "description": "Product contact requirement",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "productId": {
                    "type": "string"
                  },
                  "optionId": {
                    "type": ["string", "null"]
                  },
                  "fieldKey": {
                    "type": "string",
                    "enum": [
                      "first_name",
                      "last_name",
                      "email",
                      "phone",
                      "date_of_birth",
                      "nationality",
                      "passport_number",
                      "passport_expiry",
                      "dietary_requirements",
                      "accessibility_needs",
                      "special_requests",
                      "address",
                      "other"
                    ]
                  },
                  "scope": {
                    "type": "string",
                    "enum": ["booking", "lead_traveler", "traveler", "booker"],
                    "default": "traveler"
                  },
                  "isRequired": {
                    "type": "boolean",
                    "default": false
                  },
                  "perTraveler": {
                    "type": "boolean",
                    "default": false
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  },
                  "sortOrder": {
                    "type": "integer",
                    "default": 0
                  },
                  "notes": {
                    "type": ["string", "null"]
                  }
                },
                "required": ["productId", "fieldKey"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created product contact requirement",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productId": {
                          "type": "string"
                        },
                        "optionId": {
                          "type": ["string", "null"]
                        },
                        "fieldKey": {
                          "type": "string",
                          "enum": [
                            "first_name",
                            "last_name",
                            "email",
                            "phone",
                            "date_of_birth",
                            "nationality",
                            "passport_number",
                            "passport_expiry",
                            "dietary_requirements",
                            "accessibility_needs",
                            "special_requests",
                            "address",
                            "other"
                          ]
                        },
                        "scope": {
                          "type": "string",
                          "enum": ["booking", "lead_traveler", "traveler", "booker"]
                        },
                        "isRequired": {
                          "type": "boolean"
                        },
                        "perTraveler": {
                          "type": "boolean"
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productId",
                        "optionId",
                        "fieldKey",
                        "scope",
                        "isRequired",
                        "perTraveler",
                        "active",
                        "sortOrder",
                        "notes",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminBookingRequirementsContactRequirements",
        "summary": "POST /v1/admin/booking-requirements/contact-requirements",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/contact-requirements/{id}": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A product contact requirement by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productId": {
                          "type": "string"
                        },
                        "optionId": {
                          "type": ["string", "null"]
                        },
                        "fieldKey": {
                          "type": "string",
                          "enum": [
                            "first_name",
                            "last_name",
                            "email",
                            "phone",
                            "date_of_birth",
                            "nationality",
                            "passport_number",
                            "passport_expiry",
                            "dietary_requirements",
                            "accessibility_needs",
                            "special_requests",
                            "address",
                            "other"
                          ]
                        },
                        "scope": {
                          "type": "string",
                          "enum": ["booking", "lead_traveler", "traveler", "booker"]
                        },
                        "isRequired": {
                          "type": "boolean"
                        },
                        "perTraveler": {
                          "type": "boolean"
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productId",
                        "optionId",
                        "fieldKey",
                        "scope",
                        "isRequired",
                        "perTraveler",
                        "active",
                        "sortOrder",
                        "notes",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Product contact requirement not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsContactRequirementsById",
        "summary": "GET /v1/admin/booking-requirements/contact-requirements/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "patch": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": false,
          "description": "Partial product contact requirement update",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "productId": {
                    "type": "string"
                  },
                  "optionId": {
                    "type": ["string", "null"]
                  },
                  "fieldKey": {
                    "type": "string",
                    "enum": [
                      "first_name",
                      "last_name",
                      "email",
                      "phone",
                      "date_of_birth",
                      "nationality",
                      "passport_number",
                      "passport_expiry",
                      "dietary_requirements",
                      "accessibility_needs",
                      "special_requests",
                      "address",
                      "other"
                    ]
                  },
                  "scope": {
                    "type": "string",
                    "enum": ["booking", "lead_traveler", "traveler", "booker"],
                    "default": "traveler"
                  },
                  "isRequired": {
                    "type": "boolean",
                    "default": false
                  },
                  "perTraveler": {
                    "type": "boolean",
                    "default": false
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  },
                  "sortOrder": {
                    "type": "integer",
                    "default": 0
                  },
                  "notes": {
                    "type": ["string", "null"]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated product contact requirement",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productId": {
                          "type": "string"
                        },
                        "optionId": {
                          "type": ["string", "null"]
                        },
                        "fieldKey": {
                          "type": "string",
                          "enum": [
                            "first_name",
                            "last_name",
                            "email",
                            "phone",
                            "date_of_birth",
                            "nationality",
                            "passport_number",
                            "passport_expiry",
                            "dietary_requirements",
                            "accessibility_needs",
                            "special_requests",
                            "address",
                            "other"
                          ]
                        },
                        "scope": {
                          "type": "string",
                          "enum": ["booking", "lead_traveler", "traveler", "booker"]
                        },
                        "isRequired": {
                          "type": "boolean"
                        },
                        "perTraveler": {
                          "type": "boolean"
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productId",
                        "optionId",
                        "fieldKey",
                        "scope",
                        "isRequired",
                        "perTraveler",
                        "active",
                        "sortOrder",
                        "notes",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Product contact requirement not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminBookingRequirementsContactRequirementsById",
        "summary": "PATCH /v1/admin/booking-requirements/contact-requirements/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "delete": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The product contact requirement was deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": ["success"]
                }
              }
            }
          },
          "404": {
            "description": "Product contact requirement not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminBookingRequirementsContactRequirementsById",
        "summary": "DELETE /v1/admin/booking-requirements/contact-requirements/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/questions": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "productId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["booking", "traveler", "lead_traveler", "booker", "extra", "service"]
            },
            "required": false,
            "name": "target",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "text",
                "textarea",
                "number",
                "email",
                "phone",
                "date",
                "datetime",
                "boolean",
                "single_select",
                "multi_select",
                "file",
                "country",
                "other"
              ]
            },
            "required": false,
            "name": "fieldType",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["0", "1", "true", "false"]
            },
            "required": false,
            "name": "active",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated product booking questions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "code": {
                            "type": ["string", "null"]
                          },
                          "label": {
                            "type": "string"
                          },
                          "description": {
                            "type": ["string", "null"]
                          },
                          "target": {
                            "type": "string",
                            "enum": [
                              "booking",
                              "traveler",
                              "lead_traveler",
                              "booker",
                              "extra",
                              "service"
                            ]
                          },
                          "fieldType": {
                            "type": "string",
                            "enum": [
                              "text",
                              "textarea",
                              "number",
                              "email",
                              "phone",
                              "date",
                              "datetime",
                              "boolean",
                              "single_select",
                              "multi_select",
                              "file",
                              "country",
                              "other"
                            ]
                          },
                          "placeholder": {
                            "type": ["string", "null"]
                          },
                          "helpText": {
                            "type": ["string", "null"]
                          },
                          "isRequired": {
                            "type": "boolean"
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer"
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "productId",
                          "code",
                          "label",
                          "description",
                          "target",
                          "fieldType",
                          "placeholder",
                          "helpText",
                          "isRequired",
                          "active",
                          "sortOrder",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsQuestions",
        "summary": "GET /v1/admin/booking-requirements/questions",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "post": {
        "requestBody": {
          "required": true,
          "description": "Product booking question",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "productId": {
                    "type": "string"
                  },
                  "code": {
                    "type": ["string", "null"],
                    "maxLength": 100
                  },
                  "label": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "target": {
                    "type": "string",
                    "enum": ["booking", "traveler", "lead_traveler", "booker", "extra", "service"],
                    "default": "booking"
                  },
                  "fieldType": {
                    "type": "string",
                    "enum": [
                      "text",
                      "textarea",
                      "number",
                      "email",
                      "phone",
                      "date",
                      "datetime",
                      "boolean",
                      "single_select",
                      "multi_select",
                      "file",
                      "country",
                      "other"
                    ],
                    "default": "text"
                  },
                  "placeholder": {
                    "type": ["string", "null"]
                  },
                  "helpText": {
                    "type": ["string", "null"]
                  },
                  "isRequired": {
                    "type": "boolean",
                    "default": false
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  },
                  "sortOrder": {
                    "type": "integer",
                    "default": 0
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                },
                "required": ["productId", "label"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created product booking question",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productId": {
                          "type": "string"
                        },
                        "code": {
                          "type": ["string", "null"]
                        },
                        "label": {
                          "type": "string"
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "target": {
                          "type": "string",
                          "enum": [
                            "booking",
                            "traveler",
                            "lead_traveler",
                            "booker",
                            "extra",
                            "service"
                          ]
                        },
                        "fieldType": {
                          "type": "string",
                          "enum": [
                            "text",
                            "textarea",
                            "number",
                            "email",
                            "phone",
                            "date",
                            "datetime",
                            "boolean",
                            "single_select",
                            "multi_select",
                            "file",
                            "country",
                            "other"
                          ]
                        },
                        "placeholder": {
                          "type": ["string", "null"]
                        },
                        "helpText": {
                          "type": ["string", "null"]
                        },
                        "isRequired": {
                          "type": "boolean"
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productId",
                        "code",
                        "label",
                        "description",
                        "target",
                        "fieldType",
                        "placeholder",
                        "helpText",
                        "isRequired",
                        "active",
                        "sortOrder",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminBookingRequirementsQuestions",
        "summary": "POST /v1/admin/booking-requirements/questions",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/questions/{id}": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A product booking question by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productId": {
                          "type": "string"
                        },
                        "code": {
                          "type": ["string", "null"]
                        },
                        "label": {
                          "type": "string"
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "target": {
                          "type": "string",
                          "enum": [
                            "booking",
                            "traveler",
                            "lead_traveler",
                            "booker",
                            "extra",
                            "service"
                          ]
                        },
                        "fieldType": {
                          "type": "string",
                          "enum": [
                            "text",
                            "textarea",
                            "number",
                            "email",
                            "phone",
                            "date",
                            "datetime",
                            "boolean",
                            "single_select",
                            "multi_select",
                            "file",
                            "country",
                            "other"
                          ]
                        },
                        "placeholder": {
                          "type": ["string", "null"]
                        },
                        "helpText": {
                          "type": ["string", "null"]
                        },
                        "isRequired": {
                          "type": "boolean"
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productId",
                        "code",
                        "label",
                        "description",
                        "target",
                        "fieldType",
                        "placeholder",
                        "helpText",
                        "isRequired",
                        "active",
                        "sortOrder",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Product booking question not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsQuestionsById",
        "summary": "GET /v1/admin/booking-requirements/questions/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "patch": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": false,
          "description": "Partial product booking question update",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "productId": {
                    "type": "string"
                  },
                  "code": {
                    "type": ["string", "null"],
                    "maxLength": 100
                  },
                  "label": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "target": {
                    "type": "string",
                    "enum": ["booking", "traveler", "lead_traveler", "booker", "extra", "service"],
                    "default": "booking"
                  },
                  "fieldType": {
                    "type": "string",
                    "enum": [
                      "text",
                      "textarea",
                      "number",
                      "email",
                      "phone",
                      "date",
                      "datetime",
                      "boolean",
                      "single_select",
                      "multi_select",
                      "file",
                      "country",
                      "other"
                    ],
                    "default": "text"
                  },
                  "placeholder": {
                    "type": ["string", "null"]
                  },
                  "helpText": {
                    "type": ["string", "null"]
                  },
                  "isRequired": {
                    "type": "boolean",
                    "default": false
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  },
                  "sortOrder": {
                    "type": "integer",
                    "default": 0
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated product booking question",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productId": {
                          "type": "string"
                        },
                        "code": {
                          "type": ["string", "null"]
                        },
                        "label": {
                          "type": "string"
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "target": {
                          "type": "string",
                          "enum": [
                            "booking",
                            "traveler",
                            "lead_traveler",
                            "booker",
                            "extra",
                            "service"
                          ]
                        },
                        "fieldType": {
                          "type": "string",
                          "enum": [
                            "text",
                            "textarea",
                            "number",
                            "email",
                            "phone",
                            "date",
                            "datetime",
                            "boolean",
                            "single_select",
                            "multi_select",
                            "file",
                            "country",
                            "other"
                          ]
                        },
                        "placeholder": {
                          "type": ["string", "null"]
                        },
                        "helpText": {
                          "type": ["string", "null"]
                        },
                        "isRequired": {
                          "type": "boolean"
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productId",
                        "code",
                        "label",
                        "description",
                        "target",
                        "fieldType",
                        "placeholder",
                        "helpText",
                        "isRequired",
                        "active",
                        "sortOrder",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Product booking question not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminBookingRequirementsQuestionsById",
        "summary": "PATCH /v1/admin/booking-requirements/questions/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "delete": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The product booking question was deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": ["success"]
                }
              }
            }
          },
          "404": {
            "description": "Product booking question not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminBookingRequirementsQuestionsById",
        "summary": "DELETE /v1/admin/booking-requirements/questions/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/option-questions": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "optionId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "productBookingQuestionId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["0", "1", "true", "false"]
            },
            "required": false,
            "name": "active",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated option booking questions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "optionId": {
                            "type": "string"
                          },
                          "productBookingQuestionId": {
                            "type": "string"
                          },
                          "isRequiredOverride": {
                            "type": ["boolean", "null"]
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "sortOrder": {
                            "type": "integer"
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "optionId",
                          "productBookingQuestionId",
                          "isRequiredOverride",
                          "active",
                          "sortOrder",
                          "notes",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsOptionQuestions",
        "summary": "GET /v1/admin/booking-requirements/option-questions",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "post": {
        "requestBody": {
          "required": true,
          "description": "Option booking question",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "optionId": {
                    "type": "string"
                  },
                  "productBookingQuestionId": {
                    "type": "string"
                  },
                  "isRequiredOverride": {
                    "type": ["boolean", "null"]
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  },
                  "sortOrder": {
                    "type": "integer",
                    "default": 0
                  },
                  "notes": {
                    "type": ["string", "null"]
                  }
                },
                "required": ["optionId", "productBookingQuestionId"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created option booking question",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "optionId": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "isRequiredOverride": {
                          "type": ["boolean", "null"]
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "optionId",
                        "productBookingQuestionId",
                        "isRequiredOverride",
                        "active",
                        "sortOrder",
                        "notes",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminBookingRequirementsOptionQuestions",
        "summary": "POST /v1/admin/booking-requirements/option-questions",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/option-questions/{id}": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "An option booking question by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "optionId": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "isRequiredOverride": {
                          "type": ["boolean", "null"]
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "optionId",
                        "productBookingQuestionId",
                        "isRequiredOverride",
                        "active",
                        "sortOrder",
                        "notes",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Option booking question not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsOptionQuestionsById",
        "summary": "GET /v1/admin/booking-requirements/option-questions/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "patch": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": false,
          "description": "Partial option booking question update",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "optionId": {
                    "type": "string"
                  },
                  "productBookingQuestionId": {
                    "type": "string"
                  },
                  "isRequiredOverride": {
                    "type": ["boolean", "null"]
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  },
                  "sortOrder": {
                    "type": "integer",
                    "default": 0
                  },
                  "notes": {
                    "type": ["string", "null"]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated option booking question",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "optionId": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "isRequiredOverride": {
                          "type": ["boolean", "null"]
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "optionId",
                        "productBookingQuestionId",
                        "isRequiredOverride",
                        "active",
                        "sortOrder",
                        "notes",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Option booking question not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminBookingRequirementsOptionQuestionsById",
        "summary": "PATCH /v1/admin/booking-requirements/option-questions/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "delete": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The option booking question was deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": ["success"]
                }
              }
            }
          },
          "404": {
            "description": "Option booking question not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminBookingRequirementsOptionQuestionsById",
        "summary": "DELETE /v1/admin/booking-requirements/option-questions/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/question-options": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "productBookingQuestionId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["0", "1", "true", "false"]
            },
            "required": false,
            "name": "active",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated booking question options",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productBookingQuestionId": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "sortOrder": {
                            "type": "integer"
                          },
                          "isDefault": {
                            "type": "boolean"
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "productBookingQuestionId",
                          "value",
                          "label",
                          "sortOrder",
                          "isDefault",
                          "active",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsQuestionOptions",
        "summary": "GET /v1/admin/booking-requirements/question-options",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "post": {
        "requestBody": {
          "required": true,
          "description": "Booking question option",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "productBookingQuestionId": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "label": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "sortOrder": {
                    "type": "integer",
                    "default": 0
                  },
                  "isDefault": {
                    "type": "boolean",
                    "default": false
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  }
                },
                "required": ["productBookingQuestionId", "value", "label"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created booking question option",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "isDefault": {
                          "type": "boolean"
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productBookingQuestionId",
                        "value",
                        "label",
                        "sortOrder",
                        "isDefault",
                        "active",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminBookingRequirementsQuestionOptions",
        "summary": "POST /v1/admin/booking-requirements/question-options",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/question-options/{id}": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A booking question option by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "isDefault": {
                          "type": "boolean"
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productBookingQuestionId",
                        "value",
                        "label",
                        "sortOrder",
                        "isDefault",
                        "active",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Booking question option not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsQuestionOptionsById",
        "summary": "GET /v1/admin/booking-requirements/question-options/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "patch": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": false,
          "description": "Partial booking question option update",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "productBookingQuestionId": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "label": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "sortOrder": {
                    "type": "integer",
                    "default": 0
                  },
                  "isDefault": {
                    "type": "boolean",
                    "default": false
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated booking question option",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "isDefault": {
                          "type": "boolean"
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productBookingQuestionId",
                        "value",
                        "label",
                        "sortOrder",
                        "isDefault",
                        "active",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Booking question option not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminBookingRequirementsQuestionOptionsById",
        "summary": "PATCH /v1/admin/booking-requirements/question-options/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "delete": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The booking question option was deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": ["success"]
                }
              }
            }
          },
          "404": {
            "description": "Booking question option not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminBookingRequirementsQuestionOptionsById",
        "summary": "DELETE /v1/admin/booking-requirements/question-options/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/unit-triggers": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "productBookingQuestionId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "unitId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["0", "1", "true", "false"]
            },
            "required": false,
            "name": "active",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated booking question unit triggers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productBookingQuestionId": {
                            "type": "string"
                          },
                          "unitId": {
                            "type": "string"
                          },
                          "triggerMode": {
                            "type": "string",
                            "enum": ["required", "optional", "hidden"]
                          },
                          "minQuantity": {
                            "type": ["integer", "null"]
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "productBookingQuestionId",
                          "unitId",
                          "triggerMode",
                          "minQuantity",
                          "active",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsUnitTriggers",
        "summary": "GET /v1/admin/booking-requirements/unit-triggers",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "post": {
        "requestBody": {
          "required": true,
          "description": "Booking question unit trigger",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "productBookingQuestionId": {
                    "type": "string"
                  },
                  "unitId": {
                    "type": "string"
                  },
                  "triggerMode": {
                    "type": "string",
                    "enum": ["required", "optional", "hidden"],
                    "default": "required"
                  },
                  "minQuantity": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  }
                },
                "required": ["productBookingQuestionId", "unitId"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created booking question unit trigger",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "unitId": {
                          "type": "string"
                        },
                        "triggerMode": {
                          "type": "string",
                          "enum": ["required", "optional", "hidden"]
                        },
                        "minQuantity": {
                          "type": ["integer", "null"]
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productBookingQuestionId",
                        "unitId",
                        "triggerMode",
                        "minQuantity",
                        "active",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminBookingRequirementsUnitTriggers",
        "summary": "POST /v1/admin/booking-requirements/unit-triggers",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/unit-triggers/{id}": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A booking question unit trigger by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "unitId": {
                          "type": "string"
                        },
                        "triggerMode": {
                          "type": "string",
                          "enum": ["required", "optional", "hidden"]
                        },
                        "minQuantity": {
                          "type": ["integer", "null"]
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productBookingQuestionId",
                        "unitId",
                        "triggerMode",
                        "minQuantity",
                        "active",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Booking question unit trigger not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsUnitTriggersById",
        "summary": "GET /v1/admin/booking-requirements/unit-triggers/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "patch": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": false,
          "description": "Partial booking question unit trigger update",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "productBookingQuestionId": {
                    "type": "string"
                  },
                  "unitId": {
                    "type": "string"
                  },
                  "triggerMode": {
                    "type": "string",
                    "enum": ["required", "optional", "hidden"],
                    "default": "required"
                  },
                  "minQuantity": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated booking question unit trigger",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "unitId": {
                          "type": "string"
                        },
                        "triggerMode": {
                          "type": "string",
                          "enum": ["required", "optional", "hidden"]
                        },
                        "minQuantity": {
                          "type": ["integer", "null"]
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productBookingQuestionId",
                        "unitId",
                        "triggerMode",
                        "minQuantity",
                        "active",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Booking question unit trigger not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminBookingRequirementsUnitTriggersById",
        "summary": "PATCH /v1/admin/booking-requirements/unit-triggers/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "delete": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The booking question unit trigger was deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": ["success"]
                }
              }
            }
          },
          "404": {
            "description": "Booking question unit trigger not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminBookingRequirementsUnitTriggersById",
        "summary": "DELETE /v1/admin/booking-requirements/unit-triggers/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/option-triggers": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "productBookingQuestionId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "optionId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["0", "1", "true", "false"]
            },
            "required": false,
            "name": "active",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated booking question option triggers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productBookingQuestionId": {
                            "type": "string"
                          },
                          "optionId": {
                            "type": "string"
                          },
                          "triggerMode": {
                            "type": "string",
                            "enum": ["required", "optional", "hidden"]
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "productBookingQuestionId",
                          "optionId",
                          "triggerMode",
                          "active",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsOptionTriggers",
        "summary": "GET /v1/admin/booking-requirements/option-triggers",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "post": {
        "requestBody": {
          "required": true,
          "description": "Booking question option trigger",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "productBookingQuestionId": {
                    "type": "string"
                  },
                  "optionId": {
                    "type": "string"
                  },
                  "triggerMode": {
                    "type": "string",
                    "enum": ["required", "optional", "hidden"],
                    "default": "required"
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  }
                },
                "required": ["productBookingQuestionId", "optionId"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created booking question option trigger",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "optionId": {
                          "type": "string"
                        },
                        "triggerMode": {
                          "type": "string",
                          "enum": ["required", "optional", "hidden"]
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productBookingQuestionId",
                        "optionId",
                        "triggerMode",
                        "active",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminBookingRequirementsOptionTriggers",
        "summary": "POST /v1/admin/booking-requirements/option-triggers",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/option-triggers/{id}": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A booking question option trigger by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "optionId": {
                          "type": "string"
                        },
                        "triggerMode": {
                          "type": "string",
                          "enum": ["required", "optional", "hidden"]
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productBookingQuestionId",
                        "optionId",
                        "triggerMode",
                        "active",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Booking question option trigger not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsOptionTriggersById",
        "summary": "GET /v1/admin/booking-requirements/option-triggers/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "patch": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": false,
          "description": "Partial booking question option trigger update",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "productBookingQuestionId": {
                    "type": "string"
                  },
                  "optionId": {
                    "type": "string"
                  },
                  "triggerMode": {
                    "type": "string",
                    "enum": ["required", "optional", "hidden"],
                    "default": "required"
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated booking question option trigger",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "optionId": {
                          "type": "string"
                        },
                        "triggerMode": {
                          "type": "string",
                          "enum": ["required", "optional", "hidden"]
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productBookingQuestionId",
                        "optionId",
                        "triggerMode",
                        "active",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Booking question option trigger not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminBookingRequirementsOptionTriggersById",
        "summary": "PATCH /v1/admin/booking-requirements/option-triggers/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "delete": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The booking question option trigger was deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": ["success"]
                }
              }
            }
          },
          "404": {
            "description": "Booking question option trigger not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminBookingRequirementsOptionTriggersById",
        "summary": "DELETE /v1/admin/booking-requirements/option-triggers/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/extra-triggers": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "productBookingQuestionId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "productExtraId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "optionExtraConfigId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["0", "1", "true", "false"]
            },
            "required": false,
            "name": "active",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated booking question extra triggers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "productBookingQuestionId": {
                            "type": "string"
                          },
                          "productExtraId": {
                            "type": ["string", "null"]
                          },
                          "optionExtraConfigId": {
                            "type": ["string", "null"]
                          },
                          "triggerMode": {
                            "type": "string",
                            "enum": ["required", "optional", "hidden"]
                          },
                          "minQuantity": {
                            "type": ["integer", "null"]
                          },
                          "active": {
                            "type": "boolean"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "productBookingQuestionId",
                          "productExtraId",
                          "optionExtraConfigId",
                          "triggerMode",
                          "minQuantity",
                          "active",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsExtraTriggers",
        "summary": "GET /v1/admin/booking-requirements/extra-triggers",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "post": {
        "requestBody": {
          "required": true,
          "description": "Booking question extra trigger",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "productBookingQuestionId": {
                    "type": "string"
                  },
                  "productExtraId": {
                    "type": ["string", "null"]
                  },
                  "optionExtraConfigId": {
                    "type": ["string", "null"]
                  },
                  "triggerMode": {
                    "type": "string",
                    "enum": ["required", "optional", "hidden"],
                    "default": "required"
                  },
                  "minQuantity": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  }
                },
                "required": ["productBookingQuestionId"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created booking question extra trigger",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "productExtraId": {
                          "type": ["string", "null"]
                        },
                        "optionExtraConfigId": {
                          "type": ["string", "null"]
                        },
                        "triggerMode": {
                          "type": "string",
                          "enum": ["required", "optional", "hidden"]
                        },
                        "minQuantity": {
                          "type": ["integer", "null"]
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productBookingQuestionId",
                        "productExtraId",
                        "optionExtraConfigId",
                        "triggerMode",
                        "minQuantity",
                        "active",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminBookingRequirementsExtraTriggers",
        "summary": "POST /v1/admin/booking-requirements/extra-triggers",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/extra-triggers/{id}": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A booking question extra trigger by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "productExtraId": {
                          "type": ["string", "null"]
                        },
                        "optionExtraConfigId": {
                          "type": ["string", "null"]
                        },
                        "triggerMode": {
                          "type": "string",
                          "enum": ["required", "optional", "hidden"]
                        },
                        "minQuantity": {
                          "type": ["integer", "null"]
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productBookingQuestionId",
                        "productExtraId",
                        "optionExtraConfigId",
                        "triggerMode",
                        "minQuantity",
                        "active",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Booking question extra trigger not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsExtraTriggersById",
        "summary": "GET /v1/admin/booking-requirements/extra-triggers/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "patch": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": false,
          "description": "Partial booking question extra trigger update",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "productBookingQuestionId": {
                    "type": "string"
                  },
                  "productExtraId": {
                    "type": ["string", "null"]
                  },
                  "optionExtraConfigId": {
                    "type": ["string", "null"]
                  },
                  "triggerMode": {
                    "type": "string",
                    "enum": ["required", "optional", "hidden"],
                    "default": "required"
                  },
                  "minQuantity": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "active": {
                    "type": "boolean",
                    "default": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated booking question extra trigger",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "productExtraId": {
                          "type": ["string", "null"]
                        },
                        "optionExtraConfigId": {
                          "type": ["string", "null"]
                        },
                        "triggerMode": {
                          "type": "string",
                          "enum": ["required", "optional", "hidden"]
                        },
                        "minQuantity": {
                          "type": ["integer", "null"]
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "productBookingQuestionId",
                        "productExtraId",
                        "optionExtraConfigId",
                        "triggerMode",
                        "minQuantity",
                        "active",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Booking question extra trigger not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminBookingRequirementsExtraTriggersById",
        "summary": "PATCH /v1/admin/booking-requirements/extra-triggers/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "delete": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The booking question extra trigger was deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": ["success"]
                }
              }
            }
          },
          "404": {
            "description": "Booking question extra trigger not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminBookingRequirementsExtraTriggersById",
        "summary": "DELETE /v1/admin/booking-requirements/extra-triggers/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/answers": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "bookingId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "productBookingQuestionId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "bookingTravelerId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "bookingExtraId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["booking", "traveler", "extra"]
            },
            "required": false,
            "name": "target",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated booking answers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "bookingId": {
                            "type": "string"
                          },
                          "productBookingQuestionId": {
                            "type": "string"
                          },
                          "bookingTravelerId": {
                            "type": ["string", "null"]
                          },
                          "bookingExtraId": {
                            "type": ["string", "null"]
                          },
                          "target": {
                            "type": "string",
                            "enum": ["booking", "traveler", "extra"]
                          },
                          "valueText": {
                            "type": ["string", "null"]
                          },
                          "valueNumber": {
                            "type": ["integer", "null"]
                          },
                          "valueBoolean": {
                            "type": ["boolean", "null"]
                          },
                          "valueJson": {
                            "anyOf": [
                              {
                                "type": "object",
                                "additionalProperties": {}
                              },
                              {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "bookingId",
                          "productBookingQuestionId",
                          "bookingTravelerId",
                          "bookingExtraId",
                          "target",
                          "valueText",
                          "valueNumber",
                          "valueBoolean",
                          "valueJson",
                          "notes",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsAnswers",
        "summary": "GET /v1/admin/booking-requirements/answers",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "post": {
        "requestBody": {
          "required": true,
          "description": "Booking answer",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bookingId": {
                    "type": "string"
                  },
                  "productBookingQuestionId": {
                    "type": "string"
                  },
                  "bookingTravelerId": {
                    "type": ["string", "null"]
                  },
                  "bookingExtraId": {
                    "type": ["string", "null"]
                  },
                  "target": {
                    "type": "string",
                    "enum": ["booking", "traveler", "extra"],
                    "default": "booking"
                  },
                  "valueText": {
                    "type": ["string", "null"]
                  },
                  "valueNumber": {
                    "type": ["integer", "null"]
                  },
                  "valueBoolean": {
                    "type": ["boolean", "null"]
                  },
                  "valueJson": {
                    "anyOf": [
                      {
                        "type": "object",
                        "additionalProperties": {}
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "notes": {
                    "type": ["string", "null"]
                  }
                },
                "required": ["bookingId", "productBookingQuestionId"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created booking answer",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "bookingId": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "bookingTravelerId": {
                          "type": ["string", "null"]
                        },
                        "bookingExtraId": {
                          "type": ["string", "null"]
                        },
                        "target": {
                          "type": "string",
                          "enum": ["booking", "traveler", "extra"]
                        },
                        "valueText": {
                          "type": ["string", "null"]
                        },
                        "valueNumber": {
                          "type": ["integer", "null"]
                        },
                        "valueBoolean": {
                          "type": ["boolean", "null"]
                        },
                        "valueJson": {
                          "anyOf": [
                            {
                              "type": "object",
                              "additionalProperties": {}
                            },
                            {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "bookingId",
                        "productBookingQuestionId",
                        "bookingTravelerId",
                        "bookingExtraId",
                        "target",
                        "valueText",
                        "valueNumber",
                        "valueBoolean",
                        "valueJson",
                        "notes",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminBookingRequirementsAnswers",
        "summary": "POST /v1/admin/booking-requirements/answers",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    },
    "/v1/admin/booking-requirements/answers/{id}": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A booking answer by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "bookingId": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "bookingTravelerId": {
                          "type": ["string", "null"]
                        },
                        "bookingExtraId": {
                          "type": ["string", "null"]
                        },
                        "target": {
                          "type": "string",
                          "enum": ["booking", "traveler", "extra"]
                        },
                        "valueText": {
                          "type": ["string", "null"]
                        },
                        "valueNumber": {
                          "type": ["integer", "null"]
                        },
                        "valueBoolean": {
                          "type": ["boolean", "null"]
                        },
                        "valueJson": {
                          "anyOf": [
                            {
                              "type": "object",
                              "additionalProperties": {}
                            },
                            {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "bookingId",
                        "productBookingQuestionId",
                        "bookingTravelerId",
                        "bookingExtraId",
                        "target",
                        "valueText",
                        "valueNumber",
                        "valueBoolean",
                        "valueJson",
                        "notes",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Booking answer not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminBookingRequirementsAnswersById",
        "summary": "GET /v1/admin/booking-requirements/answers/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "patch": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": false,
          "description": "Partial booking answer update",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bookingId": {
                    "type": "string"
                  },
                  "productBookingQuestionId": {
                    "type": "string"
                  },
                  "bookingTravelerId": {
                    "type": ["string", "null"]
                  },
                  "bookingExtraId": {
                    "type": ["string", "null"]
                  },
                  "target": {
                    "type": "string",
                    "enum": ["booking", "traveler", "extra"],
                    "default": "booking"
                  },
                  "valueText": {
                    "type": ["string", "null"]
                  },
                  "valueNumber": {
                    "type": ["integer", "null"]
                  },
                  "valueBoolean": {
                    "type": ["boolean", "null"]
                  },
                  "valueJson": {
                    "anyOf": [
                      {
                        "type": "object",
                        "additionalProperties": {}
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "notes": {
                    "type": ["string", "null"]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated booking answer",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "bookingId": {
                          "type": "string"
                        },
                        "productBookingQuestionId": {
                          "type": "string"
                        },
                        "bookingTravelerId": {
                          "type": ["string", "null"]
                        },
                        "bookingExtraId": {
                          "type": ["string", "null"]
                        },
                        "target": {
                          "type": "string",
                          "enum": ["booking", "traveler", "extra"]
                        },
                        "valueText": {
                          "type": ["string", "null"]
                        },
                        "valueNumber": {
                          "type": ["integer", "null"]
                        },
                        "valueBoolean": {
                          "type": ["boolean", "null"]
                        },
                        "valueJson": {
                          "anyOf": [
                            {
                              "type": "object",
                              "additionalProperties": {}
                            },
                            {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "bookingId",
                        "productBookingQuestionId",
                        "bookingTravelerId",
                        "bookingExtraId",
                        "target",
                        "valueText",
                        "valueNumber",
                        "valueBoolean",
                        "valueJson",
                        "notes",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request — request input failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Booking answer not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminBookingRequirementsAnswersById",
        "summary": "PATCH /v1/admin/booking-requirements/answers/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      },
      "delete": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The booking answer was deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": ["success"]
                }
              }
            }
          },
          "404": {
            "description": "Booking answer not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminBookingRequirementsAnswersById",
        "summary": "DELETE /v1/admin/booking-requirements/answers/{id}",
        "tags": ["booking-requirements"],
        "x-voyant-module": "booking-requirements",
        "x-voyant-surface": "admin"
      }
    }
  },
  "webhooks": {}
}
