diff --git a/hpxml_schematrons/measured_required.sch b/hpxml_schematrons/measured_required.sch index 3fed5d7c..b8001573 100644 --- a/hpxml_schematrons/measured_required.sch +++ b/hpxml_schematrons/measured_required.sch @@ -1,4 +1,4 @@ - + IRA HOMES Rebates 50121 Recommended For Modeled @@ -196,7 +196,7 @@ [HeatingSystemType=Furnace|WallFurnace|FloorFurnace|InUnitBoiler] - Expected HeatingSystemFuel to be 'electricity', 'natural gas', 'fuel oil', 'fuel oil 1', 'fuel oil 2', 'fuel oil 4', 'fuel oil 5/6', 'propane', 'wood', or 'wood pellets' when FractionHeatLoadServed is not zero + Expected HeatingSystemFuel to be 'electricity', 'natural gas', 'fuel oil', 'fuel oil 1', 'fuel oil 2', 'fuel oil 4', 'fuel oil 5/6', 'propane', 'kerosene', 'wood', 'wood pellets', 'coal', 'anthracite coal', 'bituminous coal', or 'coke' when FractionHeatLoadServed is not zero Expected AnnualHeatingEfficiency[Units="AFUE"]/Value, YearInstalled, or ModelYear when FractionHeatLoadServed is not zero @@ -219,7 +219,7 @@ DistributionSystem not allowed Expected HeatingSystemFuel when FractionHeatLoadServed is not zero - Expected HeatingSystemFuel to be 'wood' or 'wood pellets' when FractionHeatLoadServed is not zero + Expected HeatingSystemFuel to be 'kerosene', 'wood', 'wood pellets', 'coal', 'anthracite coal', 'bituminous coal', or 'coke' when FractionHeatLoadServed is not zero @@ -326,7 +326,7 @@ [WaterHeatingSystemType=Tank|Tankless|HeatPump] Expected UniformEnergyFactor, EnergyFactor, YearInstalled, or ModelYear when FractionDHWLoadServed is not zero - Expected FuelType to be one of 'natural gas', 'electricity', 'propane', 'fuel oil', 'fuel oil 1', 'fuel oil 2', 'fuel oil 4', or 'fuel oil 5/6' when FractionDHWLoadServed is not zero + Expected FuelType to be one of 'natural gas', 'electricity', 'propane', 'kerosene', 'fuel oil', 'fuel oil 1', 'fuel oil 2', 'fuel oil 4', or 'fuel oil 5/6' when FractionDHWLoadServed is not zero @@ -391,7 +391,7 @@ [ConsumptionInfo] - + Expected BPI2400Inputs diff --git a/hpxml_schematrons/modeled_recommended.sch b/hpxml_schematrons/modeled_recommended.sch index a930165f..9f6d0ef2 100644 --- a/hpxml_schematrons/modeled_recommended.sch +++ b/hpxml_schematrons/modeled_recommended.sch @@ -1,4 +1,4 @@ - + IRA HOMES Rebates 50121 Recommended For Modeled @@ -255,7 +255,7 @@ [HeatingSystemType=Furnace|WallFurnace|FloorFurnace|InUnitBoiler] - Expected HeatingSystemFuel to be 'electricity', 'natural gas', 'fuel oil', 'fuel oil 1', 'fuel oil 2', 'fuel oil 4', 'fuel oil 5/6', 'propane', 'wood', or 'wood pellets' when FractionHeatLoadServed is not zero + Expected HeatingSystemFuel to be 'electricity', 'natural gas', 'fuel oil', 'fuel oil 1', 'fuel oil 2', 'fuel oil 4', 'fuel oil 5/6', 'propane', 'kerosene', 'wood', 'wood pellets', 'coal', 'anthracite coal', 'bituminous coal', or 'coke' when FractionHeatLoadServed is not zero Expected AnnualHeatingEfficiency[Units="AFUE"]/Value, YearInstalled, or ModelYear when FractionHeatLoadServed is not zero @@ -278,7 +278,7 @@ DistributionSystem not allowed Expected HeatingSystemFuel when FractionHeatLoadServed is not zero - Expected HeatingSystemFuel to be 'wood' or 'wood pellets' when FractionHeatLoadServed is not zero + Expected HeatingSystemFuel to be 'kerosene', 'wood', 'wood pellets', 'coal', 'anthracite coal', 'bituminous coal', or 'coke' when FractionHeatLoadServed is not zero @@ -387,7 +387,7 @@ [WaterHeatingSystemType=Tank|Tankless|HeatPump] Expected UniformEnergyFactor, EnergyFactor, YearInstalled, or ModelYear when FractionDHWLoadServed is not zero - Expected FuelType to be one of 'natural gas', 'electricity', 'propane', 'fuel oil', 'fuel oil 1', 'fuel oil 2', 'fuel oil 4', or 'fuel oil 5/6' when FractionDHWLoadServed is not zero + Expected FuelType to be one of 'natural gas', 'electricity', 'propane', 'kerosene', 'fuel oil', 'fuel oil 1', 'fuel oil 2', 'fuel oil 4', or 'fuel oil 5/6' when FractionDHWLoadServed is not zero @@ -452,7 +452,7 @@ [ConsumptionInfo] - + Expected BPI2400Inputs diff --git a/hpxml_schematrons/modeled_required.sch b/hpxml_schematrons/modeled_required.sch index 9c7ca0b4..83494015 100644 --- a/hpxml_schematrons/modeled_required.sch +++ b/hpxml_schematrons/modeled_required.sch @@ -1,4 +1,4 @@ - + IRA HOMES Rebates 50121 Recommended For Modeled @@ -206,7 +206,7 @@ [HeatingSystemType=Furnace|WallFurnace|FloorFurnace|InUnitBoiler] - Expected HeatingSystemFuel to be 'electricity', 'natural gas', 'fuel oil', 'fuel oil 1', 'fuel oil 2', 'fuel oil 4', 'fuel oil 5/6', 'propane', 'wood', or 'wood pellets' when FractionHeatLoadServed is not zero + Expected HeatingSystemFuel to be 'electricity', 'natural gas', 'fuel oil', 'fuel oil 1', 'fuel oil 2', 'fuel oil 4', 'fuel oil 5/6', 'propane', 'kerosene', 'wood', 'wood pellets', 'coal', 'anthracite coal', 'bituminous coal', or 'coke' when FractionHeatLoadServed is not zero Expected AnnualHeatingEfficiency[Units="AFUE"]/Value, YearInstalled, or ModelYear when FractionHeatLoadServed is not zero @@ -229,7 +229,7 @@ DistributionSystem not allowed Expected HeatingSystemFuel when FractionHeatLoadServed is not zero - Expected HeatingSystemFuel to be 'wood' or 'wood pellets' when FractionHeatLoadServed is not zero + Expected HeatingSystemFuel to be 'kerosene', 'wood', 'wood pellets', 'coal', 'anthracite coal', 'bituminous coal', or 'coke' when FractionHeatLoadServed is not zero @@ -336,7 +336,7 @@ [WaterHeatingSystemType=Tank|Tankless|HeatPump] Expected UniformEnergyFactor, EnergyFactor, YearInstalled, or ModelYear when FractionDHWLoadServed is not zero - Expected FuelType to be one of 'natural gas', 'electricity', 'propane', 'fuel oil', 'fuel oil 1', 'fuel oil 2', 'fuel oil 4', or 'fuel oil 5/6' when FractionDHWLoadServed is not zero + Expected FuelType to be one of 'natural gas', 'electricity', 'propane', 'kerosene', 'fuel oil', 'fuel oil 1', 'fuel oil 2', 'fuel oil 4', or 'fuel oil 5/6' when FractionDHWLoadServed is not zero @@ -401,7 +401,7 @@ [ConsumptionInfo] - + Expected BPI2400Inputs diff --git a/json_schemas/homesBulkReportingPayload.schema.json b/json_schemas/homesBulkReportingPayload.schema.json index 457b3180..934b32db 100644 --- a/json_schemas/homesBulkReportingPayload.schema.json +++ b/json_schemas/homesBulkReportingPayload.schema.json @@ -10,6 +10,12 @@ "address_id": { "$ref": "/schemas/definitions#address_id" }, + "aggregator_company_name": { + "$ref": "/schemas/definitions#aggregator_company_name" + }, + "aggregator_id": { + "$ref": "/schemas/definitions#aggregator_id" + }, "applicant_id": { "$ref": "/schemas/definitions#applicant_id" }, @@ -191,11 +197,25 @@ }, "else": { "not": { - "required": [ - "portfolio_id" + "anyOf": [ + { + "required": [ + "portfolio_id" + ] + }, + { + "required": [ + "aggregator_id" + ] + }, + { + "required": [ + "aggregator_company_name" + ] + } ] }, - "error_msg": "'portfolio_id' must not be provided when 'claimant_type' is not 'AGGREGATOR'." + "error_msg": "None of 'portfolio_id', 'aggregator_id', and 'aggregator_company_name' are allowed when 'claimant_type' is not 'AGGREGATOR'." } }, { diff --git a/resolved_json_schemas/homesBulkReportingPayload.schema.json b/resolved_json_schemas/homesBulkReportingPayload.schema.json index 8abab040..c7e2a713 100644 --- a/resolved_json_schemas/homesBulkReportingPayload.schema.json +++ b/resolved_json_schemas/homesBulkReportingPayload.schema.json @@ -13,6 +13,20 @@ "description": "A unique identifier associated with the address of the building at which the upgrade(s) will be installed. This id must be obtained using the address-service endpoint.", "title": "Address id" }, + "aggregator_company_name": { + "type": "string", + "title": "Aggregator company name", + "minLength": 1, + "maxLength": 64, + "description": "The name of the company acting as an aggregator for this project." + }, + "aggregator_id": { + "type": "string", + "title": "Aggregator id", + "minLength": 6, + "maxLength": 64, + "description": "This is a unique identifier created by the state for an aggregator that the state will reimburse in connection with this rebate." + }, "applicant_id": { "type": "string", "description": "This identifier is unique to the applicant (the building owner or renter that is to benefit from the rebate). It must be obtained from the API /applicant endpoint.", @@ -706,8 +720,22 @@ }, "else": { "not": { - "required": [ - "portfolio_id" + "anyOf": [ + { + "required": [ + "portfolio_id" + ] + }, + { + "required": [ + "aggregator_id" + ] + }, + { + "required": [ + "aggregator_company_name" + ] + } ] } }