{
  "instant_booking": false,
  "action": "validate_only",
  "schema": {
    "$id": "/api/inquiry",
    "title": "Fraser Basecamp date or special-request inquiry",
    "description": "Validates a guest request. Does not book, hold, or charge. Owners confirm against Evolve.",
    "type": "object",
    "required": [
      "confirm_not_instant_booking",
      "guest"
    ],
    "properties": {
      "confirm_not_instant_booking": {
        "type": "boolean",
        "const": true,
        "description": "Must be true. This site does not offer instant booking."
      },
      "agent": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "purpose": {
            "type": "string"
          }
        }
      },
      "inquiry": {
        "type": "string",
        "enum": [
          "dates",
          "question"
        ],
        "default": "dates"
      },
      "guest": {
        "type": "object",
        "required": [
          "name",
          "email",
          "phone"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "type": "string"
          },
          "repeat_guest": {
            "type": "boolean"
          }
        }
      },
      "stay": {
        "type": "object",
        "properties": {
          "arrival": {
            "type": "string",
            "format": "date"
          },
          "departure": {
            "type": "string",
            "format": "date"
          },
          "adults": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          },
          "children": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9
          },
          "infants": {
            "type": "integer",
            "minimum": 0,
            "maximum": 4
          },
          "dogs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2
          },
          "trip": {
            "type": "string",
            "enum": [
              "ski",
              "bike",
              "group",
              "dogs",
              "other"
            ]
          }
        }
      },
      "requests": {
        "type": "object",
        "properties": {
          "crib": {
            "type": "boolean"
          },
          "early_checkin": {
            "type": "boolean"
          },
          "late_checkout": {
            "type": "boolean"
          },
          "extra_dog_owner_approval": {
            "type": "boolean"
          },
          "no_stairs": {
            "type": "boolean"
          },
          "notes": {
            "type": "string"
          }
        }
      }
    }
  }
}