DST Procedure - britned/empire-platform-api GitHub Wiki

Daylight Saving Time Overview

The Daylight Saving Time (DST) period in starts on the last Sunday of March and ends on the last Sunday of October. The exact date will change each year but the day and month stay constant.

  • On the last Sunday of March at 02:00, clocks will move 1 hour forward to 03:00 - "spring forward", resulting in a short day
  • On the last Sunday of October at 02:00, clocks will move 1 hour back to 01:00 - "fall back", resulting in a long day

As Empire follows the Europe/Amsterdam time, DST impacts all Day Ahead and Intraday Auctions, and Nominations for all three timescales. DST is managed within Empire as follows:

  • On the last Sunday of March:
    • There will be one less MTU than usual because 02:00 to 03:00 will be skipped ("short day")
    • This will impact Day Ahead and Intraday 1 Auctions
    • This will impact Long Term, Day Ahead and Intraday Nominations
  • On the last Sunday of October:
    • There will be one more MTU than usual because 02:00 to 03:00 will be duplicated ("long day")
    • This will impact Day Ahead and Intraday 1 Auctions
    • This will impact Long Term, Day Ahead and Intraday Nominations

DST Testing Procedures

💡 Make sure to follow the Auction Schedule to see the published Day Ahead and Intraday 1 auctions for the "long" and "short" days that are impacted by DST!

Prior to last Sunday of March and the last Sunday of October, BritNed will run certain test scenarios on the TRAINING Environment of Empire. All registered Participants can freely take part of the different Testing Scenarios through either the GUI or the dedicated API endpoints as described in the Auctions and Nominations sections. BritNed will notify all Market Participants prior to conducting the DST Testing Scenarios. The generic testing regime is as follows:

  • publish & open the Day Ahead and Intraday 1 Auction for the "long" or "short" day impacted by the DST change
  • Market Participants are able to place bids for the Day Ahead or Intraday 1 Auctions through the GUI or the API
  • BritNed will allocate the Day Ahead and Intraday 1 Auctions well ahead of time, to ensure that every Market Participant that submitted bids get their Transmission Rights allocated
  • following the successful allocations of the Day Ahead and the Intraday Transmission Rights, Market Participants will be able to submit either Day Ahead or Intraday Nominations to the "long" or "short" day as long as Transmission Rights were allocated using either the GUI or the API

Market Participants can freely use the GUI for submitting bids for the Day Ahead and the Intraday 1 auction, alongside with submitting Long Term, Day Ahead, Intraday Nominations as well as long as there are respective Transmission Rights allocated for the relevant Timescales MTU for the given Delivery Day

Submitting Day Ahead and Intraday Bids

You need to use the submitDayAheadOrIntraDayAuctionBids endpoint to submit Day Ahead or Intraday bids.

DA / ID bids are grouped in so-called Bid Groups, encompassing a set of bid prices and requested capacities for the auction's MTUs. You can add an arbitrary number of Bid Groups, as long as the requested capacity and/or the bid price differs between them for the same MTU.

💡 Read the article on Day Ahead and Intraday bidding for more details and information about the Bidding process

As the Backend works in UTC (which is not impacted by DST) it is required that:

  • on a "short" day (last Sunday of March) the API request includes
    • 23 MTUs for the Day Ahead Auction
    • 7 MTUs for the Intraday 1 Auction
  • on a "long" day (last Sunday of October) the API request includes
    • 25 MTUs for Day Ahead auction
    • 9 MTUs for the Intraday 1 auction

The following sample payload illustrates submitting Intraday bids for the 29th of October 2023 ("long day") for the first 5 MTUs between 00:00 to 04:00 (as 02:00 to 03:00 is duplicated):

{
  "bidGroups": [
    {
      "bids": [
        {
          "mtu": "2023-10-28T22:00:00.000Z",
          "value": {
            "price": 0.1,
            "capacity": 5000
          }
        },
        {
          "mtu": "2023-10-28T23:00:00.000Z",
          "value": {
            "price": 0.1,
            "capacity": 5000
          }
        },
        {
          "mtu": "2023-10-29T00:00:00.000Z",
          "value": {
            "price": 0.1,
            "capacity": 5000
          }
        },
        {
          "mtu": "2023-10-29T01:00:00.000Z",
          "value": {
            "price": 0.1,
            "capacity": 5000
          }
        },
        {
          "mtu": "2023-10-29T02:00:00.000Z",
          "value": {
            "price": 0.1,
            "capacity": 5000
          }
        }
      ]
    }
  ]
}

