addedInput schema / properties / baseline
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "country": {
+ "description": "Country pricing policy. Use GB for Great Britain or US for the United States. If omitted, GB is used for backwards compatibility.",
+ "enum": [
+ "GB",
+ "US"
+ ],
+ "type": "string"
+ },
+ "jobType": {
+ "description": "Residential project type supported by the selected country policy.",
+ "enum": [
+ "Combined project",
+ "Rear extension",
+ "Kitchen extension",
+ "Side extension",
+ "Wraparound extension",
+ "Loft conversion",
+ "Barn conversion",
+ "Refurbishment",
+ "Commercial office refurbishment",
+ "New kitchen",
+ "New bathroom",
+ "Office / summerhouse",
+ "Garage conversion",
+ "Basement work / conversion",
+ "Lower-ground floor refurbishment",
+ "New build",
+ "home_addition",
+ "whole_home_remodel",
+ "kitchen_remodel",
+ "bathroom_remodel",
+ "attic_conversion",
+ "garage_conversion",
+ "basement_remodel",
+ "backyard_studio",
+ "new_home_construction"
+ ],
+ "type": "string"
+ },
+ "postcodeArea": {
+ "description": "GB outward postcode only, for example BS3. Never send a full address.",
+ "pattern": "^[A-Z]{1,2}\\d[A-Z\\d]?$",
+ "type": "string"
+ },
+ "scope": {
+ "additionalProperties": false,
+ "default": {},
+ "description": "Country-specific project scope. Use UK fields for GB and US fields for US; do not invent unanswered values.",
+ "properties": {
+ "access": {
+ "enum": [
+ "straightforward",
+ "constrained",
+ "remote"
+ ],
+ "type": "string"
+ },
+ "accessIssues": {
+ "type": "boolean"
+ },
+ "additionalInternalWorkPackages": {
+ "items": {
+ "enum": [
+ "Plastering",
+ "Painting & decorating",
+ "Wood / laminate flooring",
+ "Kitchen work",
+ "Bathroom work",
+ "Windows / doors / glazing",
+ "External walls / insulation",
+ "General building / making good"
+ ],
+ "type": "string"
+ },
+ "maxItems": 12,
+ "type": "array"
+ },
+ "additionalInternalWorksArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "approximateSize": {
+ "description": "Project floor area. Defaults to square feet for US work; set areaUnit when the user supplied square metres.",
+ "exclusiveMinimum": 0,
+ "maximum": 15000,
+ "type": "number"
+ },
+ "areaUnit": {
+ "description": "Unit for approximateSize. GB defaults to sq_m and US defaults to sq_ft. Common m2 and ft2 forms are accepted.",
+ "enum": [
+ "sq_m",
+ "sq m",
+ "m2",
+ "m^2",
+ "m²",
+ "sqm",
+ "square_metres",
+ "square_meters",
+ "square metres",
+ "square meters",
+ "sq_ft",
+ "sq ft",
+ "ft2",
+ "ft^2",
+ "ft²",
+ "sqft",
+ "sf",
+ "square_feet",
+ "square feet"
+ ],
+ "type": "string"
+ },
+ "availability": {
+ "enum": [
+ "Ready now",
+ "2–4 weeks",
+ "1–2 months",
+ "3+ months",
+ "6+ months",
+ "Next year"
+ ],
+ "type": "string"
+ },
+ "barnStructureType": {
+ "enum": [
+ "Not sure",
+ "Traditional timber / oak frame",
+ "Steel portal frame",
+ "Stone / brick load-bearing walls",
+ "Mixed structure"
+ ],
+ "type": "string"
+ },
+ "basementAccess": {
+ "enum": [
+ "Direct external access",
+ "Restricted side / rear access",
+ "Removal through house",
+ "Highly constrained urban access"
+ ],
+ "type": "string"
+ },
+ "basementArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "basementBathroomIncluded": {
+ "type": "boolean"
+ },
+ "basementDrainageScope": {
+ "enum": [
+ "Existing gravity drainage retained",
+ "Drainage alterations",
+ "Pumped drainage required",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "basementGroundwater": {
+ "enum": [
+ "No known issue",
+ "Possible / high water table",
+ "Known groundwater / water ingress",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "basementHeadroom": {
+ "enum": [
+ "No floor lowering",
+ "Minor lowering up to 300 mm",
+ "Lowering 300-600 mm",
+ "Major lowering over 600 mm",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "basementIntendedUse": {
+ "enum": [
+ "Storage / utility",
+ "Habitable room(s)",
+ "Bedroom / bathroom accommodation",
+ "Kitchen / living accommodation",
+ "Separate dwelling / unit"
+ ],
+ "type": "string"
+ },
+ "basementLightwellCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "basementOccupancy": {
+ "enum": [
+ "Vacant during works",
+ "House occupied during works"
+ ],
+ "type": "string"
+ },
+ "basementScope": {
+ "enum": [
+ "Existing basement refurbishment",
+ "Existing cellar conversion",
+ "Lower / enlarge existing cellar",
+ "New basement beneath extension",
+ "New basement beneath existing house"
+ ],
+ "type": "string"
+ },
+ "basementStairScope": {
+ "enum": [
+ "Existing stair retained",
+ "Alter existing stair / opening",
+ "New basement staircase"
+ ],
+ "type": "string"
+ },
+ "basementStructuralSupport": {
+ "enum": [
+ "No underpinning expected",
+ "Local structural support",
+ "Sequential underpinning",
+ "Piled / engineered support",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "basementUtilityIncluded": {
+ "type": "boolean"
+ },
+ "basementWaterproofing": {
+ "enum": [
+ "Existing dry system retained",
+ "Local repairs / upgrades",
+ "Full tanking system",
+ "Cavity-drain membrane and pumps",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "bathroomScope": {
+ "enum": [
+ "No bathroom work",
+ "Bathroom allowance",
+ "New bathroom: supply and install",
+ "New bathroom: install only",
+ "Ensuite / shower room",
+ "WC / cloakroom"
+ ],
+ "type": "string"
+ },
+ "bedroomCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "climateCodeRequirements": {
+ "type": "boolean"
+ },
+ "combinedAdditionalJobType": {
+ "enum": [
+ "Rear extension",
+ "Kitchen extension",
+ "Side extension",
+ "Wraparound extension",
+ "Loft conversion",
+ "Barn conversion",
+ "Refurbishment",
+ "Office / summerhouse",
+ "Garage conversion",
+ "Basement work / conversion",
+ "New build"
+ ],
+ "type": "string"
+ },
+ "combinedAdditionalSize": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "combinedPrimaryJobType": {
+ "enum": [
+ "Rear extension",
+ "Kitchen extension",
+ "Side extension",
+ "Wraparound extension",
+ "Loft conversion",
+ "Barn conversion",
+ "Refurbishment",
+ "Office / summerhouse",
+ "Garage conversion",
+ "Basement work / conversion",
+ "New build"
+ ],
+ "type": "string"
+ },
+ "commercialAsbestosStatus": {
+ "enum": [
+ "Refurbishment survey clear",
+ "Management survey only",
+ "Survey required / not confirmed",
+ "Known asbestos constraints"
+ ],
+ "type": "string"
+ },
+ "commercialBuildingAccess": {
+ "enum": [
+ "Standalone / direct street access",
+ "Shared building, straightforward access",
+ "Managed building / booked access",
+ "Constrained central-London access"
+ ],
+ "type": "string"
+ },
+ "commercialDataScope": {
+ "enum": [
+ "No data / comms work",
+ "Data points and Wi-Fi alterations",
+ "New structured cabling, Wi-Fi and comms cabinet"
+ ],
+ "type": "string"
+ },
+ "commercialElectricalScope": {
+ "enum": [
+ "Retain existing / minor electrical works",
+ "Lighting and small-power alterations",
+ "New lighting, power and floor-box layout"
+ ],
+ "type": "string"
+ },
+ "commercialFireSecurityScope": {
+ "enum": [
+ "Existing systems retained",
+ "Fire-safety alterations and interfaces",
+ "Fire, access control, intercom and security package"
+ ],
+ "type": "string"
+ },
+ "commercialFloorAccess": {
+ "enum": [
+ "Ground / first floor",
+ "Upper floors with goods lift",
+ "Upper floors with passenger lift only",
+ "Upper floors by stairs only",
+ "Multiple floors"
+ ],
+ "type": "string"
+ },
+ "commercialFurnitureIncluded": {
+ "type": "boolean"
+ },
+ "commercialHvacScope": {
+ "enum": [
+ "Retain existing HVAC",
+ "Alter existing AC / ventilation",
+ "New or substantially replaced HVAC"
+ ],
+ "type": "string"
+ },
+ "commercialKitchenetteCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "commercialLandlordStatus": {
+ "enum": [
+ "Approval confirmed / not needed",
+ "Licence to alter in progress",
+ "Approval not started",
+ "Not sure"
+ ],
+ "type": "string"
+ },
+ "commercialOccupancy": {
+ "enum": [
+ "Vacant during works",
+ "Phased / partly occupied",
+ "Fully occupied live office",
+ "Out-of-hours works only"
+ ],
+ "type": "string"
+ },
+ "commercialPartitionsScope": {
+ "enum": [
+ "Retain layout / minor making good",
+ "Some partitions and ceiling alterations",
+ "Extensive partitions and suspended ceilings"
+ ],
+ "type": "string"
+ },
+ "commercialWashroomCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "commercialWorkstationCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "complexGroundworks": {
+ "type": "boolean"
+ },
+ "decoratingDoorCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "decoratingWindowCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "doorCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "electricalServiceUpgrade": {
+ "type": "boolean"
+ },
+ "externalWallArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "finishBand": {
+ "enum": [
+ "Builder grade",
+ "Good domestic",
+ "Premium domestic"
+ ],
+ "type": "string"
+ },
+ "finishLevel": {
+ "enum": [
+ "builder_grade",
+ "standard",
+ "premium"
+ ],
+ "type": "string"
+ },
+ "foundation": {
+ "enum": [
+ "slab",
+ "crawl_space",
+ "basement",
+ "existing_not_applicable"
+ ],
+ "type": "string"
+ },
+ "hazardousMaterialRemediation": {
+ "type": "boolean"
+ },
+ "hvacReplacement": {
+ "type": "boolean"
+ },
+ "includesAdditionalInternalWorks": {
+ "type": "boolean"
+ },
+ "includesBasementWork": {
+ "type": "boolean"
+ },
+ "includesLowerGroundWork": {
+ "type": "boolean"
+ },
+ "kitchenScope": {
+ "enum": [
+ "No kitchen work",
+ "Kitchen allowance",
+ "New kitchen: supply and install",
+ "New kitchen: install only",
+ "Client-supplied kitchen, builder prepares room",
+ "Kitchen / diner works"
+ ],
+ "type": "string"
+ },
+ "lowerGroundAccess": {
+ "enum": [
+ "Direct external access",
+ "Access through main home",
+ "Constrained access"
+ ],
+ "type": "string"
+ },
+ "lowerGroundArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "lowerGroundDaylight": {
+ "enum": [
+ "Existing windows retained",
+ "Alter or enlarge openings",
+ "New lightwell / external excavation",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "lowerGroundExposure": {
+ "enum": [
+ "Mostly above ground",
+ "Split-level / partly below ground",
+ "Mostly below ground"
+ ],
+ "type": "string"
+ },
+ "lowerGroundMoisture": {
+ "enum": [
+ "Dry / no known issue",
+ "Local damp repairs",
+ "Known damp / waterproofing work",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "lowerGroundOccupancy": {
+ "enum": [
+ "Vacant during works",
+ "House occupied during works"
+ ],
+ "type": "string"
+ },
+ "lowerGroundScope": {
+ "enum": [
+ "Refresh existing finished rooms",
+ "Refurbish existing habitable floor",
+ "Convert existing ancillary / storage rooms"
+ ],
+ "type": "string"
+ },
+ "lowerGroundServices": {
+ "enum": [
+ "Existing services retained",
+ "Alter existing services",
+ "New kitchen / bathroom services",
+ "Independent services / meters"
+ ],
+ "type": "string"
+ },
+ "lowerGroundUse": {
+ "enum": [
+ "Part of the main home",
+ "Dependent annexe",
+ "Separate dwelling / unit"
+ ],
+ "type": "string"
+ },
+ "occupiedDuringWork": {
+ "type": "boolean"
+ },
+ "parkingSpaces": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "planningStageOnly": {
+ "type": "boolean"
+ },
+ "primaryConstruction": {
+ "enum": [
+ "wood_frame",
+ "masonry_concrete",
+ "other_unknown"
+ ],
+ "type": "string"
+ },
+ "propertyForm": {
+ "enum": [
+ "Flat",
+ "Maisonette",
+ "Terraced house",
+ "Semi-detached house",
+ "Detached house",
+ "Barn / agricultural building",
+ "Other / not sure",
+ "Commercial office",
+ "Office suite"
+ ],
+ "type": "string"
+ },
+ "propertyPeriod": {
+ "enum": [
+ "Not sure",
+ "Modern / new build",
+ "1970s-1990s",
+ "1950s-1960s",
+ "1930s-1940s",
+ "Victorian / Edwardian",
+ "Older / period property",
+ "Listed / heritage"
+ ],
+ "type": "string"
+ },
+ "refurbishmentCondition": {
+ "enum": [
+ "Good",
+ "Average",
+ "Poor",
+ "Damp / cracks / problematic"
+ ],
+ "type": "string"
+ },
+ "refurbishmentDecoratingArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "refurbishmentFlooringArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "refurbishmentPackages": {
+ "items": {
+ "enum": [
+ "Plastering",
+ "Painting & decorating",
+ "Wood / laminate flooring",
+ "Kitchen work",
+ "Bathroom work",
+ "Windows / doors / glazing",
+ "External walls / insulation",
+ "General building / making good"
+ ],
+ "type": "string"
+ },
+ "maxItems": 12,
+ "type": "array"
+ },
+ "refurbishmentPlasteringArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "refurbishmentPrepLevel": {
+ "enum": [
+ "Simple refresh",
+ "Normal prep",
+ "Heavy prep"
+ ],
+ "type": "string"
+ },
+ "refurbishmentRoomState": {
+ "enum": [
+ "Empty",
+ "Partly furnished",
+ "Occupied"
+ ],
+ "type": "string"
+ },
+ "refurbishmentScope": {
+ "enum": [
+ "General refurbishment",
+ "Mixed room upgrade",
+ "Decoration only",
+ "External walls / insulation",
+ "Windows / doors / glazing",
+ "Kitchen works",
+ "Bathroom works",
+ "Kitchen and bathroom works",
+ "Whole property refurbishment"
+ ],
+ "type": "string"
+ },
+ "roomCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "scopeBand": {
+ "enum": [
+ "Lean",
+ "Balanced",
+ "Expanded"
+ ],
+ "type": "string"
+ },
+ "scopeLevel": {
+ "enum": [
+ "defined",
+ "typical",
+ "expanded"
+ ],
+ "type": "string"
+ },
+ "structuralChanges": {
+ "type": "boolean"
+ },
+ "structuralSteelLikely": {
+ "type": "boolean"
+ },
+ "urgencyBand": {
+ "enum": [
+ "Flexible",
+ "Soon",
+ "Urgent"
+ ],
+ "type": "string"
+ },
+ "windowCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "state": {
+ "description": "US two-letter state or DC code.",
+ "enum": [
+ "CT",
+ "ME",
+ "MA",
+ "NH",
+ "RI",
+ "VT",
+ "NJ",
+ "NY",
+ "PA",
+ "IN",
+ "IL",
+ "MI",
+ "OH",
+ "WI",
+ "IA",
+ "KS",
+ "MN",
+ "MO",
+ "NE",
+ "ND",
+ "SD",
+ "DE",
+ "DC",
+ "FL",
+ "GA",
+ "MD",
+ "NC",
+ "SC",
+ "VA",
+ "WV",
+ "AL",
+ "KY",
+ "MS",
+ "TN",
+ "AR",
+ "LA",
+ "OK",
+ "TX",
+ "AZ",
+ "CO",
+ "ID",
+ "MT",
+ "NV",
+ "NM",
+ "UT",
+ "WY",
+ "CA",
+ "OR",
+ "WA",
+ "AK",
+ "HI"
+ ],
+ "type": "string"
+ },
+ "zipCode": {
+ "description": "Optional US five-digit ZIP code. Never send a street address.",
+ "pattern": "^\\d{5}$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+}
addedInput schema / properties / scenarios
Added value: +{
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "changes": {
+ "additionalProperties": false,
+ "description": "Country-specific project scope. Use UK fields for GB and US fields for US; do not invent unanswered values.",
+ "properties": {
+ "access": {
+ "enum": [
+ "straightforward",
+ "constrained",
+ "remote"
+ ],
+ "type": "string"
+ },
+ "accessIssues": {
+ "type": "boolean"
+ },
+ "additionalInternalWorkPackages": {
+ "items": {
+ "enum": [
+ "Plastering",
+ "Painting & decorating",
+ "Wood / laminate flooring",
+ "Kitchen work",
+ "Bathroom work",
+ "Windows / doors / glazing",
+ "External walls / insulation",
+ "General building / making good"
+ ],
+ "type": "string"
+ },
+ "maxItems": 12,
+ "type": "array"
+ },
+ "additionalInternalWorksArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "approximateSize": {
+ "description": "Project floor area. Defaults to square feet for US work; set areaUnit when the user supplied square metres.",
+ "exclusiveMinimum": 0,
+ "maximum": 15000,
+ "type": "number"
+ },
+ "areaUnit": {
+ "description": "Unit for approximateSize. GB defaults to sq_m and US defaults to sq_ft. Common m2 and ft2 forms are accepted.",
+ "enum": [
+ "sq_m",
+ "sq m",
+ "m2",
+ "m^2",
+ "m²",
+ "sqm",
+ "square_metres",
+ "square_meters",
+ "square metres",
+ "square meters",
+ "sq_ft",
+ "sq ft",
+ "ft2",
+ "ft^2",
+ "ft²",
+ "sqft",
+ "sf",
+ "square_feet",
+ "square feet"
+ ],
+ "type": "string"
+ },
+ "availability": {
+ "enum": [
+ "Ready now",
+ "2–4 weeks",
+ "1–2 months",
+ "3+ months",
+ "6+ months",
+ "Next year"
+ ],
+ "type": "string"
+ },
+ "barnStructureType": {
+ "enum": [
+ "Not sure",
+ "Traditional timber / oak frame",
+ "Steel portal frame",
+ "Stone / brick load-bearing walls",
+ "Mixed structure"
+ ],
+ "type": "string"
+ },
+ "basementAccess": {
+ "enum": [
+ "Direct external access",
+ "Restricted side / rear access",
+ "Removal through house",
+ "Highly constrained urban access"
+ ],
+ "type": "string"
+ },
+ "basementArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "basementBathroomIncluded": {
+ "type": "boolean"
+ },
+ "basementDrainageScope": {
+ "enum": [
+ "Existing gravity drainage retained",
+ "Drainage alterations",
+ "Pumped drainage required",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "basementGroundwater": {
+ "enum": [
+ "No known issue",
+ "Possible / high water table",
+ "Known groundwater / water ingress",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "basementHeadroom": {
+ "enum": [
+ "No floor lowering",
+ "Minor lowering up to 300 mm",
+ "Lowering 300-600 mm",
+ "Major lowering over 600 mm",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "basementIntendedUse": {
+ "enum": [
+ "Storage / utility",
+ "Habitable room(s)",
+ "Bedroom / bathroom accommodation",
+ "Kitchen / living accommodation",
+ "Separate dwelling / unit"
+ ],
+ "type": "string"
+ },
+ "basementLightwellCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "basementOccupancy": {
+ "enum": [
+ "Vacant during works",
+ "House occupied during works"
+ ],
+ "type": "string"
+ },
+ "basementScope": {
+ "enum": [
+ "Existing basement refurbishment",
+ "Existing cellar conversion",
+ "Lower / enlarge existing cellar",
+ "New basement beneath extension",
+ "New basement beneath existing house"
+ ],
+ "type": "string"
+ },
+ "basementStairScope": {
+ "enum": [
+ "Existing stair retained",
+ "Alter existing stair / opening",
+ "New basement staircase"
+ ],
+ "type": "string"
+ },
+ "basementStructuralSupport": {
+ "enum": [
+ "No underpinning expected",
+ "Local structural support",
+ "Sequential underpinning",
+ "Piled / engineered support",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "basementUtilityIncluded": {
+ "type": "boolean"
+ },
+ "basementWaterproofing": {
+ "enum": [
+ "Existing dry system retained",
+ "Local repairs / upgrades",
+ "Full tanking system",
+ "Cavity-drain membrane and pumps",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "bathroomScope": {
+ "enum": [
+ "No bathroom work",
+ "Bathroom allowance",
+ "New bathroom: supply and install",
+ "New bathroom: install only",
+ "Ensuite / shower room",
+ "WC / cloakroom"
+ ],
+ "type": "string"
+ },
+ "bedroomCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "climateCodeRequirements": {
+ "type": "boolean"
+ },
+ "combinedAdditionalJobType": {
+ "enum": [
+ "Rear extension",
+ "Kitchen extension",
+ "Side extension",
+ "Wraparound extension",
+ "Loft conversion",
+ "Barn conversion",
+ "Refurbishment",
+ "Office / summerhouse",
+ "Garage conversion",
+ "Basement work / conversion",
+ "New build"
+ ],
+ "type": "string"
+ },
+ "combinedAdditionalSize": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "combinedPrimaryJobType": {
+ "enum": [
+ "Rear extension",
+ "Kitchen extension",
+ "Side extension",
+ "Wraparound extension",
+ "Loft conversion",
+ "Barn conversion",
+ "Refurbishment",
+ "Office / summerhouse",
+ "Garage conversion",
+ "Basement work / conversion",
+ "New build"
+ ],
+ "type": "string"
+ },
+ "commercialAsbestosStatus": {
+ "enum": [
+ "Refurbishment survey clear",
+ "Management survey only",
+ "Survey required / not confirmed",
+ "Known asbestos constraints"
+ ],
+ "type": "string"
+ },
+ "commercialBuildingAccess": {
+ "enum": [
+ "Standalone / direct street access",
+ "Shared building, straightforward access",
+ "Managed building / booked access",
+ "Constrained central-London access"
+ ],
+ "type": "string"
+ },
+ "commercialDataScope": {
+ "enum": [
+ "No data / comms work",
+ "Data points and Wi-Fi alterations",
+ "New structured cabling, Wi-Fi and comms cabinet"
+ ],
+ "type": "string"
+ },
+ "commercialElectricalScope": {
+ "enum": [
+ "Retain existing / minor electrical works",
+ "Lighting and small-power alterations",
+ "New lighting, power and floor-box layout"
+ ],
+ "type": "string"
+ },
+ "commercialFireSecurityScope": {
+ "enum": [
+ "Existing systems retained",
+ "Fire-safety alterations and interfaces",
+ "Fire, access control, intercom and security package"
+ ],
+ "type": "string"
+ },
+ "commercialFloorAccess": {
+ "enum": [
+ "Ground / first floor",
+ "Upper floors with goods lift",
+ "Upper floors with passenger lift only",
+ "Upper floors by stairs only",
+ "Multiple floors"
+ ],
+ "type": "string"
+ },
+ "commercialFurnitureIncluded": {
+ "type": "boolean"
+ },
+ "commercialHvacScope": {
+ "enum": [
+ "Retain existing HVAC",
+ "Alter existing AC / ventilation",
+ "New or substantially replaced HVAC"
+ ],
+ "type": "string"
+ },
+ "commercialKitchenetteCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "commercialLandlordStatus": {
+ "enum": [
+ "Approval confirmed / not needed",
+ "Licence to alter in progress",
+ "Approval not started",
+ "Not sure"
+ ],
+ "type": "string"
+ },
+ "commercialOccupancy": {
+ "enum": [
+ "Vacant during works",
+ "Phased / partly occupied",
+ "Fully occupied live office",
+ "Out-of-hours works only"
+ ],
+ "type": "string"
+ },
+ "commercialPartitionsScope": {
+ "enum": [
+ "Retain layout / minor making good",
+ "Some partitions and ceiling alterations",
+ "Extensive partitions and suspended ceilings"
+ ],
+ "type": "string"
+ },
+ "commercialWashroomCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "commercialWorkstationCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "complexGroundworks": {
+ "type": "boolean"
+ },
+ "decoratingDoorCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "decoratingWindowCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "doorCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "electricalServiceUpgrade": {
+ "type": "boolean"
+ },
+ "externalWallArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "finishBand": {
+ "enum": [
+ "Builder grade",
+ "Good domestic",
+ "Premium domestic"
+ ],
+ "type": "string"
+ },
+ "finishLevel": {
+ "enum": [
+ "builder_grade",
+ "standard",
+ "premium"
+ ],
+ "type": "string"
+ },
+ "foundation": {
+ "enum": [
+ "slab",
+ "crawl_space",
+ "basement",
+ "existing_not_applicable"
+ ],
+ "type": "string"
+ },
+ "hazardousMaterialRemediation": {
+ "type": "boolean"
+ },
+ "hvacReplacement": {
+ "type": "boolean"
+ },
+ "includesAdditionalInternalWorks": {
+ "type": "boolean"
+ },
+ "includesBasementWork": {
+ "type": "boolean"
+ },
+ "includesLowerGroundWork": {
+ "type": "boolean"
+ },
+ "kitchenScope": {
+ "enum": [
+ "No kitchen work",
+ "Kitchen allowance",
+ "New kitchen: supply and install",
+ "New kitchen: install only",
+ "Client-supplied kitchen, builder prepares room",
+ "Kitchen / diner works"
+ ],
+ "type": "string"
+ },
+ "lowerGroundAccess": {
+ "enum": [
+ "Direct external access",
+ "Access through main home",
+ "Constrained access"
+ ],
+ "type": "string"
+ },
+ "lowerGroundArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "lowerGroundDaylight": {
+ "enum": [
+ "Existing windows retained",
+ "Alter or enlarge openings",
+ "New lightwell / external excavation",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "lowerGroundExposure": {
+ "enum": [
+ "Mostly above ground",
+ "Split-level / partly below ground",
+ "Mostly below ground"
+ ],
+ "type": "string"
+ },
+ "lowerGroundMoisture": {
+ "enum": [
+ "Dry / no known issue",
+ "Local damp repairs",
+ "Known damp / waterproofing work",
+ "Not confirmed"
+ ],
+ "type": "string"
+ },
+ "lowerGroundOccupancy": {
+ "enum": [
+ "Vacant during works",
+ "House occupied during works"
+ ],
+ "type": "string"
+ },
+ "lowerGroundScope": {
+ "enum": [
+ "Refresh existing finished rooms",
+ "Refurbish existing habitable floor",
+ "Convert existing ancillary / storage rooms"
+ ],
+ "type": "string"
+ },
+ "lowerGroundServices": {
+ "enum": [
+ "Existing services retained",
+ "Alter existing services",
+ "New kitchen / bathroom services",
+ "Independent services / meters"
+ ],
+ "type": "string"
+ },
+ "lowerGroundUse": {
+ "enum": [
+ "Part of the main home",
+ "Dependent annexe",
+ "Separate dwelling / unit"
+ ],
+ "type": "string"
+ },
+ "occupiedDuringWork": {
+ "type": "boolean"
+ },
+ "parkingSpaces": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "planningStageOnly": {
+ "type": "boolean"
+ },
+ "primaryConstruction": {
+ "enum": [
+ "wood_frame",
+ "masonry_concrete",
+ "other_unknown"
+ ],
+ "type": "string"
+ },
+ "propertyForm": {
+ "enum": [
+ "Flat",
+ "Maisonette",
+ "Terraced house",
+ "Semi-detached house",
+ "Detached house",
+ "Barn / agricultural building",
+ "Other / not sure",
+ "Commercial office",
+ "Office suite"
+ ],
+ "type": "string"
+ },
+ "propertyPeriod": {
+ "enum": [
+ "Not sure",
+ "Modern / new build",
+ "1970s-1990s",
+ "1950s-1960s",
+ "1930s-1940s",
+ "Victorian / Edwardian",
+ "Older / period property",
+ "Listed / heritage"
+ ],
+ "type": "string"
+ },
+ "refurbishmentCondition": {
+ "enum": [
+ "Good",
+ "Average",
+ "Poor",
+ "Damp / cracks / problematic"
+ ],
+ "type": "string"
+ },
+ "refurbishmentDecoratingArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "refurbishmentFlooringArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "refurbishmentPackages": {
+ "items": {
+ "enum": [
+ "Plastering",
+ "Painting & decorating",
+ "Wood / laminate flooring",
+ "Kitchen work",
+ "Bathroom work",
+ "Windows / doors / glazing",
+ "External walls / insulation",
+ "General building / making good"
+ ],
+ "type": "string"
+ },
+ "maxItems": 12,
+ "type": "array"
+ },
+ "refurbishmentPlasteringArea": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "refurbishmentPrepLevel": {
+ "enum": [
+ "Simple refresh",
+ "Normal prep",
+ "Heavy prep"
+ ],
+ "type": "string"
+ },
+ "refurbishmentRoomState": {
+ "enum": [
+ "Empty",
+ "Partly furnished",
+ "Occupied"
+ ],
+ "type": "string"
+ },
+ "refurbishmentScope": {
+ "enum": [
+ "General refurbishment",
+ "Mixed room upgrade",
+ "Decoration only",
+ "External walls / insulation",
+ "Windows / doors / glazing",
+ "Kitchen works",
+ "Bathroom works",
+ "Kitchen and bathroom works",
+ "Whole property refurbishment"
+ ],
+ "type": "string"
+ },
+ "roomCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "scopeBand": {
+ "enum": [
+ "Lean",
+ "Balanced",
+ "Expanded"
+ ],
+ "type": "string"
+ },
+ "scopeLevel": {
+ "enum": [
+ "defined",
+ "typical",
+ "expanded"
+ ],
+ "type": "string"
+ },
+ "structuralChanges": {
+ "type": "boolean"
+ },
+ "structuralSteelLikely": {
+ "type": "boolean"
+ },
+ "urgencyBand": {
+ "enum": [
+ "Flexible",
+ "Soon",
+ "Urgent"
+ ],
+ "type": "string"
+ },
+ "windowCount": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "label": {
+ "enum": [
+ "Option 1",
+ "Option 2",
+ "Option 3"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "label",
+ "changes"
+ ],
+ "type": "object"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+}