{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/alto-vebra/json-schema/alto-vebra-alto-contacts-api-models-responses-patch-applicant-requirement-schema.json",
  "title": "Alto.Contacts.Api.Models.Responses.PatchApplicantRequirement",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/alto-vebra-contacts-api-openapi.yml#/components/schemas/Alto.Contacts.Api.Models.Responses.PatchApplicantRequirement",
  "type": "object",
  "properties": {
    "id": {
      "type": [
        "string",
        "null"
      ],
      "description": "The unique identifier for the resource."
    },
    "links": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/Alto.Api.Material.Hateoas.Link"
      },
      "description": "Links to related entities."
    },
    "profileIntention": {
      "enum": [
        "Unspecified",
        "Buy",
        "Rent"
      ],
      "type": "string",
      "description": "The Applicant's intention."
    },
    "isNewBuild": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Whether the Applicant requires a new build Property."
    },
    "isActiveProfile": {
      "type": "boolean",
      "description": "Whether the Requirement is active in the Applicant's profile."
    },
    "priceFrom": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The minimum price of the Property.",
      "format": "int32"
    },
    "priceTo": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The maximum price of the Property.",
      "format": "int32"
    },
    "bedsMin": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The minimum number of bedrooms of the Property.",
      "format": "int32"
    },
    "rentalIntention": {
      "allOf": [
        {
          "$ref": "#/$defs/Alto.Contacts.Api.Models.Responses.RentalIntention"
        }
      ],
      "description": "The rental intention of the requirement."
    },
    "tenureType": {
      "enum": [
        "Unspecified",
        "Freehold",
        "Leasehold",
        "LeaseholdWithShareOfFreehold",
        "FlyingFreehold",
        "Commonhold",
        "ShareOfFreehold"
      ],
      "type": [
        "string",
        "null"
      ],
      "description": "The tenure the Applicant is looking for."
    },
    "notes": {
      "type": [
        "string",
        "null"
      ],
      "description": "Free-text notes for the Requirement."
    }
  },
  "additionalProperties": false,
  "$defs": {
    "Alto.Api.Material.Hateoas.Link": {
      "type": "object",
      "properties": {
        "href": {
          "type": [
            "string",
            "null"
          ]
        },
        "rel": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "Alto.Contacts.Api.Models.Responses.RentalIntention": {
      "type": "object",
      "properties": {
        "priceQualifier": {
          "enum": [
            "Unknown",
            "Weekly",
            "Monthly",
            "Quarterly",
            "Yearly",
            "AdHoc",
            "Daily",
            "Fortnightly",
            "FourWeekly",
            "MonthlyOnLastDay",
            "QuarterlyOnQuarterDays",
            "HalfYearly",
            "HalfYearlyOnQuarterDays"
          ],
          "type": "string"
        },
        "furnishing": {
          "enum": [
            "Unspecified",
            "Unfurnished",
            "PartFurnished",
            "Furnished",
            "FurnishedOrUnfurnished"
          ],
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": false
    }
  }
}