{ "$id": "https://schemas.aramis.group/catalog/vehicle-multi-language-input.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "additionalProperties": false, "properties": { "$schema": { "type": "string", "pattern": "\/catalog\/vehicle-multi-language-input\\.schema\\.json$" }, "vin": { "type": ["null", "string"], "pattern": "^[A-HJ-NPR-Z0-9]{17}$" }, "offerId": { "type": "string", "minLength": 1 }, "vehicleId": { "type": "string", "minLength": 1 }, "offerType": { "anyOf": [ { "$ref": "./base.schema.json#/$defs/offer-type-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "$ref": "./base.schema.json#/$defs/offer-type-id" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }} ]}, "status": { "anyOf": [ { "$ref": "./base.schema.json#/$defs/status-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "$ref": "./base.schema.json#/$defs/status-id" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }} ]}, "originCountry": { "anyOf": [ { "$ref": "./base.schema.json#/$defs/country-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "anyOf": [{ "type": "null" }, { "$ref": "./base.schema.json#/$defs/country-id" }] }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }} ]}, "isMarketplace": { "type": "boolean" }, "firstCirculationDate": { "type": ["null", "string"], "format": "date", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$" }, "warrantyExpirationDate": { "type": ["null", "string"], "format": "date", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$" }, "mileage": { "type": "object", "additionalProperties": false, "required": ["km"], "properties": { "km": { "type": "integer", "minimum": 0 } }}, "euronorm": { "anyOf": [{ "type": "null" }, { "$ref": "./base.schema.json#/$defs/euronorm-string" }] }, "critair": { "anyOf": [{ "type": "null" }, { "$ref": "./base.schema.json#/$defs/critair-string" }] }, "frenchFiscalPower": { "type": ["null", "integer"], "exclusiveMinimum": 0 }, "frenchGenre": { "anyOf": [{ "type": "null" }, { "$ref": "./base.schema.json#/$defs/french-genre-string" }] }, "belgianFiscalPower": { "type": ["null", "integer"], "exclusiveMinimum": 0 }, "belgianOtoto": { "type": "object", "additionalProperties": false, "required": ["url"], "properties": { "url": { "type": ["null", "string"], "format": "uri", "pattern": "^https?://" } }}, "belgianCarpass": { "type": "object", "additionalProperties": false, "required": ["url"], "properties": { "url": { "type": ["null", "string"], "format": "uri", "pattern": "^https?://" } }}, "catalogPriceWithOptionsWithTaxes": { "type": "number", "exclusiveMinimum": 0 }, "takeoverPremium": { "type": "number", "maximum": 0 }, "sellingPriceWithTaxes": { "type": "number", "exclusiveMinimum": 0 }, "sellingPriceWithTakeoverWithTaxes": { "type": "number", "minimum": 0 }, "indicativeLoan": { "type": "object", "additionalProperties": false, "required": ["monthlyInstallment", "months"], "properties": { "monthlyInstallment": { "type": "number", "exclusiveMinimum": 0 }, "months": { "type": "integer", "exclusiveMinimum": 0 } }}, "maker": { "type": "string", "minLength": 1 }, "model": { "type": "string", "minLength": 1 }, "engine": { "type": ["null","string"], "minLength": 1 }, "finish": { "type": ["null","string"], "minLength": 1 }, "interior": { "type": "object", "additionalProperties": false, "minProperties": 1, "properties": { "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }}, "manufacturerColor": { "type": "object", "additionalProperties": false, "minProperties": 1, "properties": { "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }}, "expertComments": { "type": "object", "additionalProperties": false, "minProperties": 1, "properties": { "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }}, "media": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["type", "url"], "properties": { "type": { "enum": ["photo", "video"] }, "url": { "type": "string", "format": "uri", "pattern": "^https?://" }, "orientation": { "type": "integer", "minimum": 0, "exclusiveMaximum": 360 } }}}, "category": { "anyOf": [ { "$ref": "./base.schema.json#/$defs/category-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "$ref": "./base.schema.json#/$defs/category-id" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }} ]}, "segment": { "anyOf": [ { "type": "null" }, { "$ref": "./base.schema.json#/$defs/segment-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "$ref": "./base.schema.json#/$defs/segment-id" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }}, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "type": "null" }, "en": { "type": "null" }, "fr": { "type": "null" }, "es": { "type": "null" }, "nl": { "type": "null" }, "de": { "type": "null" } }} ]}, "energyType": { "anyOf": [ { "$ref": "./base.schema.json#/$defs/energy-type-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "$ref": "./base.schema.json#/$defs/energy-type-id" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }} ]}, "simpleColor": { "anyOf": [ { "$ref": "./base.schema.json#/$defs/simple-color-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "$ref": "./base.schema.json#/$defs/simple-color-id" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }} ]}, "simpleColor2": { "anyOf": [ { "type": "null" }, { "$ref": "./base.schema.json#/$defs/simple-color-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "$ref": "./base.schema.json#/$defs/simple-color-id" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }}, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "type": "null" }, "en": { "type": "null" }, "fr": { "type": "null" }, "es": { "type": "null" }, "nl": { "type": "null" }, "de": { "type": "null" } }} ]}, "isColorMetallic": { "type": "boolean" }, "interiorSimpleColor": { "anyOf": [ { "type": "null" }, { "$ref": "./base.schema.json#/$defs/simple-color-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "$ref": "./base.schema.json#/$defs/simple-color-id" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }}, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "type": "null" }, "en": { "type": "null" }, "fr": { "type": "null" }, "es": { "type": "null" }, "nl": { "type": "null" }, "de": { "type": "null" } }} ]}, "transmission": { "anyOf": [ { "$ref": "./base.schema.json#/$defs/transmission-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "$ref": "./base.schema.json#/$defs/transmission-id" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }} ]}, "drive": { "anyOf": [ { "$ref": "./base.schema.json#/$defs/drive-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "$ref": "./base.schema.json#/$defs/drive-id" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }} ]}, "equipments": { "type": "array", "items": { "type": "object", "additionalProperties": false, "minProperties": 2, "required": ["category"], "properties": { "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 }, "category": { "anyOf": [ { "$ref": "./base.schema.json#/$defs/equipment-category-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "$ref": "./base.schema.json#/$defs/equipment-category-id" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }} ]} }}}, "simpleEquipments": { "type": "array", "items": {"anyOf": [ { "$ref": "./base.schema.json#/$defs/simple-equipment-id" }, { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "$ref": "./base.schema.json#/$defs/simple-equipment-id" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }} ]}}, "options": { "type": "array", "items": { "type": "object", "additionalProperties": false, "minProperties": 2, "required": ["priceWithTaxes"], "properties": { "priceWithTaxes": { "type": "number" }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 } }}}, "promotions": { "type": "array", "items": { "type": "object", "additionalProperties": false, "minProperties": 2, "required": ["id"], "properties": { "id": { "type": "string", "minLength": 1 }, "en": { "type": "string", "minLength": 1 }, "fr": { "type": "string", "minLength": 1 }, "es": { "type": "string", "minLength": 1 }, "nl": { "type": "string", "minLength": 1 }, "de": { "type": "string", "minLength": 1 }, "color": { "type": "string", "pattern": "^#[a-fA-F0-9]{6}$" } }}}, "doors": { "type": ["null","integer"], "exclusiveMinimum": 0 }, "gears": { "type": ["null","integer"], "exclusiveMinimum": 0 }, "seats": { "type": ["null","integer"], "exclusiveMinimum": 0 }, "cylinders": { "type": ["null","integer"], "exclusiveMinimum": 0 }, "power": { "type": "object", "additionalProperties": false, "required": ["ch", "kw"], "properties": { "ch": { "type": ["null","number"], "exclusiveMinimum": 0 }, "kw": { "type": ["null","number"], "exclusiveMinimum": 0 } }}, "engineCapacity": { "$ref": "./base.schema.json#/$defs/nullable-engine-capacity" }, "urbanCycleConsumption": { "$ref": "./base.schema.json#/$defs/nullable-consumption" }, "extraUrbanCycleConsumption": { "$ref": "./base.schema.json#/$defs/nullable-consumption" }, "combinedCycleConsumption": { "$ref": "./base.schema.json#/$defs/nullable-consumption" }, "co2EmissionsNedc": { "$ref": "./base.schema.json#/$defs/nullable-co2-emissions" }, "co2EmissionsWltp": { "$ref": "./base.schema.json#/$defs/nullable-co2-emissions" }, "height": { "$ref": "./base.schema.json#/$defs/nullable-length" }, "width": { "$ref": "./base.schema.json#/$defs/nullable-length" }, "length": { "$ref": "./base.schema.json#/$defs/nullable-length" }, "wheelbase": { "$ref": "./base.schema.json#/$defs/nullable-length" }, "weight": { "$ref": "./base.schema.json#/$defs/nullable-weight" }, "totalAuthorizedWeight": { "$ref": "./base.schema.json#/$defs/nullable-weight" }, "minBootSpaceBackCapacity": { "$ref": "./base.schema.json#/$defs/nullable-volume" }, "maxBootSpaceBackCapacity": { "$ref": "./base.schema.json#/$defs/nullable-volume" }, "bootSpaceFrontCapacity": { "$ref": "./base.schema.json#/$defs/nullable-volume" }, "maxSpeed": { "$ref": "./base.schema.json#/$defs/nullable-speed" }, "electricRangeNedc": { "$ref": "./base.schema.json#/$defs/nullable-distance" }, "electricRangeWltp": { "$ref": "./base.schema.json#/$defs/nullable-distance" }, "electricBatteryWarrantyPeriod": { "$ref": "./base.schema.json#/$defs/nullable-warranty-period" }, "electricBatteryStateOfHealth": { "$ref": "./base.schema.json#/$defs/nullable-percent-0-100" }, "electricBatteryCapacity": { "$ref": "./base.schema.json#/$defs/nullable-energy" }, "electricBatteryType": { "type": ["null","string"], "minLength": 1 }, "electricBatterySlowChargePower": { "$ref": "./base.schema.json#/$defs/nullable-power" }, "electricBatterySlowChargeTime": { "$ref": "./base.schema.json#/$defs/nullable-duration-minutes" }, "electricBatteryMediumChargePower": { "$ref": "./base.schema.json#/$defs/nullable-power" }, "electricBatteryMediumChargeTime": { "$ref": "./base.schema.json#/$defs/nullable-duration-minutes" }, "electricBatteryQuickChargePower": { "$ref": "./base.schema.json#/$defs/nullable-power" }, "electricBatteryQuickChargeTime": { "$ref": "./base.schema.json#/$defs/nullable-duration-minutes" }, "electricBatteryCost": { "type": ["null","number"], "exclusiveMinimum": 0 }, "electricMaximumPowerCarElectricalOutlet": { "$ref": "./base.schema.json#/$defs/nullable-power" }, "electricMaximumPowerCarDirectCurrent": { "$ref": "./base.schema.json#/$defs/nullable-current" } }, "required": [ "vin", "offerId", "vehicleId", "offerType", "status", "originCountry", "isMarketplace", "firstCirculationDate", "warrantyExpirationDate", "mileage", "euronorm", "critair", "frenchFiscalPower", "frenchGenre", "belgianFiscalPower", "belgianOtoto", "belgianCarpass", "catalogPriceWithOptionsWithTaxes", "takeoverPremium", "sellingPriceWithTaxes", "sellingPriceWithTakeoverWithTaxes", "indicativeLoan", "maker", "model", "engine", "finish", "manufacturerColor", "interior", "expertComments", "media", "category", "segment", "energyType", "simpleColor", "simpleColor2", "interiorSimpleColor", "transmission", "drive", "equipments", "simpleEquipments", "options", "promotions", "doors", "gears", "seats", "cylinders", "power", "engineCapacity", "urbanCycleConsumption", "extraUrbanCycleConsumption", "combinedCycleConsumption", "co2EmissionsNedc", "co2EmissionsWltp", "height", "width", "length", "wheelbase", "weight", "totalAuthorizedWeight", "minBootSpaceBackCapacity", "maxBootSpaceBackCapacity", "bootSpaceFrontCapacity", "maxSpeed", "electricRangeNedc", "electricRangeWltp", "electricBatteryWarrantyPeriod", "electricBatteryStateOfHealth", "electricBatteryCapacity", "electricBatteryType", "electricBatterySlowChargePower", "electricBatterySlowChargeTime", "electricBatteryMediumChargePower", "electricBatteryMediumChargeTime", "electricBatteryQuickChargePower", "electricBatteryQuickChargeTime", "electricBatteryCost", "electricMaximumPowerCarElectricalOutlet", "electricMaximumPowerCarDirectCurrent" ] }