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

# PARTIN (BKV-Kontaktdaten)

> Publishing the BRP's contact datasheet to market partners

Every market role publishes its communication data to its partners as a
**PARTIN** (Partnerstammdaten). For the BKV role that is application case
**37003 "Kommunikationsdaten des BKV Strom"** (PARTIN AHB ch. 5.2), sent
**BKV → NB, BIKO and ÜNB** — the mirror image of the datasheets those
partners send us.

## What the message carries

The configured company datasheet: name and address (`NAD+Z35` — Z35 is
the BKV role code), bank details (`FII+BK`), website, VAT ID, weekday
service hours (Monday–Friday all mandatory, German legal time), and
contact blocks for *Übertragungsweg/Datenaustausch* (`Z10`) and
*Bilanzierungsprozesse/Bilanzkreismanagement* (`Z21`). Towards the ÜNB a
*Rahmenverträge* contact (`Z11`) is added, as the AHB requires only there.

Two AHB rules worth knowing:

* Contacts name an **organisational unit, never a person** (rule \[501]) —
  "Marktkommunikation", not a colleague's name.
* The message is **versioned** (`RFF+AGK`, starting at 1). A changed
  datasheet must be re-sent with the version incremented; the receiver
  treats the higher version as the update.

## Sending

The console has a **PARTIN panel**: pick the receiver role (NB from the
BDEW dropdown; BIKO/ÜNB by MP-ID), set the version, *Vorschau* shows the
exact interchange, *Senden* delivers after a confirmation.

Over the API:

```bash theme={null}
# render without sending
curl -X POST "$BASE/v1/process/partin/preview" \
  -H "X-API-Key: $PROCESS_KEY" -H "Content-Type: application/json" \
  -d '{"receiver_mp_id": "9900319000009", "receiver_role": "NB"}'

# deliver via MakoFlow
curl -X POST "$BASE/v1/process/partin" \
  -H "X-API-Key: $PROCESS_KEY" -H "Content-Type: application/json" \
  -d '{"receiver_mp_id": "9900319000009", "receiver_role": "NB", "version": 1}'
```

`receiver_role` is `NB` (default), `BIKO` or `UNB`; it selects the
role-dependent blocks. Every send lands in the audit trail with the exact
interchange and emits a `partin_sent` event.

## Configuration

The datasheet lives in `PARTIN_COMPANY` (JSON, console-mutable), prefilled
from the *Kontaktdatenblatt Cloover Energy GmbH*: address Hussitenstraße
32, 13355 Berlin, USt-ID, Deutsche Bank IBAN/BIC, contact
`mako@cloover.com` / `+4915129429989` under the unit "Marktkommunikation".

<Warning>
  Two fields are **not** in the datasheet and use defaults that need
  confirming before the first send: the service hours (Mo–Do 09:00–17:00,
  Fr 09:00–15:00) and the Handelsregister entry (omitted until `court` and
  `registry_number` are set). The sender is `BKV_MP_ID` = 9985803000004,
  as stated on the datasheet.
</Warning>
