{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/immobilienscout24/json-schema/immobilienscout24-put-offer-v10-user-username-realestateproject-realestateprojectid-r-schema.json",
  "title": "PutOfferV10UserUsernameRealestateprojectRealestateprojectidR",
  "x-generated": "2026-10-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/immobilienscout24-openapi-generated.yml#/components/schemas/PutOfferV10UserUsernameRealestateprojectRealestateprojectidR",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "max. 40 characters"
    },
    "title": {
      "type": "string",
      "description": "max. 100 characters"
    },
    "price.minimal": {
      "type": "number",
      "description": "max. 9999999999999.99"
    },
    "price.maximal": {
      "type": "number",
      "description": "max. 9999999999999.99"
    },
    "space.minimal": {
      "type": "number",
      "description": "max. 99999999.99"
    },
    "space.maximal": {
      "type": "number",
      "description": "max. 99999999.99"
    },
    "numberOfHousingUnit": {
      "type": "integer",
      "description": "max 9999"
    },
    "interiorQuality": {
      "type": "string",
      "description": "enum: {NO_INFORMATION, LUXURY, SOPHISTICATED, NORMAL, SIMPLE}"
    },
    "freeFrom": {
      "type": "string",
      "description": "max 50 characters"
    },
    "address.street": {
      "type": "string",
      "description": "max. 100 characters"
    },
    "address.houseNumber": {
      "type": "string",
      "description": "max. 30 characters"
    },
    "address.postcode": {
      "type": "string",
      "description": "max. 20 characters, read-only"
    },
    "address.city": {
      "type": "string",
      "description": "max. 50 characters, read-only"
    },
    "homepageUrl": {
      "type": "string",
      "description": "max. 500 characters"
    },
    "extProjectUrl": {
      "type": "string",
      "description": "max. 500 characters"
    },
    "customization.layoutColor": {
      "type": "string",
      "description": "RGB value in hexadecimal format, e.g. #abcdef"
    },
    "customization.announcement": {
      "type": "string",
      "description": "max. 500 characters"
    },
    "enabledContactFormFields.firstName": {
      "type": "boolean"
    },
    "enabledContactFormFields.address": {
      "type": "boolean"
    },
    "enabledContactFormFields.phone": {
      "type": "boolean"
    },
    "referenceNumber": {
      "type": "string",
      "description": "max. 20 characters"
    },
    "showroom.street": {
      "type": "string",
      "description": "max. 100 characters"
    },
    "showroom.houseNumber": {
      "type": "string",
      "description": "max. 30 characters"
    },
    "showroom.postcode": {
      "type": "string",
      "description": "max. 20 characters"
    },
    "showroom.city": {
      "type": "string",
      "description": "max. 50 characters"
    },
    "salesProgress": {
      "type": "integer",
      "description": "integer value in {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100}"
    },
    "description": {
      "type": "string",
      "description": "max. 3000 characters"
    },
    "numberOfHousingUnitsDetails.apartmentCount": {
      "type": "integer"
    },
    "numberOfHousingUnitsDetails.houseCount": {
      "type": "integer"
    },
    "numberOfHousingUnitsDetails.commercialCount": {
      "type": "integer"
    },
    "interiorCharacteristics": {
      "type": "array",
      "description": "List of strings with minimal 3 entries, maximal 20 entries, each string can have 100 characters"
    },
    "interiorQualityDescription": {
      "type": "string",
      "description": "max. 1500 characters"
    },
    "locationDescription": {
      "type": "string",
      "description": "max. 2050 characters"
    },
    "rooms.minimal": {
      "type": "number",
      "description": "max. 9999"
    },
    "rooms.maximal": {
      "type": "number",
      "description": "max. 9999"
    },
    "companyName": {
      "type": "string",
      "description": "max. 100 characters"
    },
    "contact.lastName": {
      "type": "string",
      "description": "max. 50 characters, non-empty if contact is included in request"
    },
    "contact.firstName": {
      "type": "string",
      "description": "max. 30 characters, non-empty if contact is included in request"
    },
    "contact.email": {
      "type": "string",
      "description": "max. 300 characters, non-empty if contact is included in request"
    },
    "contact.phone": {
      "type": "string",
      "description": "max. 40 characters, non-empty if contact is included in request"
    }
  },
  "required": [
    "name",
    "title",
    "price.minimal",
    "price.maximal",
    "space.minimal",
    "space.maximal",
    "numberOfHousingUnit",
    "interiorQuality",
    "freeFrom"
  ]
}