Service Provider Product Application
The relation that links a service provider to a system operator, for the SP to apply for delivering the SO some of the types of product they want to buy on a flexibility market. The SP can apply for one or more product types, several times, for a given SO.
Status transitions
The following diagram shows the status transition we envision for an application/qualification resource. We think of the "application" as a resource in the system, that can be created and updated. The status of the application is updated as the process and lifecycle of the application progresses.
Full Size | Graphviz description | How to read the diagram

Relevant links
Fields
| Name | Description | Format | Reference |
|---|---|---|---|
| id | Unique surrogate identifier. | bigint Read only |
|
| service_provider_id | Reference to the service provider. | bigint Required Non-updatable |
party.id |
| system_operator_id | Reference to the system operator. | bigint Required Non-updatable |
party.id |
| product_type_ids | References to the product types. | Required Array of bigint |
product_type.id |
| status | The status of the application. | text One of: requested, in_progress, communication_test, not_qualified, qualifiedDefault: requested |
|
| qualified_at | When the product application was last validated. | date-time | |
| recorded_at | When the resource was recorded (created or updated) in the system. | date-time Read only |
|
| recorded_by | The identity that recorded the resource. | bigint Read only |
Validation Rules
| Validation rule key | Validation rule | Status |
|---|---|---|
| SPPA-VAL001 | Inserted product_type_ids must be active product types asked by the SO. |
DONE |
| SPPA-VAL002 | If status is set to qualified, then qualified_at must already be specified in the resource or the request. |
DONE |
| SPPA-VAL003 | If status is set to not_qualified, then qualified_at must be unset in the resource or by the request. |
DONE |
Notifications
| Action | Recipient | Comment |
|---|---|---|
| create, update, delete | SO | |
| create, update, delete | SP |
Authorization
Resource Level Authorization
Below is the RLA for the resource. The default policy is deny.
Anonymous
No policies.
Common
| Policy key | Policy | Status |
|---|---|---|
| SPPA-COM001 | Read history on SPPA that they can read. | DONE |
Balance Responsible Party
No policies.
End User
No policies.
Energy Supplier
No policies.
Flexibility Information System Operator
| Policy key | Policy | Status |
|---|---|---|
| SPPA-FISO001 | Read and update all SPPA. | DONE |
Organisation
No policies.
System Operator
| Policy key | Policy | Status |
|---|---|---|
| SPPA-SO001 | Read all SPPA. | DONE |
| SPPA-SO002 | Update SPPA targeting them. | DONE |
Service Provider
| Policy key | Policy | Status |
|---|---|---|
| SPPA-SP001 | Read and create SPPA concerning themselves. | DONE |
| SPPA-SP002 | Update their SPPA when status is requested. |
DONE |
Third Party
No policies.
Field Level Authorization
For party type abbreviations, check the authentication docs.
| FIELD | ANON | BRP | ES | EU | FISO | SO | SP | TP | ORG |
|---|---|---|---|---|---|---|---|---|---|
| id | R | R | R | R | R | R | R | ||
| service_provider_id | R | R | R | R | R | RC | R | ||
| system_operator_id | R | R | R | R | R | RC | R | ||
| product_type_ids | R | R | R | RU | R | RCU | R | ||
| status | R | R | R | RU | RU | RC | R | ||
| qualified_at | R | R | R | RU | RU | R | R | ||
| recorded_at | R | R | R | R | R | R | R | ||
| recorded_by | R | R | R | R | R | R | R |