{
  "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": {},
    "parameters": {}
  },
  "paths": {
    "/v1/admin/cruises": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "enum": ["ocean", "river", "expedition", "coastal"]
            },
            "required": false,
            "name": "cruiseType",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["draft", "awaiting_review", "live", "archived"]
            },
            "required": false,
            "name": "status",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "lineSupplierId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "region",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "search",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Local cruises merged with every registered adapter's entries",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "source": {
                            "type": "string"
                          },
                          "sourceProvider": {
                            "type": ["string", "null"]
                          },
                          "sourceRef": {},
                          "key": {
                            "type": "string"
                          },
                          "cruise": {}
                        },
                        "required": ["source", "sourceProvider", "key"]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "localTotal": {
                      "type": "integer"
                    },
                    "adapterCount": {
                      "type": "integer"
                    },
                    "adapterErrors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "adapter": {
                            "type": "string"
                          },
                          "error": {
                            "type": "string"
                          }
                        },
                        "required": ["adapter", "error"]
                      }
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "data",
                    "total",
                    "localTotal",
                    "adapterCount",
                    "adapterErrors",
                    "limit",
                    "offset"
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "slug": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "pattern": "^[a-z0-9][a-z0-9-]*$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "cruiseType": {
                    "type": "string",
                    "enum": ["ocean", "river", "expedition", "coastal"]
                  },
                  "lineSupplierId": {
                    "type": ["string", "null"]
                  },
                  "defaultShipId": {
                    "type": ["string", "null"]
                  },
                  "nights": {
                    "type": "integer",
                    "exclusiveMinimum": 0
                  },
                  "embarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "embarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "shortDescription": {
                    "type": ["string", "null"]
                  },
                  "highlights": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "inclusionsHtml": {
                    "type": ["string", "null"]
                  },
                  "exclusionsHtml": {
                    "type": ["string", "null"]
                  },
                  "regionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "waterwayIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "portIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "countryIso": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "regions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "waterways": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "ports": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "countries": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "themes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "heroImageUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  },
                  "mapImageUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  },
                  "status": {
                    "type": "string",
                    "enum": ["draft", "awaiting_review", "live", "archived"],
                    "default": "draft"
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  }
                },
                "required": ["slug", "name", "cruiseType", "nights"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created cruise",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "cruiseType": {
                          "type": "string",
                          "enum": ["ocean", "river", "expedition", "coastal"]
                        },
                        "lineSupplierId": {
                          "type": ["string", "null"]
                        },
                        "defaultShipId": {
                          "type": ["string", "null"]
                        },
                        "nights": {
                          "type": "integer"
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "shortDescription": {
                          "type": ["string", "null"]
                        },
                        "highlights": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "inclusionsHtml": {
                          "type": ["string", "null"]
                        },
                        "exclusionsHtml": {
                          "type": ["string", "null"]
                        },
                        "regionIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "waterwayIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "portIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "countryIso": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "regions": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "waterways": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "ports": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "countries": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "themes": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "heroImageUrl": {
                          "type": ["string", "null"]
                        },
                        "mapImageUrl": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "awaiting_review", "live", "archived"]
                        },
                        "lowestPriceCached": {
                          "type": ["string", "null"]
                        },
                        "lowestPriceCurrencyCached": {
                          "type": ["string", "null"]
                        },
                        "earliestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "latestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "customerPaymentPolicy": {},
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "cruiseType",
                        "lineSupplierId",
                        "defaultShipId",
                        "nights",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "description",
                        "shortDescription",
                        "highlights",
                        "inclusionsHtml",
                        "exclusionsHtml",
                        "regionIds",
                        "waterwayIds",
                        "portIds",
                        "countryIso",
                        "regions",
                        "waterways",
                        "ports",
                        "countries",
                        "themes",
                        "heroImageUrl",
                        "mapImageUrl",
                        "status",
                        "lowestPriceCached",
                        "lowestPriceCurrencyCached",
                        "earliestDepartureCached",
                        "latestDepartureCached",
                        "externalRefs",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/voyage-groups": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "enum": ["combination", "grand_voyage", "world_cruise", "cruise_tour"]
            },
            "required": false,
            "name": "groupKind",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["draft", "awaiting_review", "live", "archived"]
            },
            "required": false,
            "name": "status",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "lineSupplierId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "region",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "search",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of voyage groups",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "groupKind": {
                            "type": "string",
                            "enum": ["combination", "grand_voyage", "world_cruise", "cruise_tour"]
                          },
                          "lineSupplierId": {
                            "type": ["string", "null"]
                          },
                          "nights": {
                            "type": "integer"
                          },
                          "embarkPortFacilityId": {
                            "type": ["string", "null"]
                          },
                          "embarkPortCanonicalPlaceId": {
                            "type": ["string", "null"]
                          },
                          "disembarkPortFacilityId": {
                            "type": ["string", "null"]
                          },
                          "disembarkPortCanonicalPlaceId": {
                            "type": ["string", "null"]
                          },
                          "description": {
                            "type": ["string", "null"]
                          },
                          "shortDescription": {
                            "type": ["string", "null"]
                          },
                          "highlights": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "string"
                            }
                          },
                          "regions": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "string"
                            }
                          },
                          "themes": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "string"
                            }
                          },
                          "heroImageUrl": {
                            "type": ["string", "null"]
                          },
                          "mapImageUrl": {
                            "type": ["string", "null"]
                          },
                          "status": {
                            "type": "string",
                            "enum": ["draft", "awaiting_review", "live", "archived"]
                          },
                          "lowestPriceCached": {
                            "type": ["string", "null"]
                          },
                          "lowestPriceCurrencyCached": {
                            "type": ["string", "null"]
                          },
                          "earliestDepartureCached": {
                            "type": ["string", "null"]
                          },
                          "latestDepartureCached": {
                            "type": ["string", "null"]
                          },
                          "externalRefs": {
                            "type": ["object", "null"],
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "slug",
                          "name",
                          "groupKind",
                          "lineSupplierId",
                          "nights",
                          "embarkPortFacilityId",
                          "embarkPortCanonicalPlaceId",
                          "disembarkPortFacilityId",
                          "disembarkPortCanonicalPlaceId",
                          "description",
                          "shortDescription",
                          "highlights",
                          "regions",
                          "themes",
                          "heroImageUrl",
                          "mapImageUrl",
                          "status",
                          "lowestPriceCached",
                          "lowestPriceCurrencyCached",
                          "earliestDepartureCached",
                          "latestDepartureCached",
                          "externalRefs",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          }
        }
      },
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "slug": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "pattern": "^[a-z0-9][a-z0-9-]*$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "groupKind": {
                    "type": "string",
                    "enum": ["combination", "grand_voyage", "world_cruise", "cruise_tour"]
                  },
                  "lineSupplierId": {
                    "type": ["string", "null"]
                  },
                  "nights": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "embarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "embarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "shortDescription": {
                    "type": ["string", "null"]
                  },
                  "highlights": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "regions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "themes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "heroImageUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  },
                  "mapImageUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  },
                  "status": {
                    "type": "string",
                    "enum": ["draft", "awaiting_review", "live", "archived"],
                    "default": "draft"
                  },
                  "lowestPriceCached": {
                    "type": ["string", "null"],
                    "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                  },
                  "lowestPriceCurrencyCached": {
                    "type": ["string", "null"],
                    "minLength": 3,
                    "maxLength": 3,
                    "pattern": "^[A-Z]{3}$"
                  },
                  "earliestDepartureCached": {
                    "type": ["string", "null"],
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "latestDepartureCached": {
                    "type": ["string", "null"],
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  }
                },
                "required": ["slug", "name", "groupKind", "nights"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created voyage group",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "groupKind": {
                          "type": "string",
                          "enum": ["combination", "grand_voyage", "world_cruise", "cruise_tour"]
                        },
                        "lineSupplierId": {
                          "type": ["string", "null"]
                        },
                        "nights": {
                          "type": "integer"
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "shortDescription": {
                          "type": ["string", "null"]
                        },
                        "highlights": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "regions": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "themes": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "heroImageUrl": {
                          "type": ["string", "null"]
                        },
                        "mapImageUrl": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "awaiting_review", "live", "archived"]
                        },
                        "lowestPriceCached": {
                          "type": ["string", "null"]
                        },
                        "lowestPriceCurrencyCached": {
                          "type": ["string", "null"]
                        },
                        "earliestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "latestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "groupKind",
                        "lineSupplierId",
                        "nights",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "description",
                        "shortDescription",
                        "highlights",
                        "regions",
                        "themes",
                        "heroImageUrl",
                        "mapImageUrl",
                        "status",
                        "lowestPriceCached",
                        "lowestPriceCurrencyCached",
                        "earliestDepartureCached",
                        "latestDepartureCached",
                        "externalRefs",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/voyage-groups/{id}": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A voyage group (optionally with segments)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "groupKind": {
                          "type": "string",
                          "enum": ["combination", "grand_voyage", "world_cruise", "cruise_tour"]
                        },
                        "lineSupplierId": {
                          "type": ["string", "null"]
                        },
                        "nights": {
                          "type": "integer"
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "shortDescription": {
                          "type": ["string", "null"]
                        },
                        "highlights": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "regions": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "themes": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "heroImageUrl": {
                          "type": ["string", "null"]
                        },
                        "mapImageUrl": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "awaiting_review", "live", "archived"]
                        },
                        "lowestPriceCached": {
                          "type": ["string", "null"]
                        },
                        "lowestPriceCurrencyCached": {
                          "type": ["string", "null"]
                        },
                        "earliestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "latestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        },
                        "segments": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "voyageGroupId": {
                                "type": "string"
                              },
                              "sortOrder": {
                                "type": "integer"
                              },
                              "segmentKind": {
                                "type": "string",
                                "enum": [
                                  "cruise",
                                  "land",
                                  "hotel",
                                  "transfer",
                                  "rail",
                                  "air",
                                  "other"
                                ]
                              },
                              "segmentRole": {
                                "type": "string",
                                "enum": ["core", "pre_extension", "post_extension"]
                              },
                              "title": {
                                "type": "string"
                              },
                              "description": {
                                "type": ["string", "null"]
                              },
                              "cruiseId": {
                                "type": ["string", "null"]
                              },
                              "sailingId": {
                                "type": ["string", "null"]
                              },
                              "startDay": {
                                "type": ["integer", "null"]
                              },
                              "endDay": {
                                "type": ["integer", "null"]
                              },
                              "startDate": {
                                "type": ["string", "null"]
                              },
                              "endDate": {
                                "type": ["string", "null"]
                              },
                              "embarkPortFacilityId": {
                                "type": ["string", "null"]
                              },
                              "embarkPortCanonicalPlaceId": {
                                "type": ["string", "null"]
                              },
                              "disembarkPortFacilityId": {
                                "type": ["string", "null"]
                              },
                              "disembarkPortCanonicalPlaceId": {
                                "type": ["string", "null"]
                              },
                              "nights": {
                                "type": ["integer", "null"]
                              },
                              "externalRefs": {
                                "type": ["object", "null"],
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              "metadata": {
                                "type": ["object", "null"],
                                "additionalProperties": {}
                              },
                              "createdAt": {
                                "type": "string"
                              },
                              "updatedAt": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "voyageGroupId",
                              "sortOrder",
                              "segmentKind",
                              "segmentRole",
                              "title",
                              "description",
                              "cruiseId",
                              "sailingId",
                              "startDay",
                              "endDay",
                              "startDate",
                              "endDate",
                              "embarkPortFacilityId",
                              "embarkPortCanonicalPlaceId",
                              "disembarkPortFacilityId",
                              "disembarkPortCanonicalPlaceId",
                              "nights",
                              "externalRefs",
                              "metadata",
                              "createdAt",
                              "updatedAt"
                            ]
                          }
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "groupKind",
                        "lineSupplierId",
                        "nights",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "description",
                        "shortDescription",
                        "highlights",
                        "regions",
                        "themes",
                        "heroImageUrl",
                        "mapImageUrl",
                        "status",
                        "lowestPriceCached",
                        "lowestPriceCurrencyCached",
                        "earliestDepartureCached",
                        "latestDepartureCached",
                        "externalRefs",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Voyage group not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "slug": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "pattern": "^[a-z0-9][a-z0-9-]*$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "groupKind": {
                    "type": "string",
                    "enum": ["combination", "grand_voyage", "world_cruise", "cruise_tour"]
                  },
                  "lineSupplierId": {
                    "type": ["string", "null"]
                  },
                  "nights": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "embarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "embarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "shortDescription": {
                    "type": ["string", "null"]
                  },
                  "highlights": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "regions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "themes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "heroImageUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  },
                  "mapImageUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  },
                  "status": {
                    "type": "string",
                    "enum": ["draft", "awaiting_review", "live", "archived"],
                    "default": "draft"
                  },
                  "lowestPriceCached": {
                    "type": ["string", "null"],
                    "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                  },
                  "lowestPriceCurrencyCached": {
                    "type": ["string", "null"],
                    "minLength": 3,
                    "maxLength": 3,
                    "pattern": "^[A-Z]{3}$"
                  },
                  "earliestDepartureCached": {
                    "type": ["string", "null"],
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "latestDepartureCached": {
                    "type": ["string", "null"],
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated voyage group",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "groupKind": {
                          "type": "string",
                          "enum": ["combination", "grand_voyage", "world_cruise", "cruise_tour"]
                        },
                        "lineSupplierId": {
                          "type": ["string", "null"]
                        },
                        "nights": {
                          "type": "integer"
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "shortDescription": {
                          "type": ["string", "null"]
                        },
                        "highlights": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "regions": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "themes": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "heroImageUrl": {
                          "type": ["string", "null"]
                        },
                        "mapImageUrl": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "awaiting_review", "live", "archived"]
                        },
                        "lowestPriceCached": {
                          "type": ["string", "null"]
                        },
                        "lowestPriceCurrencyCached": {
                          "type": ["string", "null"]
                        },
                        "earliestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "latestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "groupKind",
                        "lineSupplierId",
                        "nights",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "description",
                        "shortDescription",
                        "highlights",
                        "regions",
                        "themes",
                        "heroImageUrl",
                        "mapImageUrl",
                        "status",
                        "lowestPriceCached",
                        "lowestPriceCurrencyCached",
                        "earliestDepartureCached",
                        "latestDepartureCached",
                        "externalRefs",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Voyage group not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "delete": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The archived voyage group",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "groupKind": {
                          "type": "string",
                          "enum": ["combination", "grand_voyage", "world_cruise", "cruise_tour"]
                        },
                        "lineSupplierId": {
                          "type": ["string", "null"]
                        },
                        "nights": {
                          "type": "integer"
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "shortDescription": {
                          "type": ["string", "null"]
                        },
                        "highlights": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "regions": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "themes": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "heroImageUrl": {
                          "type": ["string", "null"]
                        },
                        "mapImageUrl": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "awaiting_review", "live", "archived"]
                        },
                        "lowestPriceCached": {
                          "type": ["string", "null"]
                        },
                        "lowestPriceCurrencyCached": {
                          "type": ["string", "null"]
                        },
                        "earliestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "latestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "groupKind",
                        "lineSupplierId",
                        "nights",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "description",
                        "shortDescription",
                        "highlights",
                        "regions",
                        "themes",
                        "heroImageUrl",
                        "mapImageUrl",
                        "status",
                        "lowestPriceCached",
                        "lowestPriceCurrencyCached",
                        "earliestDepartureCached",
                        "latestDepartureCached",
                        "externalRefs",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Voyage group not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/voyage-groups/{id}/segments": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "voyageGroupId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cruiseId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "sailingId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["cruise", "land", "hotel", "transfer", "rail", "air", "other"]
            },
            "required": false,
            "name": "segmentKind",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["core", "pre_extension", "post_extension"]
            },
            "required": false,
            "name": "segmentRole",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of segments for the voyage group",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "voyageGroupId": {
                            "type": "string"
                          },
                          "sortOrder": {
                            "type": "integer"
                          },
                          "segmentKind": {
                            "type": "string",
                            "enum": ["cruise", "land", "hotel", "transfer", "rail", "air", "other"]
                          },
                          "segmentRole": {
                            "type": "string",
                            "enum": ["core", "pre_extension", "post_extension"]
                          },
                          "title": {
                            "type": "string"
                          },
                          "description": {
                            "type": ["string", "null"]
                          },
                          "cruiseId": {
                            "type": ["string", "null"]
                          },
                          "sailingId": {
                            "type": ["string", "null"]
                          },
                          "startDay": {
                            "type": ["integer", "null"]
                          },
                          "endDay": {
                            "type": ["integer", "null"]
                          },
                          "startDate": {
                            "type": ["string", "null"]
                          },
                          "endDate": {
                            "type": ["string", "null"]
                          },
                          "embarkPortFacilityId": {
                            "type": ["string", "null"]
                          },
                          "embarkPortCanonicalPlaceId": {
                            "type": ["string", "null"]
                          },
                          "disembarkPortFacilityId": {
                            "type": ["string", "null"]
                          },
                          "disembarkPortCanonicalPlaceId": {
                            "type": ["string", "null"]
                          },
                          "nights": {
                            "type": ["integer", "null"]
                          },
                          "externalRefs": {
                            "type": ["object", "null"],
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "voyageGroupId",
                          "sortOrder",
                          "segmentKind",
                          "segmentRole",
                          "title",
                          "description",
                          "cruiseId",
                          "sailingId",
                          "startDay",
                          "endDay",
                          "startDate",
                          "endDate",
                          "embarkPortFacilityId",
                          "embarkPortCanonicalPlaceId",
                          "disembarkPortFacilityId",
                          "disembarkPortCanonicalPlaceId",
                          "nights",
                          "externalRefs",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          }
        }
      },
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "voyageGroupId": {
                    "type": "string"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "segmentKind": {
                    "type": "string",
                    "enum": ["cruise", "land", "hotel", "transfer", "rail", "air", "other"]
                  },
                  "segmentRole": {
                    "type": "string",
                    "enum": ["core", "pre_extension", "post_extension"],
                    "default": "core"
                  },
                  "title": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "cruiseId": {
                    "type": ["string", "null"]
                  },
                  "sailingId": {
                    "type": ["string", "null"]
                  },
                  "startDay": {
                    "type": ["integer", "null"],
                    "exclusiveMinimum": 0
                  },
                  "endDay": {
                    "type": ["integer", "null"],
                    "exclusiveMinimum": 0
                  },
                  "startDate": {
                    "type": ["string", "null"],
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "endDate": {
                    "type": ["string", "null"],
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "embarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "embarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "nights": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  },
                  "metadata": {
                    "type": "object",
                    "additionalProperties": {},
                    "default": {}
                  }
                },
                "required": ["sortOrder", "segmentKind", "title"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created segment",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "voyageGroupId": {
                          "type": "string"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "segmentKind": {
                          "type": "string",
                          "enum": ["cruise", "land", "hotel", "transfer", "rail", "air", "other"]
                        },
                        "segmentRole": {
                          "type": "string",
                          "enum": ["core", "pre_extension", "post_extension"]
                        },
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "cruiseId": {
                          "type": ["string", "null"]
                        },
                        "sailingId": {
                          "type": ["string", "null"]
                        },
                        "startDay": {
                          "type": ["integer", "null"]
                        },
                        "endDay": {
                          "type": ["integer", "null"]
                        },
                        "startDate": {
                          "type": ["string", "null"]
                        },
                        "endDate": {
                          "type": ["string", "null"]
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "nights": {
                          "type": ["integer", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "voyageGroupId",
                        "sortOrder",
                        "segmentKind",
                        "segmentRole",
                        "title",
                        "description",
                        "cruiseId",
                        "sailingId",
                        "startDay",
                        "endDay",
                        "startDate",
                        "endDate",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "nights",
                        "externalRefs",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/voyage-group-segments/{segmentId}": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "segmentId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "voyageGroupId": {
                    "type": "string"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "segmentKind": {
                    "type": "string",
                    "enum": ["cruise", "land", "hotel", "transfer", "rail", "air", "other"]
                  },
                  "segmentRole": {
                    "type": "string",
                    "enum": ["core", "pre_extension", "post_extension"],
                    "default": "core"
                  },
                  "title": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "cruiseId": {
                    "type": ["string", "null"]
                  },
                  "sailingId": {
                    "type": ["string", "null"]
                  },
                  "startDay": {
                    "type": ["integer", "null"],
                    "exclusiveMinimum": 0
                  },
                  "endDay": {
                    "type": ["integer", "null"],
                    "exclusiveMinimum": 0
                  },
                  "startDate": {
                    "type": ["string", "null"],
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "endDate": {
                    "type": ["string", "null"],
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "embarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "embarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "nights": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  },
                  "metadata": {
                    "type": "object",
                    "additionalProperties": {},
                    "default": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated segment",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "voyageGroupId": {
                          "type": "string"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "segmentKind": {
                          "type": "string",
                          "enum": ["cruise", "land", "hotel", "transfer", "rail", "air", "other"]
                        },
                        "segmentRole": {
                          "type": "string",
                          "enum": ["core", "pre_extension", "post_extension"]
                        },
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "cruiseId": {
                          "type": ["string", "null"]
                        },
                        "sailingId": {
                          "type": ["string", "null"]
                        },
                        "startDay": {
                          "type": ["integer", "null"]
                        },
                        "endDay": {
                          "type": ["integer", "null"]
                        },
                        "startDate": {
                          "type": ["string", "null"]
                        },
                        "endDate": {
                          "type": ["string", "null"]
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "nights": {
                          "type": ["integer", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "voyageGroupId",
                        "sortOrder",
                        "segmentKind",
                        "segmentRole",
                        "title",
                        "description",
                        "cruiseId",
                        "sailingId",
                        "startDay",
                        "endDay",
                        "startDate",
                        "endDate",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "nights",
                        "externalRefs",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Segment not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "delete": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "segmentId",
            "in": "path"
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Segment not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/enrichment/{programId}": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "programId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cruiseId": {
                    "type": "string"
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "naturalist",
                      "historian",
                      "photographer",
                      "lecturer",
                      "expert",
                      "other"
                    ]
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "title": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "bioImageUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "default": 0
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated enrichment program",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "cruiseId": {
                          "type": "string"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "naturalist",
                            "historian",
                            "photographer",
                            "lecturer",
                            "expert",
                            "other"
                          ]
                        },
                        "name": {
                          "type": "string"
                        },
                        "title": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "bioImageUrl": {
                          "type": ["string", "null"]
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "cruiseId",
                        "kind",
                        "name",
                        "title",
                        "description",
                        "bioImageUrl",
                        "sortOrder",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Enrichment program not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "delete": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "programId",
            "in": "path"
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Enrichment program not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/sailings": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cruiseId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "shipId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "required": false,
            "name": "dateFrom",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "required": false,
            "name": "dateTo",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["open", "on_request", "wait_list", "sold_out", "closed"]
            },
            "required": false,
            "name": "salesStatus",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["upstream", "downstream", "round_trip", "one_way"]
            },
            "required": false,
            "name": "direction",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of cruise sailings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "cruiseId": {
                            "type": "string"
                          },
                          "shipId": {
                            "type": "string"
                          },
                          "departureDate": {
                            "type": "string"
                          },
                          "returnDate": {
                            "type": "string"
                          },
                          "embarkPortFacilityId": {
                            "type": ["string", "null"]
                          },
                          "embarkPortCanonicalPlaceId": {
                            "type": ["string", "null"]
                          },
                          "disembarkPortFacilityId": {
                            "type": ["string", "null"]
                          },
                          "disembarkPortCanonicalPlaceId": {
                            "type": ["string", "null"]
                          },
                          "direction": {
                            "type": ["string", "null"],
                            "enum": ["upstream", "downstream", "round_trip", "one_way", null]
                          },
                          "availabilityNote": {
                            "type": ["string", "null"]
                          },
                          "isCharter": {
                            "type": "boolean"
                          },
                          "salesStatus": {
                            "type": "string",
                            "enum": ["open", "on_request", "wait_list", "sold_out", "closed"]
                          },
                          "externalRefs": {
                            "type": ["object", "null"],
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "customerPaymentPolicy": {},
                          "lastSyncedAt": {
                            "type": ["string", "null"]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "cruiseId",
                          "shipId",
                          "departureDate",
                          "returnDate",
                          "embarkPortFacilityId",
                          "embarkPortCanonicalPlaceId",
                          "disembarkPortFacilityId",
                          "disembarkPortCanonicalPlaceId",
                          "direction",
                          "availabilityNote",
                          "isCharter",
                          "salesStatus",
                          "externalRefs",
                          "lastSyncedAt",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          }
        }
      },
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cruiseId": {
                    "type": "string"
                  },
                  "shipId": {
                    "type": "string"
                  },
                  "departureDate": {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "returnDate": {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "embarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "embarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "direction": {
                    "type": ["string", "null"],
                    "enum": ["upstream", "downstream", "round_trip", "one_way", null]
                  },
                  "availabilityNote": {
                    "type": ["string", "null"]
                  },
                  "isCharter": {
                    "type": "boolean",
                    "default": false
                  },
                  "salesStatus": {
                    "type": "string",
                    "enum": ["open", "on_request", "wait_list", "sold_out", "closed"],
                    "default": "open"
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  }
                },
                "required": ["cruiseId", "shipId", "departureDate", "returnDate"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created (or upserted) sailing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "cruiseId": {
                          "type": "string"
                        },
                        "shipId": {
                          "type": "string"
                        },
                        "departureDate": {
                          "type": "string"
                        },
                        "returnDate": {
                          "type": "string"
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "direction": {
                          "type": ["string", "null"],
                          "enum": ["upstream", "downstream", "round_trip", "one_way", null]
                        },
                        "availabilityNote": {
                          "type": ["string", "null"]
                        },
                        "isCharter": {
                          "type": "boolean"
                        },
                        "salesStatus": {
                          "type": "string",
                          "enum": ["open", "on_request", "wait_list", "sold_out", "closed"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "customerPaymentPolicy": {},
                        "lastSyncedAt": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "cruiseId",
                        "shipId",
                        "departureDate",
                        "returnDate",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "direction",
                        "availabilityNote",
                        "isCharter",
                        "salesStatus",
                        "externalRefs",
                        "lastSyncedAt",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/sailings/{key}": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A sailing by unified key (local aggregate or external adapter shape)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {}
                  }
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id or external key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Sailing not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cruiseId": {
                    "type": "string"
                  },
                  "shipId": {
                    "type": "string"
                  },
                  "departureDate": {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "returnDate": {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "embarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "embarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "direction": {
                    "type": ["string", "null"],
                    "enum": ["upstream", "downstream", "round_trip", "one_way", null]
                  },
                  "availabilityNote": {
                    "type": ["string", "null"]
                  },
                  "isCharter": {
                    "type": "boolean",
                    "default": false
                  },
                  "salesStatus": {
                    "type": "string",
                    "enum": ["open", "on_request", "wait_list", "sold_out", "closed"],
                    "default": "open"
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated sailing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "cruiseId": {
                          "type": "string"
                        },
                        "shipId": {
                          "type": "string"
                        },
                        "departureDate": {
                          "type": "string"
                        },
                        "returnDate": {
                          "type": "string"
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "direction": {
                          "type": ["string", "null"],
                          "enum": ["upstream", "downstream", "round_trip", "one_way", null]
                        },
                        "availabilityNote": {
                          "type": ["string", "null"]
                        },
                        "isCharter": {
                          "type": "boolean"
                        },
                        "salesStatus": {
                          "type": "string",
                          "enum": ["open", "on_request", "wait_list", "sold_out", "closed"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "customerPaymentPolicy": {},
                        "lastSyncedAt": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "cruiseId",
                        "shipId",
                        "departureDate",
                        "returnDate",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "direction",
                        "availabilityNote",
                        "isCharter",
                        "salesStatus",
                        "externalRefs",
                        "lastSyncedAt",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Sailing not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "External sailing is read-only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/sailings/{key}/itinerary": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Effective itinerary days for the sailing (local merged days or adapter days)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id or external key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/sailings/{key}/days/bulk": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "days": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "dayNumber": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 365
                        },
                        "title": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "portFacilityId": {
                          "type": ["string", "null"]
                        },
                        "portCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "arrivalTime": {
                          "type": ["string", "null"]
                        },
                        "departureTime": {
                          "type": ["string", "null"]
                        },
                        "isOvernight": {
                          "type": ["boolean", "null"]
                        },
                        "isSeaDay": {
                          "type": ["boolean", "null"]
                        },
                        "isExpeditionLanding": {
                          "type": ["boolean", "null"]
                        },
                        "isSkipped": {
                          "type": "boolean",
                          "default": false
                        },
                        "meals": {
                          "type": ["object", "null"],
                          "properties": {
                            "breakfast": {
                              "type": "boolean"
                            },
                            "lunch": {
                              "type": "boolean"
                            },
                            "dinner": {
                              "type": "boolean"
                            }
                          }
                        }
                      },
                      "required": ["dayNumber"]
                    }
                  }
                },
                "required": ["days"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The replaced sailing-day overrides",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "sailingId": {
                            "type": "string"
                          },
                          "dayNumber": {
                            "type": "integer"
                          },
                          "title": {
                            "type": ["string", "null"]
                          },
                          "description": {
                            "type": ["string", "null"]
                          },
                          "portFacilityId": {
                            "type": ["string", "null"]
                          },
                          "portCanonicalPlaceId": {
                            "type": ["string", "null"]
                          },
                          "arrivalTime": {
                            "type": ["string", "null"]
                          },
                          "departureTime": {
                            "type": ["string", "null"]
                          },
                          "isOvernight": {
                            "type": ["boolean", "null"]
                          },
                          "isSeaDay": {
                            "type": ["boolean", "null"]
                          },
                          "isExpeditionLanding": {
                            "type": ["boolean", "null"]
                          },
                          "isSkipped": {
                            "type": "boolean"
                          },
                          "meals": {
                            "type": ["object", "null"],
                            "properties": {
                              "breakfast": {
                                "type": "boolean"
                              },
                              "lunch": {
                                "type": "boolean"
                              },
                              "dinner": {
                                "type": "boolean"
                              }
                            }
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "sailingId",
                          "dayNumber",
                          "title",
                          "description",
                          "portFacilityId",
                          "portCanonicalPlaceId",
                          "arrivalTime",
                          "departureTime",
                          "isOvernight",
                          "isSeaDay",
                          "isExpeditionLanding",
                          "isSkipped",
                          "meals",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "External sailing is read-only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/sailings/{key}/pricing": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Pricing for the sailing (local price rows or external adapter prices)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {}
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id or external key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/sailings/{key}/pricing/bulk": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prices": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "sailingId": {
                          "type": "string"
                        },
                        "cabinCategoryId": {
                          "type": "string"
                        },
                        "occupancy": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 8
                        },
                        "fareCode": {
                          "type": ["string", "null"]
                        },
                        "fareCodeName": {
                          "type": ["string", "null"]
                        },
                        "fareVariant": {
                          "type": "string",
                          "enum": ["cruise_only", "air_inclusive"],
                          "default": "cruise_only"
                        },
                        "currency": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 3,
                          "pattern": "^[A-Z]{3}$"
                        },
                        "pricePerPerson": {
                          "type": "string",
                          "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                        },
                        "originalPricePerPerson": {
                          "type": ["string", "null"],
                          "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                        },
                        "secondGuestPricePerPerson": {
                          "type": ["string", "null"],
                          "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                        },
                        "singlePricePerPerson": {
                          "type": ["string", "null"],
                          "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                        },
                        "singleSupplementPercent": {
                          "type": ["string", "null"]
                        },
                        "availability": {
                          "type": "string",
                          "enum": ["available", "limited", "on_request", "wait_list", "sold_out"],
                          "default": "available"
                        },
                        "availabilityCount": {
                          "type": ["integer", "null"],
                          "minimum": 0
                        },
                        "priceCatalogId": {
                          "type": ["string", "null"]
                        },
                        "priceScheduleId": {
                          "type": ["string", "null"]
                        },
                        "bookingDeadline": {
                          "type": ["string", "null"],
                          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                        },
                        "earlyBookingDeadline": {
                          "type": ["string", "null"],
                          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                        },
                        "earlyBookingBonusDescription": {
                          "type": ["string", "null"]
                        },
                        "requiresRequest": {
                          "type": "boolean",
                          "default": false
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "externalRefs": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          },
                          "default": {}
                        },
                        "components": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "enum": [
                                  "gratuity",
                                  "onboard_credit",
                                  "port_charge",
                                  "tax",
                                  "ncf",
                                  "airfare",
                                  "transfer",
                                  "insurance"
                                ]
                              },
                              "label": {
                                "type": ["string", "null"]
                              },
                              "amount": {
                                "type": "string",
                                "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                              },
                              "currency": {
                                "type": "string",
                                "minLength": 3,
                                "maxLength": 3,
                                "pattern": "^[A-Z]{3}$"
                              },
                              "direction": {
                                "type": "string",
                                "enum": ["addition", "inclusion", "credit"]
                              },
                              "perPerson": {
                                "type": "boolean",
                                "default": true
                              }
                            },
                            "required": ["kind", "amount", "currency", "direction"]
                          }
                        }
                      },
                      "required": [
                        "sailingId",
                        "cabinCategoryId",
                        "occupancy",
                        "currency",
                        "pricePerPerson"
                      ]
                    }
                  }
                },
                "required": ["prices"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The replaced sailing prices",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "sailingId": {
                            "type": "string"
                          },
                          "cabinCategoryId": {
                            "type": "string"
                          },
                          "occupancy": {
                            "type": "integer"
                          },
                          "fareCode": {
                            "type": ["string", "null"]
                          },
                          "fareCodeName": {
                            "type": ["string", "null"]
                          },
                          "fareVariant": {
                            "type": "string",
                            "enum": ["cruise_only", "air_inclusive"]
                          },
                          "currency": {
                            "type": "string"
                          },
                          "pricePerPerson": {
                            "type": "string"
                          },
                          "originalPricePerPerson": {
                            "type": ["string", "null"]
                          },
                          "secondGuestPricePerPerson": {
                            "type": ["string", "null"]
                          },
                          "singlePricePerPerson": {
                            "type": ["string", "null"]
                          },
                          "singleSupplementPercent": {
                            "type": ["string", "null"]
                          },
                          "availability": {
                            "type": "string",
                            "enum": ["available", "limited", "on_request", "wait_list", "sold_out"]
                          },
                          "availabilityCount": {
                            "type": ["integer", "null"]
                          },
                          "priceCatalogId": {
                            "type": ["string", "null"]
                          },
                          "priceScheduleId": {
                            "type": ["string", "null"]
                          },
                          "bookingDeadline": {
                            "type": ["string", "null"]
                          },
                          "earlyBookingDeadline": {
                            "type": ["string", "null"]
                          },
                          "earlyBookingBonusDescription": {
                            "type": ["string", "null"]
                          },
                          "requiresRequest": {
                            "type": "boolean"
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "externalRefs": {
                            "type": ["object", "null"],
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "lastSyncedAt": {
                            "type": ["string", "null"]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "sailingId",
                          "cabinCategoryId",
                          "occupancy",
                          "fareCode",
                          "fareCodeName",
                          "fareVariant",
                          "currency",
                          "pricePerPerson",
                          "originalPricePerPerson",
                          "secondGuestPricePerPerson",
                          "singlePricePerPerson",
                          "singleSupplementPercent",
                          "availability",
                          "availabilityCount",
                          "priceCatalogId",
                          "priceScheduleId",
                          "bookingDeadline",
                          "earlyBookingDeadline",
                          "earlyBookingBonusDescription",
                          "requiresRequest",
                          "notes",
                          "externalRefs",
                          "lastSyncedAt",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "External sailing is read-only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/sailings/{key}/quote": {
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cabinCategoryId": {
                    "type": "string"
                  },
                  "cabinCategoryRef": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  },
                  "occupancy": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 8
                  },
                  "guestCount": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 8
                  },
                  "passengerComposition": {
                    "type": ["object", "null"],
                    "properties": {
                      "adults": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "children": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "childAges": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 17
                        }
                      },
                      "infants": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "seniors": {
                        "type": "integer",
                        "minimum": 0
                      }
                    },
                    "required": ["adults"],
                    "additionalProperties": {}
                  },
                  "fareCode": {
                    "type": ["string", "null"]
                  },
                  "fareVariant": {
                    "type": ["string", "null"],
                    "enum": ["cruise_only", "air_inclusive", null]
                  }
                },
                "required": ["cabinCategoryId", "occupancy"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The composed cruise quote",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {}
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid key, or guestCount/passengerComposition missing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "No matching price for the requested cabin/occupancy/fare",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/prices": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "sailingId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cabinCategoryId",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 8
            },
            "required": false,
            "name": "occupancy",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "fareCode",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["cruise_only", "air_inclusive"]
            },
            "required": false,
            "name": "fareVariant",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["available", "limited", "on_request", "wait_list", "sold_out"]
            },
            "required": false,
            "name": "availability",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "priceCatalogId",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 500,
              "default": 100
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of cruise prices",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "sailingId": {
                            "type": "string"
                          },
                          "cabinCategoryId": {
                            "type": "string"
                          },
                          "occupancy": {
                            "type": "integer"
                          },
                          "fareCode": {
                            "type": ["string", "null"]
                          },
                          "fareCodeName": {
                            "type": ["string", "null"]
                          },
                          "fareVariant": {
                            "type": "string",
                            "enum": ["cruise_only", "air_inclusive"]
                          },
                          "currency": {
                            "type": "string"
                          },
                          "pricePerPerson": {
                            "type": "string"
                          },
                          "originalPricePerPerson": {
                            "type": ["string", "null"]
                          },
                          "secondGuestPricePerPerson": {
                            "type": ["string", "null"]
                          },
                          "singlePricePerPerson": {
                            "type": ["string", "null"]
                          },
                          "singleSupplementPercent": {
                            "type": ["string", "null"]
                          },
                          "availability": {
                            "type": "string",
                            "enum": ["available", "limited", "on_request", "wait_list", "sold_out"]
                          },
                          "availabilityCount": {
                            "type": ["integer", "null"]
                          },
                          "priceCatalogId": {
                            "type": ["string", "null"]
                          },
                          "priceScheduleId": {
                            "type": ["string", "null"]
                          },
                          "bookingDeadline": {
                            "type": ["string", "null"]
                          },
                          "earlyBookingDeadline": {
                            "type": ["string", "null"]
                          },
                          "earlyBookingBonusDescription": {
                            "type": ["string", "null"]
                          },
                          "requiresRequest": {
                            "type": "boolean"
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "externalRefs": {
                            "type": ["object", "null"],
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "lastSyncedAt": {
                            "type": ["string", "null"]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "sailingId",
                          "cabinCategoryId",
                          "occupancy",
                          "fareCode",
                          "fareCodeName",
                          "fareVariant",
                          "currency",
                          "pricePerPerson",
                          "originalPricePerPerson",
                          "secondGuestPricePerPerson",
                          "singlePricePerPerson",
                          "singleSupplementPercent",
                          "availability",
                          "availabilityCount",
                          "priceCatalogId",
                          "priceScheduleId",
                          "bookingDeadline",
                          "earlyBookingDeadline",
                          "earlyBookingBonusDescription",
                          "requiresRequest",
                          "notes",
                          "externalRefs",
                          "lastSyncedAt",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          }
        }
      },
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sailingId": {
                    "type": "string"
                  },
                  "cabinCategoryId": {
                    "type": "string"
                  },
                  "occupancy": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 8
                  },
                  "fareCode": {
                    "type": ["string", "null"]
                  },
                  "fareCodeName": {
                    "type": ["string", "null"]
                  },
                  "fareVariant": {
                    "type": "string",
                    "enum": ["cruise_only", "air_inclusive"],
                    "default": "cruise_only"
                  },
                  "currency": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 3,
                    "pattern": "^[A-Z]{3}$"
                  },
                  "pricePerPerson": {
                    "type": "string",
                    "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                  },
                  "originalPricePerPerson": {
                    "type": ["string", "null"],
                    "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                  },
                  "secondGuestPricePerPerson": {
                    "type": ["string", "null"],
                    "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                  },
                  "singlePricePerPerson": {
                    "type": ["string", "null"],
                    "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                  },
                  "singleSupplementPercent": {
                    "type": ["string", "null"]
                  },
                  "availability": {
                    "type": "string",
                    "enum": ["available", "limited", "on_request", "wait_list", "sold_out"],
                    "default": "available"
                  },
                  "availabilityCount": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "priceCatalogId": {
                    "type": ["string", "null"]
                  },
                  "priceScheduleId": {
                    "type": ["string", "null"]
                  },
                  "bookingDeadline": {
                    "type": ["string", "null"],
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "earlyBookingDeadline": {
                    "type": ["string", "null"],
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "earlyBookingBonusDescription": {
                    "type": ["string", "null"]
                  },
                  "requiresRequest": {
                    "type": "boolean",
                    "default": false
                  },
                  "notes": {
                    "type": ["string", "null"]
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  }
                },
                "required": [
                  "sailingId",
                  "cabinCategoryId",
                  "occupancy",
                  "currency",
                  "pricePerPerson"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created price",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "sailingId": {
                          "type": "string"
                        },
                        "cabinCategoryId": {
                          "type": "string"
                        },
                        "occupancy": {
                          "type": "integer"
                        },
                        "fareCode": {
                          "type": ["string", "null"]
                        },
                        "fareCodeName": {
                          "type": ["string", "null"]
                        },
                        "fareVariant": {
                          "type": "string",
                          "enum": ["cruise_only", "air_inclusive"]
                        },
                        "currency": {
                          "type": "string"
                        },
                        "pricePerPerson": {
                          "type": "string"
                        },
                        "originalPricePerPerson": {
                          "type": ["string", "null"]
                        },
                        "secondGuestPricePerPerson": {
                          "type": ["string", "null"]
                        },
                        "singlePricePerPerson": {
                          "type": ["string", "null"]
                        },
                        "singleSupplementPercent": {
                          "type": ["string", "null"]
                        },
                        "availability": {
                          "type": "string",
                          "enum": ["available", "limited", "on_request", "wait_list", "sold_out"]
                        },
                        "availabilityCount": {
                          "type": ["integer", "null"]
                        },
                        "priceCatalogId": {
                          "type": ["string", "null"]
                        },
                        "priceScheduleId": {
                          "type": ["string", "null"]
                        },
                        "bookingDeadline": {
                          "type": ["string", "null"]
                        },
                        "earlyBookingDeadline": {
                          "type": ["string", "null"]
                        },
                        "earlyBookingBonusDescription": {
                          "type": ["string", "null"]
                        },
                        "requiresRequest": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "lastSyncedAt": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "sailingId",
                        "cabinCategoryId",
                        "occupancy",
                        "fareCode",
                        "fareCodeName",
                        "fareVariant",
                        "currency",
                        "pricePerPerson",
                        "originalPricePerPerson",
                        "secondGuestPricePerPerson",
                        "singlePricePerPerson",
                        "singleSupplementPercent",
                        "availability",
                        "availabilityCount",
                        "priceCatalogId",
                        "priceScheduleId",
                        "bookingDeadline",
                        "earlyBookingDeadline",
                        "earlyBookingBonusDescription",
                        "requiresRequest",
                        "notes",
                        "externalRefs",
                        "lastSyncedAt",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/prices/{priceId}": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "priceId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sailingId": {
                    "type": "string"
                  },
                  "cabinCategoryId": {
                    "type": "string"
                  },
                  "occupancy": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 8
                  },
                  "fareCode": {
                    "type": ["string", "null"]
                  },
                  "fareCodeName": {
                    "type": ["string", "null"]
                  },
                  "fareVariant": {
                    "type": "string",
                    "enum": ["cruise_only", "air_inclusive"],
                    "default": "cruise_only"
                  },
                  "currency": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 3,
                    "pattern": "^[A-Z]{3}$"
                  },
                  "pricePerPerson": {
                    "type": "string",
                    "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                  },
                  "originalPricePerPerson": {
                    "type": ["string", "null"],
                    "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                  },
                  "secondGuestPricePerPerson": {
                    "type": ["string", "null"],
                    "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                  },
                  "singlePricePerPerson": {
                    "type": ["string", "null"],
                    "pattern": "^-?\\d+(\\.\\d{1,2})?$"
                  },
                  "singleSupplementPercent": {
                    "type": ["string", "null"]
                  },
                  "availability": {
                    "type": "string",
                    "enum": ["available", "limited", "on_request", "wait_list", "sold_out"],
                    "default": "available"
                  },
                  "availabilityCount": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "priceCatalogId": {
                    "type": ["string", "null"]
                  },
                  "priceScheduleId": {
                    "type": ["string", "null"]
                  },
                  "bookingDeadline": {
                    "type": ["string", "null"],
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "earlyBookingDeadline": {
                    "type": ["string", "null"],
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "earlyBookingBonusDescription": {
                    "type": ["string", "null"]
                  },
                  "requiresRequest": {
                    "type": "boolean",
                    "default": false
                  },
                  "notes": {
                    "type": ["string", "null"]
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated price",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "sailingId": {
                          "type": "string"
                        },
                        "cabinCategoryId": {
                          "type": "string"
                        },
                        "occupancy": {
                          "type": "integer"
                        },
                        "fareCode": {
                          "type": ["string", "null"]
                        },
                        "fareCodeName": {
                          "type": ["string", "null"]
                        },
                        "fareVariant": {
                          "type": "string",
                          "enum": ["cruise_only", "air_inclusive"]
                        },
                        "currency": {
                          "type": "string"
                        },
                        "pricePerPerson": {
                          "type": "string"
                        },
                        "originalPricePerPerson": {
                          "type": ["string", "null"]
                        },
                        "secondGuestPricePerPerson": {
                          "type": ["string", "null"]
                        },
                        "singlePricePerPerson": {
                          "type": ["string", "null"]
                        },
                        "singleSupplementPercent": {
                          "type": ["string", "null"]
                        },
                        "availability": {
                          "type": "string",
                          "enum": ["available", "limited", "on_request", "wait_list", "sold_out"]
                        },
                        "availabilityCount": {
                          "type": ["integer", "null"]
                        },
                        "priceCatalogId": {
                          "type": ["string", "null"]
                        },
                        "priceScheduleId": {
                          "type": ["string", "null"]
                        },
                        "bookingDeadline": {
                          "type": ["string", "null"]
                        },
                        "earlyBookingDeadline": {
                          "type": ["string", "null"]
                        },
                        "earlyBookingBonusDescription": {
                          "type": ["string", "null"]
                        },
                        "requiresRequest": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "lastSyncedAt": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "sailingId",
                        "cabinCategoryId",
                        "occupancy",
                        "fareCode",
                        "fareCodeName",
                        "fareVariant",
                        "currency",
                        "pricePerPerson",
                        "originalPricePerPerson",
                        "secondGuestPricePerPerson",
                        "singlePricePerPerson",
                        "singleSupplementPercent",
                        "availability",
                        "availabilityCount",
                        "priceCatalogId",
                        "priceScheduleId",
                        "bookingDeadline",
                        "earlyBookingDeadline",
                        "earlyBookingBonusDescription",
                        "requiresRequest",
                        "notes",
                        "externalRefs",
                        "lastSyncedAt",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Price not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/ships": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "lineSupplierId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["ocean", "river", "expedition", "yacht", "sailing", "coastal"]
            },
            "required": false,
            "name": "shipType",
            "in": "query"
          },
          {
            "schema": {
              "type": ["boolean", "null"]
            },
            "required": false,
            "name": "isActive",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "search",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of cruise ships",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "lineSupplierId": {
                            "type": ["string", "null"]
                          },
                          "name": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          },
                          "shipType": {
                            "type": "string",
                            "enum": ["ocean", "river", "expedition", "yacht", "sailing", "coastal"]
                          },
                          "capacityGuests": {
                            "type": ["integer", "null"]
                          },
                          "capacityCrew": {
                            "type": ["integer", "null"]
                          },
                          "cabinCount": {
                            "type": ["integer", "null"]
                          },
                          "deckCount": {
                            "type": ["integer", "null"]
                          },
                          "lengthMeters": {
                            "type": ["string", "null"]
                          },
                          "cruisingSpeedKnots": {
                            "type": ["string", "null"]
                          },
                          "yearBuilt": {
                            "type": ["integer", "null"]
                          },
                          "yearRefurbished": {
                            "type": ["integer", "null"]
                          },
                          "imo": {
                            "type": ["string", "null"]
                          },
                          "description": {
                            "type": ["string", "null"]
                          },
                          "deckPlanUrl": {
                            "type": ["string", "null"]
                          },
                          "gallery": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "string"
                            }
                          },
                          "amenities": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "externalRefs": {
                            "type": ["object", "null"],
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "lineSupplierId",
                          "name",
                          "slug",
                          "shipType",
                          "capacityGuests",
                          "capacityCrew",
                          "cabinCount",
                          "deckCount",
                          "lengthMeters",
                          "cruisingSpeedKnots",
                          "yearBuilt",
                          "yearRefurbished",
                          "imo",
                          "description",
                          "deckPlanUrl",
                          "gallery",
                          "amenities",
                          "externalRefs",
                          "isActive",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          }
        }
      },
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "lineSupplierId": {
                    "type": ["string", "null"]
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "slug": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "pattern": "^[a-z0-9][a-z0-9-]*$"
                  },
                  "shipType": {
                    "type": "string",
                    "enum": ["ocean", "river", "expedition", "yacht", "sailing", "coastal"]
                  },
                  "capacityGuests": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "capacityCrew": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "cabinCount": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "deckCount": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "lengthMeters": {
                    "type": ["string", "null"]
                  },
                  "cruisingSpeedKnots": {
                    "type": ["string", "null"]
                  },
                  "yearBuilt": {
                    "type": ["integer", "null"]
                  },
                  "yearRefurbished": {
                    "type": ["integer", "null"]
                  },
                  "imo": {
                    "type": ["string", "null"]
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "deckPlanUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  },
                  "gallery": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "amenities": {
                    "type": "object",
                    "additionalProperties": {},
                    "default": {}
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  },
                  "isActive": {
                    "type": "boolean",
                    "default": true
                  }
                },
                "required": ["name", "slug", "shipType"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created ship",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "lineSupplierId": {
                          "type": ["string", "null"]
                        },
                        "name": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "shipType": {
                          "type": "string",
                          "enum": ["ocean", "river", "expedition", "yacht", "sailing", "coastal"]
                        },
                        "capacityGuests": {
                          "type": ["integer", "null"]
                        },
                        "capacityCrew": {
                          "type": ["integer", "null"]
                        },
                        "cabinCount": {
                          "type": ["integer", "null"]
                        },
                        "deckCount": {
                          "type": ["integer", "null"]
                        },
                        "lengthMeters": {
                          "type": ["string", "null"]
                        },
                        "cruisingSpeedKnots": {
                          "type": ["string", "null"]
                        },
                        "yearBuilt": {
                          "type": ["integer", "null"]
                        },
                        "yearRefurbished": {
                          "type": ["integer", "null"]
                        },
                        "imo": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "deckPlanUrl": {
                          "type": ["string", "null"]
                        },
                        "gallery": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "amenities": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "lineSupplierId",
                        "name",
                        "slug",
                        "shipType",
                        "capacityGuests",
                        "capacityCrew",
                        "cabinCount",
                        "deckCount",
                        "lengthMeters",
                        "cruisingSpeedKnots",
                        "yearBuilt",
                        "yearRefurbished",
                        "imo",
                        "description",
                        "deckPlanUrl",
                        "gallery",
                        "amenities",
                        "externalRefs",
                        "isActive",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/ships/{key}": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A ship by unified key (local row or external adapter shape)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "lineSupplierId": {
                              "type": ["string", "null"]
                            },
                            "name": {
                              "type": "string"
                            },
                            "slug": {
                              "type": "string"
                            },
                            "shipType": {
                              "type": "string",
                              "enum": [
                                "ocean",
                                "river",
                                "expedition",
                                "yacht",
                                "sailing",
                                "coastal"
                              ]
                            },
                            "capacityGuests": {
                              "type": ["integer", "null"]
                            },
                            "capacityCrew": {
                              "type": ["integer", "null"]
                            },
                            "cabinCount": {
                              "type": ["integer", "null"]
                            },
                            "deckCount": {
                              "type": ["integer", "null"]
                            },
                            "lengthMeters": {
                              "type": ["string", "null"]
                            },
                            "cruisingSpeedKnots": {
                              "type": ["string", "null"]
                            },
                            "yearBuilt": {
                              "type": ["integer", "null"]
                            },
                            "yearRefurbished": {
                              "type": ["integer", "null"]
                            },
                            "imo": {
                              "type": ["string", "null"]
                            },
                            "description": {
                              "type": ["string", "null"]
                            },
                            "deckPlanUrl": {
                              "type": ["string", "null"]
                            },
                            "gallery": {
                              "type": ["array", "null"],
                              "items": {
                                "type": "string"
                              }
                            },
                            "amenities": {
                              "type": ["object", "null"],
                              "additionalProperties": {}
                            },
                            "externalRefs": {
                              "type": ["object", "null"],
                              "additionalProperties": {
                                "type": "string"
                              }
                            },
                            "isActive": {
                              "type": "boolean"
                            },
                            "createdAt": {
                              "type": "string"
                            },
                            "updatedAt": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "id",
                            "lineSupplierId",
                            "name",
                            "slug",
                            "shipType",
                            "capacityGuests",
                            "capacityCrew",
                            "cabinCount",
                            "deckCount",
                            "lengthMeters",
                            "cruisingSpeedKnots",
                            "yearBuilt",
                            "yearRefurbished",
                            "imo",
                            "description",
                            "deckPlanUrl",
                            "gallery",
                            "amenities",
                            "externalRefs",
                            "isActive",
                            "createdAt",
                            "updatedAt"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "type": "string",
                              "enum": ["external"]
                            },
                            "sourceProvider": {
                              "type": "string"
                            },
                            "sourceRef": {},
                            "ship": {}
                          },
                          "required": ["source", "sourceProvider"]
                        }
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id or external key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Ship not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "lineSupplierId": {
                    "type": ["string", "null"]
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "slug": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "pattern": "^[a-z0-9][a-z0-9-]*$"
                  },
                  "shipType": {
                    "type": "string",
                    "enum": ["ocean", "river", "expedition", "yacht", "sailing", "coastal"]
                  },
                  "capacityGuests": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "capacityCrew": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "cabinCount": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "deckCount": {
                    "type": ["integer", "null"],
                    "minimum": 0
                  },
                  "lengthMeters": {
                    "type": ["string", "null"]
                  },
                  "cruisingSpeedKnots": {
                    "type": ["string", "null"]
                  },
                  "yearBuilt": {
                    "type": ["integer", "null"]
                  },
                  "yearRefurbished": {
                    "type": ["integer", "null"]
                  },
                  "imo": {
                    "type": ["string", "null"]
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "deckPlanUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  },
                  "gallery": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "amenities": {
                    "type": "object",
                    "additionalProperties": {},
                    "default": {}
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  },
                  "isActive": {
                    "type": "boolean",
                    "default": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated ship",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "lineSupplierId": {
                          "type": ["string", "null"]
                        },
                        "name": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "shipType": {
                          "type": "string",
                          "enum": ["ocean", "river", "expedition", "yacht", "sailing", "coastal"]
                        },
                        "capacityGuests": {
                          "type": ["integer", "null"]
                        },
                        "capacityCrew": {
                          "type": ["integer", "null"]
                        },
                        "cabinCount": {
                          "type": ["integer", "null"]
                        },
                        "deckCount": {
                          "type": ["integer", "null"]
                        },
                        "lengthMeters": {
                          "type": ["string", "null"]
                        },
                        "cruisingSpeedKnots": {
                          "type": ["string", "null"]
                        },
                        "yearBuilt": {
                          "type": ["integer", "null"]
                        },
                        "yearRefurbished": {
                          "type": ["integer", "null"]
                        },
                        "imo": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "deckPlanUrl": {
                          "type": ["string", "null"]
                        },
                        "gallery": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "amenities": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "lineSupplierId",
                        "name",
                        "slug",
                        "shipType",
                        "capacityGuests",
                        "capacityCrew",
                        "cabinCount",
                        "deckCount",
                        "lengthMeters",
                        "cruisingSpeedKnots",
                        "yearBuilt",
                        "yearRefurbished",
                        "imo",
                        "description",
                        "deckPlanUrl",
                        "gallery",
                        "amenities",
                        "externalRefs",
                        "isActive",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Ship not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "External cruise/ship is read-only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/ships/{key}/effective": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "default": "en-GB"
            },
            "required": false,
            "name": "locale",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["customer", "partner"],
              "default": "customer"
            },
            "required": false,
            "name": "audience",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "default": "default"
            },
            "required": false,
            "name": "market",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Public effective ship presentation content",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {}
                  }
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Ship not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/ships/{key}/editorial-overlays": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "default": "en-GB"
            },
            "required": false,
            "name": "locale",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["staff", "customer", "partner", "supplier", "default"],
              "default": "customer"
            },
            "required": false,
            "name": "audience",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "default": "default"
            },
            "required": false,
            "name": "market",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Ship source, overlays, and effective content",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {}
                  }
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Ship not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fieldPath": {
                    "type": "string",
                    "minLength": 1
                  },
                  "locale": {
                    "type": "string",
                    "minLength": 1,
                    "default": "en-GB"
                  },
                  "audience": {
                    "type": "string",
                    "enum": ["staff", "customer", "partner", "supplier", "default"],
                    "default": "customer"
                  },
                  "market": {
                    "type": "string",
                    "minLength": 1,
                    "default": "default"
                  },
                  "value": {},
                  "expectedVersion": {
                    "type": ["integer", "null"]
                  },
                  "editorialNote": {
                    "type": "string"
                  }
                },
                "required": ["fieldPath"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Ship editorial overlay written",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {}
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid overlay field or value",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Ship not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "Overlay version conflict",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "delete": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "default": "en-GB"
            },
            "required": false,
            "name": "locale",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["staff", "customer", "partner", "supplier", "default"],
              "default": "customer"
            },
            "required": false,
            "name": "audience",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "default": "default"
            },
            "required": false,
            "name": "market",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "fieldPath",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"]
            },
            "required": false,
            "name": "expectedVersion",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Ship editorial overlay cleared",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {}
                  }
                }
              }
            }
          },
          "400": {
            "description": "Key is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Ship not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "Overlay version conflict",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/ships/{key}/editorial-overlays/history": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "default": "en-GB"
            },
            "required": false,
            "name": "locale",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["staff", "customer", "partner", "supplier", "default"],
              "default": "customer"
            },
            "required": false,
            "name": "audience",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "default": "default"
            },
            "required": false,
            "name": "market",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": false,
            "name": "fieldPath",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"]
            },
            "required": false,
            "name": "expectedVersion",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Ship editorial overlay history",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not valid",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Ship not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/ships/{key}/decks": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Decks for the ship (local rows or external adapter decks)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id or external key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "level": {
                    "type": ["integer", "null"]
                  },
                  "planImageUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  }
                },
                "required": ["name"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created (or upserted) deck",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "shipId": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "level": {
                          "type": ["integer", "null"]
                        },
                        "planImageUrl": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "shipId",
                        "name",
                        "level",
                        "planImageUrl",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "External cruise/ship is read-only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/decks/{deckId}": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "deckId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "shipId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "level": {
                    "type": ["integer", "null"]
                  },
                  "planImageUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated deck",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "shipId": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "level": {
                          "type": ["integer", "null"]
                        },
                        "planImageUrl": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "shipId",
                        "name",
                        "level",
                        "planImageUrl",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Deck not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/ships/{key}/categories": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Cabin categories for the ship (local rows or external adapter shapes)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id or external key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/ships/{key}/categories/bulk": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "categories": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "shipId": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 50
                        },
                        "name": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 255
                        },
                        "roomType": {
                          "type": "string",
                          "enum": ["inside", "oceanview", "balcony", "suite", "penthouse", "single"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "minOccupancy": {
                          "type": "integer",
                          "minimum": 1,
                          "default": 1
                        },
                        "maxOccupancy": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "squareFeet": {
                          "type": ["string", "null"]
                        },
                        "wheelchairAccessible": {
                          "type": "boolean",
                          "default": false
                        },
                        "amenities": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "featureCodes": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "bedConfigurations": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "single",
                              "twin",
                              "double",
                              "queen",
                              "king",
                              "convertible_twins",
                              "sofa_bed",
                              "pullman",
                              "bunk",
                              "murphy"
                            ]
                          },
                          "default": []
                        },
                        "accessibilityFeatures": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "wheelchair_accessible",
                              "step_free_access",
                              "roll_in_shower",
                              "grab_bars",
                              "visual_alarm",
                              "hearing_loop",
                              "accessible_balcony",
                              "accessible_bathroom"
                            ]
                          },
                          "default": []
                        },
                        "viewType": {
                          "type": ["string", "null"],
                          "enum": [
                            "none",
                            "interior",
                            "virtual",
                            "porthole",
                            "window",
                            "oceanview",
                            "river_view",
                            "balcony",
                            "french_balcony",
                            "promenade",
                            "obstructed",
                            null
                          ]
                        },
                        "images": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "floorplanImages": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "gradeCodes": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "externalRefs": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          },
                          "default": {}
                        }
                      },
                      "required": ["shipId", "code", "name", "roomType", "maxOccupancy"]
                    }
                  }
                },
                "required": ["categories"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The upserted cabin categories",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "shipId": {
                            "type": "string"
                          },
                          "code": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "roomType": {
                            "type": "string",
                            "enum": [
                              "inside",
                              "oceanview",
                              "balcony",
                              "suite",
                              "penthouse",
                              "single"
                            ]
                          },
                          "description": {
                            "type": ["string", "null"]
                          },
                          "minOccupancy": {
                            "type": "integer"
                          },
                          "maxOccupancy": {
                            "type": "integer"
                          },
                          "squareFeet": {
                            "type": ["string", "null"]
                          },
                          "wheelchairAccessible": {
                            "type": "boolean"
                          },
                          "amenities": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "string"
                            }
                          },
                          "featureCodes": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "string"
                            }
                          },
                          "bedConfigurations": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "string"
                            }
                          },
                          "accessibilityFeatures": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "string"
                            }
                          },
                          "viewType": {
                            "type": ["string", "null"]
                          },
                          "images": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "string"
                            }
                          },
                          "floorplanImages": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "string"
                            }
                          },
                          "gradeCodes": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "string"
                            }
                          },
                          "externalRefs": {
                            "type": ["object", "null"],
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "customerPaymentPolicy": {},
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "shipId",
                          "code",
                          "name",
                          "roomType",
                          "description",
                          "minOccupancy",
                          "maxOccupancy",
                          "squareFeet",
                          "wheelchairAccessible",
                          "amenities",
                          "featureCodes",
                          "bedConfigurations",
                          "accessibilityFeatures",
                          "viewType",
                          "images",
                          "floorplanImages",
                          "gradeCodes",
                          "externalRefs",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "External cruise/ship is read-only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/categories/{categoryId}": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "categoryId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "shipId": {
                    "type": "string"
                  },
                  "code": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 50
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "roomType": {
                    "type": "string",
                    "enum": ["inside", "oceanview", "balcony", "suite", "penthouse", "single"]
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "minOccupancy": {
                    "type": "integer",
                    "minimum": 1,
                    "default": 1
                  },
                  "maxOccupancy": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "squareFeet": {
                    "type": ["string", "null"]
                  },
                  "wheelchairAccessible": {
                    "type": "boolean",
                    "default": false
                  },
                  "amenities": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "featureCodes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "bedConfigurations": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "single",
                        "twin",
                        "double",
                        "queen",
                        "king",
                        "convertible_twins",
                        "sofa_bed",
                        "pullman",
                        "bunk",
                        "murphy"
                      ]
                    },
                    "default": []
                  },
                  "accessibilityFeatures": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "wheelchair_accessible",
                        "step_free_access",
                        "roll_in_shower",
                        "grab_bars",
                        "visual_alarm",
                        "hearing_loop",
                        "accessible_balcony",
                        "accessible_bathroom"
                      ]
                    },
                    "default": []
                  },
                  "viewType": {
                    "type": ["string", "null"],
                    "enum": [
                      "none",
                      "interior",
                      "virtual",
                      "porthole",
                      "window",
                      "oceanview",
                      "river_view",
                      "balcony",
                      "french_balcony",
                      "promenade",
                      "obstructed",
                      null
                    ]
                  },
                  "images": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "floorplanImages": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "gradeCodes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated cabin category",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "shipId": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "roomType": {
                          "type": "string",
                          "enum": ["inside", "oceanview", "balcony", "suite", "penthouse", "single"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "minOccupancy": {
                          "type": "integer"
                        },
                        "maxOccupancy": {
                          "type": "integer"
                        },
                        "squareFeet": {
                          "type": ["string", "null"]
                        },
                        "wheelchairAccessible": {
                          "type": "boolean"
                        },
                        "amenities": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "featureCodes": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "bedConfigurations": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "accessibilityFeatures": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "viewType": {
                          "type": ["string", "null"]
                        },
                        "images": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "floorplanImages": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "gradeCodes": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "customerPaymentPolicy": {},
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "shipId",
                        "code",
                        "name",
                        "roomType",
                        "description",
                        "minOccupancy",
                        "maxOccupancy",
                        "squareFeet",
                        "wheelchairAccessible",
                        "amenities",
                        "featureCodes",
                        "bedConfigurations",
                        "accessibilityFeatures",
                        "viewType",
                        "images",
                        "floorplanImages",
                        "gradeCodes",
                        "externalRefs",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Cabin category not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/categories/{categoryId}/cabins": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "categoryId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Cabins in the category",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "categoryId": {
                            "type": "string"
                          },
                          "cabinNumber": {
                            "type": "string"
                          },
                          "deckId": {
                            "type": ["string", "null"]
                          },
                          "position": {
                            "type": ["string", "null"]
                          },
                          "connectsTo": {
                            "type": ["string", "null"]
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "categoryId",
                          "cabinNumber",
                          "deckId",
                          "position",
                          "connectsTo",
                          "notes",
                          "isActive",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/categories/{categoryId}/cabins/bulk": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "categoryId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cabins": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "cabinNumber": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 50
                        },
                        "deckId": {
                          "type": ["string", "null"]
                        },
                        "position": {
                          "type": ["string", "null"]
                        },
                        "connectsTo": {
                          "type": ["string", "null"]
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "isActive": {
                          "type": "boolean",
                          "default": true
                        }
                      },
                      "required": ["cabinNumber"]
                    }
                  }
                },
                "required": ["cabins"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The upserted cabins",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "categoryId": {
                            "type": "string"
                          },
                          "cabinNumber": {
                            "type": "string"
                          },
                          "deckId": {
                            "type": ["string", "null"]
                          },
                          "position": {
                            "type": ["string", "null"]
                          },
                          "connectsTo": {
                            "type": ["string", "null"]
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "categoryId",
                          "cabinNumber",
                          "deckId",
                          "position",
                          "connectsTo",
                          "notes",
                          "isActive",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/cabins/{cabinId}": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "cabinId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "categoryId": {
                    "type": "string"
                  },
                  "cabinNumber": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 50
                  },
                  "deckId": {
                    "type": ["string", "null"]
                  },
                  "position": {
                    "type": ["string", "null"]
                  },
                  "connectsTo": {
                    "type": ["string", "null"]
                  },
                  "notes": {
                    "type": ["string", "null"]
                  },
                  "isActive": {
                    "type": "boolean",
                    "default": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated cabin",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "categoryId": {
                          "type": "string"
                        },
                        "cabinNumber": {
                          "type": "string"
                        },
                        "deckId": {
                          "type": ["string", "null"]
                        },
                        "position": {
                          "type": ["string", "null"]
                        },
                        "connectsTo": {
                          "type": ["string", "null"]
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "categoryId",
                        "cabinNumber",
                        "deckId",
                        "position",
                        "connectsTo",
                        "notes",
                        "isActive",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Cabin not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/search-index/bulk": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entries": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "source": {
                          "type": "string",
                          "enum": ["local", "external"]
                        },
                        "sourceProvider": {
                          "type": ["string", "null"]
                        },
                        "sourceRef": {
                          "type": ["object", "null"],
                          "properties": {
                            "connectionId": {
                              "type": "string"
                            },
                            "externalId": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {}
                        },
                        "localCruiseId": {
                          "type": ["string", "null"]
                        },
                        "slug": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 255,
                          "pattern": "^[a-z0-9][a-z0-9-]*$"
                        },
                        "name": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 255
                        },
                        "cruiseType": {
                          "type": "string",
                          "enum": ["ocean", "river", "expedition", "coastal"]
                        },
                        "lineName": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 255
                        },
                        "shipName": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 255
                        },
                        "nights": {
                          "type": "integer",
                          "exclusiveMinimum": 0
                        },
                        "embarkPortName": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortName": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "regionIds": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "waterwayIds": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "portIds": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "countryIso": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "regions": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "waterways": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "ports": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "countries": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "themes": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "default": []
                        },
                        "earliestDeparture": {
                          "type": ["string", "null"],
                          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                        },
                        "latestDeparture": {
                          "type": ["string", "null"],
                          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                        },
                        "departureCount": {
                          "type": ["integer", "null"],
                          "minimum": 0
                        },
                        "lowestPriceCents": {
                          "type": ["integer", "null"],
                          "minimum": 0
                        },
                        "lowestPriceCurrency": {
                          "type": ["string", "null"],
                          "minLength": 3,
                          "maxLength": 3,
                          "pattern": "^[A-Z]{3}$"
                        },
                        "salesStatus": {
                          "type": ["string", "null"]
                        },
                        "heroImageUrl": {
                          "type": ["string", "null"],
                          "format": "uri"
                        }
                      },
                      "required": [
                        "source",
                        "slug",
                        "name",
                        "cruiseType",
                        "lineName",
                        "shipName",
                        "nights"
                      ]
                    }
                  }
                },
                "required": ["entries"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The number of upserted search-index entries",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "upserted": {
                          "type": "integer"
                        }
                      },
                      "required": ["upserted"]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/search-index/{crsiId}": {
      "delete": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "crsiId",
            "in": "path"
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Search-index entry not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/search-index/rebuild": {
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "responses": {
          "200": {
            "description": "Rebuild counts for local + external search-index entries",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "localUpserted": {
                          "type": "integer"
                        },
                        "externalUpserted": {
                          "type": "integer"
                        },
                        "externalRemoved": {
                          "type": "integer"
                        },
                        "externalErrors": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "adapter": {
                                "type": "string"
                              },
                              "error": {
                                "type": "string"
                              }
                            },
                            "required": ["adapter", "error"]
                          }
                        }
                      },
                      "required": [
                        "localUpserted",
                        "externalUpserted",
                        "externalRemoved",
                        "externalErrors"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/{key}": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A cruise by unified key (local aggregate or external content)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {}
                  }
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id or external key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Cruise not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "503": {
            "description": "Source-adapter registry is not configured",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "slug": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "pattern": "^[a-z0-9][a-z0-9-]*$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "cruiseType": {
                    "type": "string",
                    "enum": ["ocean", "river", "expedition", "coastal"]
                  },
                  "lineSupplierId": {
                    "type": ["string", "null"]
                  },
                  "defaultShipId": {
                    "type": ["string", "null"]
                  },
                  "nights": {
                    "type": "integer",
                    "exclusiveMinimum": 0
                  },
                  "embarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "embarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortFacilityId": {
                    "type": ["string", "null"]
                  },
                  "disembarkPortCanonicalPlaceId": {
                    "type": ["string", "null"]
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "shortDescription": {
                    "type": ["string", "null"]
                  },
                  "highlights": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "inclusionsHtml": {
                    "type": ["string", "null"]
                  },
                  "exclusionsHtml": {
                    "type": ["string", "null"]
                  },
                  "regionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "waterwayIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "portIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "countryIso": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "regions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "waterways": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "ports": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "countries": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "themes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "heroImageUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  },
                  "mapImageUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  },
                  "status": {
                    "type": "string",
                    "enum": ["draft", "awaiting_review", "live", "archived"],
                    "default": "draft"
                  },
                  "externalRefs": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "default": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated cruise",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "cruiseType": {
                          "type": "string",
                          "enum": ["ocean", "river", "expedition", "coastal"]
                        },
                        "lineSupplierId": {
                          "type": ["string", "null"]
                        },
                        "defaultShipId": {
                          "type": ["string", "null"]
                        },
                        "nights": {
                          "type": "integer"
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "shortDescription": {
                          "type": ["string", "null"]
                        },
                        "highlights": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "inclusionsHtml": {
                          "type": ["string", "null"]
                        },
                        "exclusionsHtml": {
                          "type": ["string", "null"]
                        },
                        "regionIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "waterwayIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "portIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "countryIso": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "regions": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "waterways": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "ports": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "countries": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "themes": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "heroImageUrl": {
                          "type": ["string", "null"]
                        },
                        "mapImageUrl": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "awaiting_review", "live", "archived"]
                        },
                        "lowestPriceCached": {
                          "type": ["string", "null"]
                        },
                        "lowestPriceCurrencyCached": {
                          "type": ["string", "null"]
                        },
                        "earliestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "latestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "customerPaymentPolicy": {},
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "cruiseType",
                        "lineSupplierId",
                        "defaultShipId",
                        "nights",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "description",
                        "shortDescription",
                        "highlights",
                        "inclusionsHtml",
                        "exclusionsHtml",
                        "regionIds",
                        "waterwayIds",
                        "portIds",
                        "countryIso",
                        "regions",
                        "waterways",
                        "ports",
                        "countries",
                        "themes",
                        "heroImageUrl",
                        "mapImageUrl",
                        "status",
                        "lowestPriceCached",
                        "lowestPriceCurrencyCached",
                        "earliestDepartureCached",
                        "latestDepartureCached",
                        "externalRefs",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Cruise not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "External cruise is read-only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "delete": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The archived cruise",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "cruiseType": {
                          "type": "string",
                          "enum": ["ocean", "river", "expedition", "coastal"]
                        },
                        "lineSupplierId": {
                          "type": ["string", "null"]
                        },
                        "defaultShipId": {
                          "type": ["string", "null"]
                        },
                        "nights": {
                          "type": "integer"
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "shortDescription": {
                          "type": ["string", "null"]
                        },
                        "highlights": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "inclusionsHtml": {
                          "type": ["string", "null"]
                        },
                        "exclusionsHtml": {
                          "type": ["string", "null"]
                        },
                        "regionIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "waterwayIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "portIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "countryIso": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "regions": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "waterways": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "ports": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "countries": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "themes": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "heroImageUrl": {
                          "type": ["string", "null"]
                        },
                        "mapImageUrl": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "awaiting_review", "live", "archived"]
                        },
                        "lowestPriceCached": {
                          "type": ["string", "null"]
                        },
                        "lowestPriceCurrencyCached": {
                          "type": ["string", "null"]
                        },
                        "earliestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "latestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "customerPaymentPolicy": {},
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "cruiseType",
                        "lineSupplierId",
                        "defaultShipId",
                        "nights",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "description",
                        "shortDescription",
                        "highlights",
                        "inclusionsHtml",
                        "exclusionsHtml",
                        "regionIds",
                        "waterwayIds",
                        "portIds",
                        "countryIso",
                        "regions",
                        "waterways",
                        "ports",
                        "countries",
                        "themes",
                        "heroImageUrl",
                        "mapImageUrl",
                        "status",
                        "lowestPriceCached",
                        "lowestPriceCurrencyCached",
                        "earliestDepartureCached",
                        "latestDepartureCached",
                        "externalRefs",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Cruise not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "External cruise is read-only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/{key}/aggregates/recompute": {
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The cruise with recomputed aggregates",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "cruiseType": {
                          "type": "string",
                          "enum": ["ocean", "river", "expedition", "coastal"]
                        },
                        "lineSupplierId": {
                          "type": ["string", "null"]
                        },
                        "defaultShipId": {
                          "type": ["string", "null"]
                        },
                        "nights": {
                          "type": "integer"
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "shortDescription": {
                          "type": ["string", "null"]
                        },
                        "highlights": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "inclusionsHtml": {
                          "type": ["string", "null"]
                        },
                        "exclusionsHtml": {
                          "type": ["string", "null"]
                        },
                        "regionIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "waterwayIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "portIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "countryIso": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "regions": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "waterways": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "ports": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "countries": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "themes": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "heroImageUrl": {
                          "type": ["string", "null"]
                        },
                        "mapImageUrl": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "awaiting_review", "live", "archived"]
                        },
                        "lowestPriceCached": {
                          "type": ["string", "null"]
                        },
                        "lowestPriceCurrencyCached": {
                          "type": ["string", "null"]
                        },
                        "earliestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "latestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "customerPaymentPolicy": {},
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "cruiseType",
                        "lineSupplierId",
                        "defaultShipId",
                        "nights",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "description",
                        "shortDescription",
                        "highlights",
                        "inclusionsHtml",
                        "exclusionsHtml",
                        "regionIds",
                        "waterwayIds",
                        "portIds",
                        "countryIso",
                        "regions",
                        "waterways",
                        "ports",
                        "countries",
                        "themes",
                        "heroImageUrl",
                        "mapImageUrl",
                        "status",
                        "lowestPriceCached",
                        "lowestPriceCurrencyCached",
                        "earliestDepartureCached",
                        "latestDepartureCached",
                        "externalRefs",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "Cruise not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "External cruise is read-only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/{key}/sailings": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Sailings for the cruise (local rows or external adapter shapes)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {}
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id or external key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/{key}/days/bulk": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "days": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "dayNumber": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 365
                        },
                        "title": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "portFacilityId": {
                          "type": ["string", "null"]
                        },
                        "portCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "arrivalTime": {
                          "type": ["string", "null"]
                        },
                        "departureTime": {
                          "type": ["string", "null"]
                        },
                        "isOvernight": {
                          "type": "boolean",
                          "default": false
                        },
                        "isSeaDay": {
                          "type": "boolean",
                          "default": false
                        },
                        "isExpeditionLanding": {
                          "type": "boolean",
                          "default": false
                        },
                        "meals": {
                          "type": "object",
                          "properties": {
                            "breakfast": {
                              "type": "boolean"
                            },
                            "lunch": {
                              "type": "boolean"
                            },
                            "dinner": {
                              "type": "boolean"
                            }
                          },
                          "default": {}
                        }
                      },
                      "required": ["dayNumber"]
                    }
                  }
                },
                "required": ["days"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The replaced itinerary days",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "cruiseId": {
                            "type": "string"
                          },
                          "dayNumber": {
                            "type": "integer"
                          },
                          "title": {
                            "type": ["string", "null"]
                          },
                          "description": {
                            "type": ["string", "null"]
                          },
                          "portFacilityId": {
                            "type": ["string", "null"]
                          },
                          "portCanonicalPlaceId": {
                            "type": ["string", "null"]
                          },
                          "arrivalTime": {
                            "type": ["string", "null"]
                          },
                          "departureTime": {
                            "type": ["string", "null"]
                          },
                          "isOvernight": {
                            "type": "boolean"
                          },
                          "isSeaDay": {
                            "type": "boolean"
                          },
                          "isExpeditionLanding": {
                            "type": "boolean"
                          },
                          "meals": {
                            "type": ["object", "null"],
                            "properties": {
                              "breakfast": {
                                "type": "boolean"
                              },
                              "lunch": {
                                "type": "boolean"
                              },
                              "dinner": {
                                "type": "boolean"
                              }
                            }
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "cruiseId",
                          "dayNumber",
                          "title",
                          "description",
                          "portFacilityId",
                          "portCanonicalPlaceId",
                          "arrivalTime",
                          "departureTime",
                          "isOvernight",
                          "isSeaDay",
                          "isExpeditionLanding",
                          "meals",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "External cruise is read-only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/{key}/refresh": {
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The refreshed external cruise content",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {}
                  }
                }
              }
            }
          },
          "400": {
            "description": "Key is not an external cruise key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "404": {
            "description": "No sourced-entry row for the cruise",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "503": {
            "description": "Source-adapter registry is not configured",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/{key}/detach": {
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "201": {
            "description": "The detached (now-local) cruise",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "cruiseType": {
                          "type": "string",
                          "enum": ["ocean", "river", "expedition", "coastal"]
                        },
                        "lineSupplierId": {
                          "type": ["string", "null"]
                        },
                        "defaultShipId": {
                          "type": ["string", "null"]
                        },
                        "nights": {
                          "type": "integer"
                        },
                        "embarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "embarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortFacilityId": {
                          "type": ["string", "null"]
                        },
                        "disembarkPortCanonicalPlaceId": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "shortDescription": {
                          "type": ["string", "null"]
                        },
                        "highlights": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "inclusionsHtml": {
                          "type": ["string", "null"]
                        },
                        "exclusionsHtml": {
                          "type": ["string", "null"]
                        },
                        "regionIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "waterwayIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "portIds": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "countryIso": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "regions": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "waterways": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "ports": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "countries": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "themes": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "heroImageUrl": {
                          "type": ["string", "null"]
                        },
                        "mapImageUrl": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "awaiting_review", "live", "archived"]
                        },
                        "lowestPriceCached": {
                          "type": ["string", "null"]
                        },
                        "lowestPriceCurrencyCached": {
                          "type": ["string", "null"]
                        },
                        "earliestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "latestDepartureCached": {
                          "type": ["string", "null"]
                        },
                        "externalRefs": {
                          "type": ["object", "null"],
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "customerPaymentPolicy": {},
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "cruiseType",
                        "lineSupplierId",
                        "defaultShipId",
                        "nights",
                        "embarkPortFacilityId",
                        "embarkPortCanonicalPlaceId",
                        "disembarkPortFacilityId",
                        "disembarkPortCanonicalPlaceId",
                        "description",
                        "shortDescription",
                        "highlights",
                        "inclusionsHtml",
                        "exclusionsHtml",
                        "regionIds",
                        "waterwayIds",
                        "portIds",
                        "countryIso",
                        "regions",
                        "waterways",
                        "ports",
                        "countries",
                        "themes",
                        "heroImageUrl",
                        "mapImageUrl",
                        "status",
                        "lowestPriceCached",
                        "lowestPriceCurrencyCached",
                        "earliestDepartureCached",
                        "latestDepartureCached",
                        "externalRefs",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not an external cruise key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/{key}/enrichment": {
      "get": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Enrichment programs for the cruise (empty for external cruises)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "cruiseId": {
                            "type": "string"
                          },
                          "kind": {
                            "type": "string",
                            "enum": [
                              "naturalist",
                              "historian",
                              "photographer",
                              "lecturer",
                              "expert",
                              "other"
                            ]
                          },
                          "name": {
                            "type": "string"
                          },
                          "title": {
                            "type": ["string", "null"]
                          },
                          "description": {
                            "type": ["string", "null"]
                          },
                          "bioImageUrl": {
                            "type": ["string", "null"]
                          },
                          "sortOrder": {
                            "type": "integer"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "cruiseId",
                          "kind",
                          "name",
                          "title",
                          "description",
                          "bioImageUrl",
                          "sortOrder",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id or external key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "501": {
            "description": "Referenced adapter is not registered",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "post": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "naturalist",
                      "historian",
                      "photographer",
                      "lecturer",
                      "expert",
                      "other"
                    ]
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "title": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "description": {
                    "type": ["string", "null"]
                  },
                  "bioImageUrl": {
                    "type": ["string", "null"],
                    "format": "uri"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "default": 0
                  }
                },
                "required": ["kind", "name"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created enrichment program",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "cruiseId": {
                          "type": "string"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "naturalist",
                            "historian",
                            "photographer",
                            "lecturer",
                            "expert",
                            "other"
                          ]
                        },
                        "name": {
                          "type": "string"
                        },
                        "title": {
                          "type": ["string", "null"]
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "bioImageUrl": {
                          "type": ["string", "null"]
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "cruiseId",
                        "kind",
                        "name",
                        "title",
                        "description",
                        "bioImageUrl",
                        "sortOrder",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "External cruise is read-only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/cruises/{key}/enrichment/bulk": {
      "put": {
        "x-voyant-api-id": "@voyant-travel/cruises#api.admin",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "key",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "programs": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "enum": [
                            "naturalist",
                            "historian",
                            "photographer",
                            "lecturer",
                            "expert",
                            "other"
                          ]
                        },
                        "name": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 255
                        },
                        "title": {
                          "type": ["string", "null"],
                          "maxLength": 255
                        },
                        "description": {
                          "type": ["string", "null"]
                        },
                        "bioImageUrl": {
                          "type": ["string", "null"],
                          "format": "uri"
                        },
                        "sortOrder": {
                          "type": "integer",
                          "default": 0
                        }
                      },
                      "required": ["kind", "name"]
                    }
                  }
                },
                "required": ["programs"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The replaced enrichment programs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "cruiseId": {
                            "type": "string"
                          },
                          "kind": {
                            "type": "string",
                            "enum": [
                              "naturalist",
                              "historian",
                              "photographer",
                              "lecturer",
                              "expert",
                              "other"
                            ]
                          },
                          "name": {
                            "type": "string"
                          },
                          "title": {
                            "type": ["string", "null"]
                          },
                          "description": {
                            "type": ["string", "null"]
                          },
                          "bioImageUrl": {
                            "type": ["string", "null"]
                          },
                          "sortOrder": {
                            "type": "integer"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "cruiseId",
                          "kind",
                          "name",
                          "title",
                          "description",
                          "bioImageUrl",
                          "sortOrder",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "Key is not a valid local id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          },
          "409": {
            "description": "External cruise is read-only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"],
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      }
    }
  },
  "webhooks": {}
}