The above payload creates 1 Bid Group for the specified MTUs, including the additional MTU for the 29th of October 2023:

UTC MTU Bid capacity (MW) Bid Price (EUR)
22:00 00:00 - 01:00 5 0.1
23:00 01:00 - 02:00 5 0.1
00:00 A 02:00 - 03:00 5 0.1
01:00 B 02:00 - 03:00 5 0.1
02:00 03:00 - 04:00 5 0.1

❗ Remember that when submitting a DA / ID bid request for an auction will always overwrite any existing bids with the new payload!


The following sample payload illustrates submitting Intraday bids for the 31st of March 2024 ("short day") for the first 7 MTUs between 00:00 to 07:00 (as 02:00 to 03:00 doesn't exist):

{
  "bidGroups": [
    {
      "bids": [
        {
          "mtu": "2024-03-30T23:00:00.000Z",
          "value": {
            "price": 0.1,
            "capacity": 5000
          }
        },
        {
          "mtu": "2024-03-31T00:00:00.000Z",
          "value": {
            "price": 0.1,
            "capacity": 5000
          }
        },
        {
          "mtu": "2024-03-31T01:00:00.000Z",
          "value": {
            "price": 0.1,
            "capacity": 5000
          }
        },
        {
          "mtu": "2024-03-31T02:00:00.000Z",
          "value": {
            "price": 0.1,
            "capacity": 5000
          }
        },
        {
          "mtu": "2024-03-31T03:00:00.000Z",
          "value": {
            "price": 0.1,
            "capacity": 5000
          }
        },
        {
          "mtu": "2024-03-31T04:00:00.000Z",
          "value": {
            "price": 0.1,
            "capacity": 5000
          }
        },
        {
          "mtu": "2024-03-31T05:00:00.000Z",
          "value": {
            "price": 0.1,
            "capacity": 5000
          }
        }
      ]
    }
  ]
}

The above payload creates 1 Bid Group for the specified MTUs. Because of the clock going forward, the 02:00-03:00 MTU will be skipped:

UTC MTU Bid capacity (MW) Bid Price (EUR)
23:00 00:00 - 01:00 5 0.1
00:00 01:00 - 02:00 5 0.1
01:00 03:00 - 04:00 5 0.1
02:00 04:00 - 05:00 5 0.1
03:00 05:00 - 06:00 5 0.1
04:00 06:00 - 07:00 5 0.1
05:00 07:00 - 08:00 5 0.1

❗ Remember that when submitting a DA / ID bid request for an auction will always overwrite any existing bids with the new payload!

Submitting Long Term, Day Ahead or Intraday Nominations

Synchronising your system with Empire

To ensure that you submit valid nominations, it is recommended to first get the current Nominations for the desired Delivery Day, Timescale and Border Direction in order to synchronise your system with Empire. Use the getTimescaleNominations endpoint for this.

As the Backend works in UTC (which is not impacted by DST) will return the correct number of MTUs for each Delivery Day, and these exact MTUs are required to be "sent back" when submitting Nominations for the respective Delivery Days.

  • on a "short" day (last Sunday of March) the API return will include
    • 23 MTUs for all Timescales
  • on a "long" day (last Sunday of October) the API return will include
    • 25 MTUs for all Timescales

Submit Nominations through the JSON API

The submitTimescaleNominations endpoint provides a straightforward way to submit your Organisation's Nominations via Empire's REST API.

As the Backend works in UTC (which is not impacted by DST) you will need to send the correct number of MTUs for the respective Delivery Days:

  • on a "short" day (last Sunday of March) the API request must include
    • 23 MTUs for all Timescales
  • on a "long" day (last Sunday of October) the API request must include
    • 25 MTUs for all Timescales