ConsumerDataStandardsAustralia / standards-maintenance

This repository houses the interactions, consultations and work management to support the maintenance of baselined components of the Consumer Data Right API Standards and Information Security profile.
41 stars 9 forks source link

Review ENUM values for representation of days in Energy Standards #502

Closed CDR-API-Stream closed 1 year ago

CDR-API-Stream commented 2 years ago

Description

As part of feedback on issue #472, request was made to align the ENUM values for representing 'days' within the energy technical standards.

This issue has been raised to consult on the request.

Area Affected

Energy APIs

Change Proposed

This decision proposal is currently a placeholder. The DSB will publish recommended changes to be consulted on within the Maintenance Iteration it gets prioritised for.

CDR-API-Stream commented 2 years ago

Background

During consultation of issue 472, participants requested to have EnergyPlanTariffPeriod.demandCharges.days defined as ENUM similar to EnergyPlanTariffPeriod.timeOfUseRates.timeOfUse.days. This would give greater flexibility in representing days the rates are applicable. Further feedback also suggested to align the values of ENUM with banking (for e.g. "MON", "TUE", etc. - see lastWeekDay for example).

There is also an opportunity to align the representation of all days fields within the Energy APIs. More specifically, convert all of them to ENUM type.

Current State

Currently, the following days fields are specified in Energy standards:

1. EnergyPlanSolarFeedInTariff.timeVaryingTariffs.timeVariations

"days": {
    "weekdays": true,
    "weekend": true
}

2. EnergyPlanTariffPeriod.demandCharges.days

"days": {
    "weekdays": true,
    "saturday": true,
    "sunday": true
}

3. EnergyPlanTariffPeriod.timeOfUseRates.timeOfUse

"days": ["SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "BUSINESS_DAYS"]

Solution Options

The DSB proposes the following options for consideration:

Option 1

Change only the EnergyPlanTariffPeriod.demandCharges.days field type to ENUM as per the original request in CR 472.

Option 2

Extend the change to convert all days fields in Energy schema to ENUMs. This would include the following fields:

  1. EnergyPlanSolarFeedInTariff.timeVaryingTariffs.timeVariations
  2. EnergyPlanTariffPeriod.demandCharges.days
  3. EnergyPlanTariffPeriod.timeOfUseRates.timeOfUse

ENUM Values

The DSB proposes the following ENUM values for days field:

"days": ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT", "BUSINESS_DAYS", "WEEKEND", "WEEKDAYS"]

The values of individual days have been aligned to banking sector (e.g. lastWeekDay). The following additional values are proposed for flexibility:

The values would be applied to all days fields that are currently ENUM, and the ones that will be converted to ENUM as a result of this CR.

The DSB is seeking feedback on the above options and the proposed ENUM values.

CDR-API-Stream commented 2 years ago

Following feedback was received in todays (8th June) maintenance iteration call:

Note that this CR will be discussed during the Energy specific MI11 call scheduled on the 14th of June.

perlboy commented 2 years ago

I think WEEKEND and WEEKDAYS doesn't make a lot of sense as it can already be implied by listing days. Including "helper" expansions may be easier to see for humans but is harder to process for software. We are unlikely to ship WEEKEND and WEEKDAYS to ADRs.

BUSINESS_DAYS and PUBLIC_HOLIDAYS is problematic because locality isn't defined. In what state is this expected to be assessed in?

CDR-API-Stream commented 2 years ago

The DSB has confirmed with EME that their interpretation of BUSINESS_DAYS includes public holidays as it is a shorthand for retailers to express MON to FRI.

Based on this information and feedback received during the Energy MI call on 14th June, the DSB proposes removing WEENEND and WEEKDAYS from the ENUM list. Clarification to the standards will be added stating BUSINESS_DAYS includes public holidays.

Below is the updated structure:

"days": ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT", "BUSINESS_DAYS", "PUBLIC_HOLIDAYS"]

If no further feedback is recieved, the DSB will recommend the above change along with Option 2 in this comment to the Chair for approval.

biza-io commented 2 years ago

We are unclear why the definition of business days is being redefined based on a historical decision made by a single organisation. New implementers will be required to redefine their understanding of what a business day is.

Additional is unclear how to exclude Public Holidays? By the current definition it is only possible to specify Mon-Fri including public holidays, public holidays or individual days.

Consequently we propose BUSINESS_DAYS excluding Public Holidays and keep PUBLIC_HOLIDAYS to provide the inclusion.

CDR-API-Stream commented 1 year ago

Based on the feedback received in the last MI11 call and comments provided in this thread, WEEKDAYS, WEEKEND and BUSINESS_DAYS will be removed from the list of ENUM for days. The DSB also discussed this proposal with EME team who have agreed to it. Below is the updated ENUM:

"days": ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT", "PUBLIC_HOLIDAYS"]

The above change along with Option 2 in this https://github.com/ConsumerDataStandardsAustralia/standards-maintenance/issues/502#issuecomment-1145585541 will be recommended to the Chair for approval.