> ## Documentation Index
> Fetch the complete documentation index at: https://docs.engrate.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Scheduling

> Send your planned energy per quarter-hour for a delivery day, and follow what the market does with it.

A schedule is your plan for one delivery day in one scheduling area: per quarter-hour, how much energy you produce, consume, and trade with other parties. You send it to the Scheduling Area Responsible before delivery. It is called a Fahrplan in Germany, and an energy program in the Netherlands.

After delivery, the market settles the difference between your schedule and what was actually allocated to you. A schedule that the market did not confirm as you sent it can be costly, so you need to know, per series, what the market holds.

## How it works

```mermaid theme={null}
sequenceDiagram
    autonumber
    participant You
    participant Engrate
    participant SAR as Scheduling Area Responsible
    You->>Engrate: POST /schedules (the series you want)
    Engrate->>SAR: Revision N
    SAR-->>Engrate: Acknowledgement
    SAR-->>Engrate: Anomaly report, if a series does not match
    SAR-->>Engrate: Confirmation report
    You->>Engrate: GET /schedules/{uid}/series-state
    Engrate-->>You: Match status and confirmation of each series
```

1. **You declare the series you want.** [Create Schedule](https://docs.engrate.io/api-reference/schedules/create-schedule.md) records them for one delivery day in one scheduling area. Post again to change them: the new series replace the old.
2. **Engrate sends a revision.** When what you want differs from what the market holds, Engrate sends a new [revision](https://docs.engrate.io/market-communication/schedules/revisions.md) in the market's own format.
3. **The market answers.** The Scheduling Area Responsible acknowledges the revision, matches each series against your counterparty's, and confirms the values it will use.
4. **You read the result per series.** [Get Series State](https://docs.engrate.io/api-reference/schedules/get-series-state.md) gives the match status and the confirmed values of each series. See [Matching](https://docs.engrate.io/market-communication/schedules/matching-and-confirmation.md).

The Scheduling Area Responsible enforces its gate closure times. Engrate always sends your latest series, and the market decides whether they arrived in time.

## Series and counterparties

A schedule holds series. Each series describes one flow of energy, for example a trade with another party or your own production.

For a trade, the other side sends its own series, the counterpart series. The Scheduling Area Responsible matches your series against it. See [Matching](https://docs.engrate.io/market-communication/schedules/matching-and-confirmation.md).

Each market has its own rules for which series you can send.

## Send a schedule

[Send your first schedule](https://docs.engrate.io/market-communication/guides/send-your-first-schedule.md) walks through the whole cycle.

## In the console

![Console list of schedules with revision, matching, confirmation and finality per delivery day](https://mintcdn.com/engrate/-AD0kDwT-op20r0n/images/console/schedules-list.png?fit=max\&auto=format\&n=-AD0kDwT-op20r0n\&q=85\&s=4db7f66ba8d1b1f585a56dc54f4ff72e)

Every schedule with its latest and active revision, and how the Scheduling Area Responsible matched and confirmed it

![Console view of one schedule's series with match status and confirmation per series](https://mintcdn.com/engrate/-AD0kDwT-op20r0n/images/console/schedule-series.png?fit=max\&auto=format\&n=-AD0kDwT-op20r0n\&q=85\&s=ef1ac297ae354d1f39f4667117bdc427)

One schedule's series, as the Scheduling Area Responsible holds them for the day

## Endpoints

| To | Use |
| - | - |
| Declare or change the series of a delivery day | [Create Schedule](https://docs.engrate.io/api-reference/schedules/create-schedule.md) |
| Find your schedules | [List Schedules](https://docs.engrate.io/api-reference/schedules/list-schedules.md), [Get Schedule](https://docs.engrate.io/api-reference/schedules/get-schedule.md) |
| See each revision and its status | [List Schedule Versions](https://docs.engrate.io/api-reference/schedules/list-schedule-versions.md) |
| See the series of one revision | [Get Schedule Series](https://docs.engrate.io/api-reference/schedules/get-schedule-series.md) |
| See the match status and confirmation of each series | [Get Series State](https://docs.engrate.io/api-reference/schedules/get-series-state.md) |
| See what the market said, report by report | [List Schedule Match Reports](https://docs.engrate.io/api-reference/schedules/list-schedule-match-reports.md), [List Match Reports](https://docs.engrate.io/api-reference/schedules/list-match-reports.md) |
| Read the original market messages | [List Incoming Messages](https://docs.engrate.io/api-reference/schedules/list-incoming-messages.md), [Get Incoming Message](https://docs.engrate.io/api-reference/schedules/get-incoming-message.md) |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.