Facility
nutrab2b.master.facility_upserted.v2 · Master data
- Purpose
- Describe a site (farm, extraction plant, CDMO, warehouse, lab) with its registrations and capabilities.
- When to send
- New site, change in registrations or capabilities.
- Sender → receiver
- Facility owner → Hub and buyers
- Expected responses
- ACK
- Equivalent standards
- GS1: GLN location master · SAP: Plant (T001W)
- Scenarios using it
- -
Fields and mappings
| Field | Type | Req | Description | Code list / format | EDI / GS1 / SAP mapping |
|---|---|---|---|---|---|
| gln | string | yes | Facility GLN | ^\d{13}$ | |
| owner_gln | string | yes | Owning party GLN | ^\d{13}$ | |
| name | string | yes | Facility name | ||
| type | string | yes | Facility type | facility_type | |
| address | object | yes | Postal address | ||
| lines | array<string> | Street lines | |||
| city | string | City | |||
| postal_code | string | Postal code | |||
| region | string | State / province (ISO 3166-2 subdivision) | |||
| country | string | yes | Country | country | |
| geo | object | Coordinates (EUDR / origin traceability) | |||
| lat | number | yes | Latitude | ||
| lon | number | yes | Longitude | ||
| polygon_wkt | string | Plot polygon WKT (wild collection / farm) | |||
| schemes | array<string> | Quality schemes held (quality_scheme codes) | |||
| capabilities | array<string> | Product forms produced (product_form codes) | |||
| storage | array<string> | Storage classes available |
Business rules
- None beyond schema and code lists.
Example
{
"specversion": "2.0",
"id": "evt-facility-FACILITY-1",
"type": "nutrab2b.master.facility_upserted.v2",
"source": "urn:gln:0614141000012:erp",
"subject": "FACILITY",
"time": "2026-11-02T09:00:00Z",
"datacontenttype": "application/json",
"dataschema": "https://nutrab2b.org/schemas/2.0/FACILITY.json",
"sender": {
"gln": "0614141000012"
},
"receiver": {
"gln": "4012345000009"
},
"correlationid": "CONV-RFQ-1001",
"idempotencykey": "FACILITY:FACILITY:1",
"sequence": 1,
"env": "test",
"data": {
"gln": "4012345000016",
"owner_gln": "4012345000009",
"name": "Bengaluru extraction plant",
"type": "EXTRACTION",
"address": {
"city": "Bengaluru",
"country": "IN"
},
"geo": {
"lat": 13.07,
"lon": 77.58
},
"schemes": [
"CGMP_111",
"FSSC_22000",
"FSSAI"
],
"capabilities": [
"EXTRACT_DRY",
"POWDER"
],
"storage": [
"AMBIENT",
"DRY"
]
}
}Mapping checklist
- Every required field populated from your system of record
- Coded fields mapped to the Bodylia OpenB2B code lists
- GLN, GTIN and SSCC check digits validated
- Rules above pass in the validator
- Idempotency key and per-subject sequence generated
- Expected responses, including rejections, handled
