I01 Storage Notification

Status

Version 2.0 for ERP published 25.04.2023, Version 1.0 for WMS published 12.04.2022

Approval
  1. DeepSea: SST im Worksheet abgestimmt mit Oyster Fachbereich

  2. NEON: abgestimmt mit Körber zur Umsetzung in NEON_Fein_Pflichtenheft_WEN1_ SST_v6.0

Comment

Die Anbindung von MyToys ist in Planung und im Informationsflussdiagramm mit aufgenommen.

Assumption

Die Avise wird nicht komplett über die SST übertragen sondern die Positionen als StorageNotification

1. Stakeholder

Role Application Responsible

Communication

Integration Layer

Leading App

Inbound

InterfaceOwner

Producer

Oyster

Producer

OBS

MyToys

Consumer

FLASH

Consumer

kMotion

Consumer

KR1

Consumer

COBRA

Consumer

2. Business Context

Es wird unterschieden zwischen PurchaseOrder als Lieferantenauftrag und einer Avise (Advice). Daneben wird im Rahmen von Deepsea auch eine Einlagerungsauftag aufgebaut. Dieser entspricht unserem Verständnis nach der Avise. Somit beschreibt die Avise eine Anlieferung die bald am Lager ankommen wird. Darin wird auf eine PurchaseOrder verwiesen. Eine PurchaseOrder kann n Avisen haben. Eine Avise kann aus mehreren Lieferscheinen bestehen. Eine Avise kann nach ihrer Art (Type) unterschieden werden Lieferavise, Umfuhr, Retoureavise.

3. Informationflow

flow

4. Interface

4.1. Direction ERP to FINE

4.1.1. Header

This interface uses the Service Header

Special expresion for this interface:

Table 1. Attribute
Fieldname Expresion

type

oyster-goods-receipt-event.PURCHASE_ORDER_CREATE

oyster-goods-receipt-event.PURCHASE_ORDER_UPDATE

oyster-goods-receipt-event.PURCHASE_ORDER_CONFIRM

oyster-goods-receipt-event.PURCHASE_ORDER_CANCEL

context

STORAGE_NOTIFICATION

4.1.2. Datamodel

Property Type Description

(Root)

object

    eventId*

string (uuid)

UUID for this event
ID of the event (message), will be generated by the actual producer

Minimum Length: 36
Maximum Length: 36
Regular expression: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

    traceId*

string (uuid)

UUID for all events in a call hierarchy
ID of the trace, will be generated by the first producer of the process. The ID will be the same for all events in the context of this process, also over system bounderies. The ID is equal to the eventId, if it is the frist event.

It's like a order number, the will used for alle activities around the order.

Minimum Length: 36
Maximum Length: 36
Regular expression: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

    spanId*

string (uuid)

UUID for all events in a call hierarchy
ID of the previous event (message). The ID is NULL if there is no previous event

Minimum Length: 36
Maximum Length: 36
Regular expression: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

    version*

string

Json schema version
Version of the interface

Minimum Length: 3
Maximum Length: 4
Regular expression: ^[0-9]+[.][0-9]+$

    eventTime*

string (date-time)

Event time
Point in time where the event (message - not the businessEvent). Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ

    context*

string

The name of the responsible context
Name of the context

Maximum Length: 20

    type*

string

Type
Name of the single atomar process (businessEvent) that causes this event

    sender*

string

Sender
The producer, that send the message (COBRA, K.MOTION…​)

    sourceIdentifier*

string

SourceIdentifier
End 2 End producer (original producer)

    instance

string

Instance
Application instance

    data*

object

        storageNotificationId*

string

Storage Notification Id
Technical key

Maximum Length: 36

        storageNotificationNo*

string

Storage Notification Number
Business key

        created*

string (date-time)

Created Date
Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ

        updated*

string (date-time)

Updated Time
Modification date. For new installation: creatDate=modifyDate. Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ

        partnerId*

string

Partner Id
Platform ID in the first step is the Otto

        purchaseOrder*

object

            orderUUID*

string

Order UUID
PurchaseOrder ID - technische Schlüssel

            orderPositionUUID*

string

Order Position UUID
PurchaseOrder Position ID - technische Schlüssel

            orderNo*

string

Order Number
OVA

            location*

string

Storage Location
Storage location, List of allowed values will be defined and documented #url

            sourceLocation

string

Source/Original location
Where does the stock originally come from

            handlingType*

string

Handling Type
Processing type OSS, wholesale, wholesalelight

            supplyLocationCode*

string

Supply Location Code
e.g. 10 camp location with all its gates. Delivery address mark

            deliveryDate*

string (date)

Delivery Date
The planned delivery date. Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ

Maximum Length: 10

            forecastedWarehouseArrivalDate

string (date)

Forecasted Warehouse Arrival Date
Projected WE1 date. Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ

Maximum Length: 10

            forecastedBufferedStorageDate

string (date)

Forecasted Buffered Storage Date
Predicted WE2 Date. Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ

Maximum Length: 10

            foreignDemandQty

string

Foreign Demand Quantity
Fremdbedarfe ist eine Lagerwaren-Bestellung von Großkunden an Otto. Otto ist in diesem Fall also der Lieferant. Und manchmal beschafft Otto die benötigte Ware mit einem eigenen Otto-Auftrag mit.

            planningPeriodCode*

string

Planning Period Code
Season

            supplierNo*

string

Supplier Number
LKZ

            orderQty*

number

Order Quantity
PurchaseOrder quantity

        productIdentifier*

object

            erpProductId*

string

¨Erp Product Id
erpProductId aus LSAS

Maximum Length: 36

            FNSKU

string

FNSKU
Fachliche Artikelnummer

            sku*

string

¨Sku

Maximum Length: 36

            itemNo*

string

Item Number

Maximum Length: 16

            itemSize*

string

Item Size

Maximum Length: 16

4.1.3. Enumeration

Field: handlingType

Table 2. HandlingType
Meta Value Description Short Value

Abwicklungsart OSS

wholesale

wholesalelight

4.1.4. Example

Message ERP to FINE
{
	"eventId": "ba7b43dd-8b4a-46d9-9e3d-03bb3781e06e",
	"traceId": "c24558d1-eb1f-4723-9ab6-d026014e407f",
	"spanId": null,
	"version": "1.0",
	"type": "oyster-goods-receipt-event.PURCHASE_ORDER_CREATE",
	"context": "oyster-goods-receipt-event",
	"eventTime": "2022-03-31T12:41:06.036+0200",
	"sender": "DEEPSEA_OYSTER",
	"sourceIdentifier": "D2PO",
	"data": {
		"storageNotificationId": "305106fa-2068-44b9-bca2-5afaed6f5090",
		"storageNotificationNo": "BlackWarehouse",
		"created": "2022-03-22T09:52:00.000+0100",
		"partnerId": "1234",
		"purchaseOrder": {
			"orderUUID": "189263jdueke6",
			"orderPositionUUID": "djfs73hef",
			"orderNo": "456",
			"location": "ANSBACH",
			"supplierNo": "7890",
			"handlingType": "OSS",
			"supplyLocationCode": "10",
			"orderQty": "10.35",
			"foreignDemandQty": "0.0",
			"deliveryDate": "2022-03-22T00:00:00.000+0100",
			"forecastedWarehouseArrivalDate": "2022-03-22T00:00:00.000+0100",
			"forecastedBufferedStorageDate": "2022-03-22T00:00:00.000+0100",
			"planningPeriodCode": "144"
		},
		"productIdentifier": {
			"sku": "12345",
			"itemSize": "36",
			"itemNo": "51755400",
			"fnsku": null,
			"erpProductId": null
		}
	}
}

4.1.5. Schema

Table 3. Versionsübersicht ERP to FINE
Version Number File Published on Changes

current version

2.0

Download

12.04.2022

previous version

coming version

Interface ERP to FINE
{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$comment": "Schema for Storage Notification from ERP to FINE",
  "$id": "https://doc.fine.gcp.osp-dev.de/registry/Inbound/StorageNotificationErp.v2.0.schema.json",
    "type": "object",
    "properties": {
      "eventId": {
        "description": "ID of the event (message), will be generated by the actual producer",
        "type": "string",
        "format": "uuid",
        "minLength": 36,
        "maxLength": 36,
        "title": "UUID for this event",
        "examples":["00ce536f-923a-42f4-8128-be118faf1d87"],
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      },
      "traceId": {
        "description": "ID of the trace, will be generated by the first producer of the process. The ID will be the same for all events in the context of this process, also over system bounderies. The ID is equal to the eventId, if it is the frist event.\n\nIt's like a order number, the will used for alle activities around the order.",
        "type": "string",
        "format": "uuid",
        "minLength": 36,
        "maxLength": 36,
        "title": "UUID for all events in a call hierarchy",
        "examples":["00ce536f-923a-42f4-8128-be118faf1d87"],
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      },
      "spanId": {
        "description": "ID of the previous event (message). The ID is NULL if there is no previous event",
        "type": "string",
        "format": "uuid",
        "minLength": 36,
        "maxLength": 36,
        "title": "UUID for all events in a call hierarchy",
        "examples":["00ce536f-923a-42f4-8128-be118faf1d87"],
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      },
      "version": {
        "description": "Version of the interface",
        "type": "string",
        "pattern": "^[0-9]+[.][0-9]+$",
        "minLength": 3,
        "maxLength": 4,
        "title": "Json schema version",
        "examples":["1.0","1.11","1.1"]
      },
      "eventTime": {
        "description": "Point in time where the event (message - not the businessEvent). Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
        "type": "string",
        "format": "date-time",
        "title": "Event time",
        "example": ["2022-03-31T12:41:06.036+0200"]
      },
      "context": {
        "description": "Name of the context",
        "type": "string",
        "maxLength": 20,
        "title": "The name of the responsible context",
        "examples":["oyster-goods-receipt-event"]
      },
      "type": {
        "description": "Name of the single atomar process (businessEvent) that causes this event",
        "type": "string",
        "title": "Type",
        "examples":["oyster-goods-receipt-event.PURCHASE_ORDER_CREATE"]
      },
      "sender": {
        "description": "The producer, that send the message (COBRA, K.MOTION...)",
        "type": "string",
        "title": "Sender",
        "examples":["DEEPSEA_OYSTER"]
      },
      "sourceIdentifier": {
        "description": "End 2 End producer (original producer)",
        "type": "string",
        "title": "SourceIdentifier",
        "examples":["D2PO"]
      },
      "instance": {
        "description": "Application instance",
        "type": "string",
        "title": "Instance",
        "examples":["50.127.8.10"]
      },
      "data": {
        "type": "object",
        "properties": {
          "storageNotificationId": {
            "description": "Technical key",
            "type": "string",
            "title": "Storage Notification Id",
            "maxLength": 36,
            "examples":["305106fa-2068-44b9-bca2-5afaed6f5090"]
          },
          "storageNotificationNo": {
            "description": "Business key",
            "type": "string",
            "title": "Storage Notification Number",
            "examples":["BlackWarehouse"]
          },
          "created": {
            "description": "Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
            "type": "string",
            "format": "date-time",
            "title": "Created Date",
            "examples":["2022-03-22T09:52:00.000+0100"]
          },
          "updated": {
            "description": "Modification date. For new installation: creatDate=modifyDate. Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
            "type": "string",
            "format": "date-time",
            "title": "Updated Time",
            "examples":["2022-03-22T09:52:00.000+0100"]
          },
          "partnerId": {
            "description": "Platform ID in the first step is the Otto",
            "type": "string",
            "title": "Partner Id",
            "examples":["1234"]
          },
          "purchaseOrder": {
            "type": "object",
            "properties": {
              "orderUUID": {
                "description": "PurchaseOrder ID - technische Schlüssel",
                "type": "string",
                "title": "Order UUID",
                "examples":["189263jdueke6"]
              },
              "orderPositionUUID": {
                "description": "PurchaseOrder Position ID - technische Schlüssel",
                "type": "string",
                "title": "Order Position UUID",
                "examples":["djfs73hef"]
              },
              "orderNo": {
                "description": "OVA",
                "type": "string",
                "title": "Order Number",
                "examples":["456"]
              },
              "location": {
                "description": "Storage location, List of allowed values will be defined and documented #url",
                "type": "string",
                "title": "Storage Location",
                "example": ["ANSBACH"]
              },
              "sourceLocation": {
                "description": "Where does the stock originally come from",
                "type": "string",
                "title": "Source/Original location",
                "example": ["54513210"]
              },
              "handlingType": {
                "description": "Processing type OSS, wholesale, wholesalelight",
                "type": "string",
                "title": "Handling Type",
                "examples":["OSS"]
              },
              "supplyLocationCode": {
                "description": "e.g. 10 camp location with all its gates. Delivery address mark",
                "type": "string",
                "title": "Supply Location Code",
                "examples":["10"]
              },
              "deliveryDate": {
                "description": "The planned delivery date.  Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                "type": "string",
                "format": "date",
                "maxLength": 10,
                "title": "Delivery Date",
                "examples":["2022-03-22T00:00:00.000+0100"]
              },
              "forecastedWarehouseArrivalDate": {
                "description": "Projected WE1 date.  Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                "type": "string",
                "format": "date",
                "maxLength": 10,
                "title": "Forecasted Warehouse Arrival Date",
                "examples":["2022-03-22T00:00:00.000+0100"]
              },
              "forecastedBufferedStorageDate": {
                "description": "Predicted WE2 Date.  Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                "type": "string",
                "format": "date",
                "maxLength": 10,
                "title": "Forecasted Buffered Storage Date",
                "examples":["2022-03-22T00:00:00.000+0100"]
              },
              "foreignDemandQty": {
                "description": "Fremdbedarfe ist eine Lagerwaren-Bestellung von Großkunden an Otto. Otto ist in diesem Fall also der Lieferant. Und manchmal beschafft Otto die benötigte Ware mit einem eigenen Otto-Auftrag mit.",
                "type": "string",
                "title": "Foreign Demand Quantity",
                "examples":["0.0"]
              },
              "planningPeriodCode": {
                "description": "Season",
                "type": "string",
                "title": "Planning Period Code",
                "examples":["144"]
              },
              "supplierNo": {
                "description": "LKZ",
                "type": "string",
                "title": "Supplier Number",
                "examples":["7890"]
              },
              "orderQty": {
                "description": "PurchaseOrder quantity",
                "type": "number",
                "title": "Order Quantity",
                "examples":["10.35"]
              }
            },
            "required": [
              "orderUUID",
              "orderPositionUUID",
              "orderNo",
              "location",
              "handlingType",
              "supplyLocationCode",
              "deliveryDate",
              "planningPeriodCode",
              "supplierNo",
              "orderQty"
            ]
          },
          "productIdentifier": {
            "type": "object",
            "properties": {
              "erpProductId": {
                "description": "erpProductId aus LSAS",
                "type": "string",
                "maxLength": 36,
                "title": "¨Erp Product Id",
                "examples":["3291147085"]
              },
              "FNSKU": {
                "description": "Fachliche Artikelnummer",
                "type": "string",
                "title": "FNSKU",
                "examples":["00ce536f-923a-42f4-8128-be118faf1d87"]
              },
              "sku": {
                "description": "",
                "type": "string",
                "title": "¨Sku",
                "maxLength": 36,
                "examples":["89a8781f-539e-407d-b46c-9c2f1e6eef3b"]
              },
              "itemNo": {
                "description": "",
                "type": "string",
                "maxLength": 16,
                "title": "Item Number",
                "examples":["4"]
              },
              "itemSize": {
                "description": "",
                "type": "string",
                "maxLength": 16,
                "title": "Item Size",
                "examples":["960"]
              }
            },
            "required": [
              "erpProductId",
              "sku",
              "itemNo",
              "itemSize"
            ]
          }
        },
        "required": [
          "storageNotificationId",
          "storageNotificationNo",
          "created",
          "updated",
          "partnerId",
          "purchaseOrder",
          "productIdentifier"
        ]
      }
    },
    "required": [
      "eventId",
      "traceId",
      "spanId",
      "version",
      "eventTime",
      "context",
      "type",
      "sender",
      "sourceIdentifier",
      "data"
    ],
    "examples": [
      {
        "eventId": "ba7b43dd-8b4a-46d9-9e3d-03bb3781e06e",
        "traceId": "c24558d1-eb1f-4723-9ab6-d026014e407f",
        "spanId": null,
        "version": "1.0",
        "type": "oyster-goods-receipt-event.PURCHASE_ORDER_CREATE",
        "context": "oyster-goods-receipt-event",
        "eventTime": "2022-03-31T12:41:06.036+0200",
        "sender": "DEEPSEA_OYSTER",
        "sourceIdentifier": "D2PO",
        "data": {
          "storageNotificationId": "305106fa-2068-44b9-bca2-5afaed6f5090",
          "storageNotificationNo": "BlackWarehouse",
          "created": "2022-03-22T09:52:00.000+0100",
          "partnerId": "1234",
          "purchaseOrder": {
            "orderUUID": "189263jdueke6",
            "orderPositionUUID": "djfs73hef",
            "orderNo": "456",
            "location": "ANSBACH",
            "supplierNo": "7890",
            "handlingType": "OSS",
            "supplyLocationCode": "10",
            "orderQty": "10.35",
            "foreignDemandQty": "0.0",
            "deliveryDate": "2022-03-22T00:00:00.000+0100",
            "forecastedWarehouseArrivalDate": "2022-03-22T00:00:00.000+0100",
            "forecastedBufferedStorageDate": "2022-03-22T00:00:00.000+0100",
            "planningPeriodCode": "144"
          },
          "productIdentifier": {
            "sku": "12345",
            "itemSize": "36",
            "itemNo": "51755400",
            "fnsku": null,
            "erpProductId": null
          }
        }
      }
    ]
  }

4.2. Direction FINE to WMS

4.2.1. Header

This interface uses the Service Header

Special expresion for this interface:

Table 4. Attribute
Fieldname Expresion

type

PURCHASE_ORDER_CREATE

PURCHASE_ORDER_UPDATE

PURCHASE_ORDER_CONFIRM

PURCHASE_ORDER_CANCEL

context

STORAGE_NOTIFICATION

4.2.2. Datamodel

Property Type Description

(Root)

object

    eventId*

string (uuid)

UUID for this event
ID of the event (message), will be generated by the actual producer

Minimum Length: 36
Maximum Length: 36
Regular expression: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

    traceId*

string (uuid)

UUID for all events in a call hierarchy
ID of the trace, will be generated by the first producer of the process. The ID will be the same for all events in the context of this process, also over system bounderies. The ID is equal to the eventId, if it is the frist event.

It's like a order number, the will used for alle activities around the order.

Minimum Length: 36
Maximum Length: 36
Regular expression: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

    spanId*

string (uuid)

UUID for all events in a call hierarchy
ID of the previous event (message). The ID is NULL if there is no previous event

Minimum Length: 36
Maximum Length: 36
Regular expression: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

    version*

string

Json schema version
Version of the interface

Minimum Length: 3
Maximum Length: 4
Regular expression: ^[0-9]+[.][0-9]+$

    eventTime*

string (date-time)

Event time
Point in time where the event (message - not the businessEvent). Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ

    context*

string

The name of the responsible context
Name of the context

Maximum Length: 20

    type*

string

Type
Name of the single atomar process (businessEvent) that causes this event

    sender*

string

Sender
The producer, that send the message (COBRA, K.MOTION…​)

    sourceIdentifier*

string

SourceIdentifier
End 2 End producer (original producer)

    instance

string

Instance
Application instance

    data*

object

        storageNotificationId*

string

Storage Notification Id
Technical key

Maximum Length: 36

        storageNotificationNo*

string

Storage Notification Number
Business key

        createDate*

string (date-time)

Created Date
Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ

        modifyDate

string (date-time)

Modify Date
Änderungsdatum. Bei Neuanlage: creatDate=modifyDate. Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ

        partnerId*

string

Partner Id
Platform ID in the first step is the Otto

        location*

string

Storage Location
Storage location, List of allowed values will be defined and documented #url

        sourceLocation

string

Source/Original location
Where does the stock originally come from

        purchaseOrder*

object

            orderUUID*

string

Order UUID
PurchaseOrder ID - technische Schlüssel

            orderPositionUUID*

string

Order Position UUID
PurchaseOrder Position ID - technische Schlüssel

            orderNumber*

string

Order Number
OVA

            handlingType*

string

Handling Type
Processing type OSS, wholesale, wholesalelight

            supplyLocationCode*

string

Supply Location Code
e.g. 10 camp location with all its gates. Delivery address mark

            deliveryDate*

string (date)

Delivery Date
The planned delivery date. Format: yyyy-MM-dd

Maximum Length: 10

            forecastedWarehouseArrivalDate

string (date)

Forecasted Warehouse Arrival Date
Projected WE1 date. Format: yyyy-MM-dd

Maximum Length: 10

            forecastedBufferedStorageDate

string (date)

Forecasted Buffered Storage Date
Predicted WE2 Date. Format: yyyy-MM-dd

Maximum Length: 10

            foreignDemandQty

string

Foreign Demand Quantity
Fremdbedarfe ist eine Lagerwaren-Bestellung von Großkunden an Otto. Otto ist in diesem Fall also der Lieferant. Und manchmal beschafft Otto die benötigte Ware mit einem eigenen Otto-Auftrag mit.

            planningPeriodCode*

string

Planning Period Code
Season

            supplierNumber*

string

Supplier Number
LKZ

            quantity*

number

Order Quantity
PurchaseOrder quantity

        product*

object

            logisticProductId*

string

¨Logistic Product Id
logisticProductId aus LSAS

Maximum Length: 30

            erpProductId*

string

¨Erp Product Id
erpProductId aus LSAS

Maximum Length: 36

            FNSKU

string

FNSKU
Fachliche Artikelnummer

            sku*

string

¨Sku

Maximum Length: 36

            itemNumber*

string

Item Number

Maximum Length: 16

            itemSize*

string

Item Size

Maximum Length: 16

4.2.3. Enumeration

Field: handlingType

Table 5. HandlingType
Meta Value Description Short Value

Abwicklungsart OSS

wholesale

wholesalelight

4.2.4. Example

Message FINE to WMS
{
    "eventId": "b7731f51-fa96-43e8-9035-46221d31fd26",
    "traceId": "4b8cce05-51a6-412e-89a0-sdfsdfsdfsdf",
    "spanId": "4b8cce05-51a6-412e-89a0-sdfsdfsdfsdf",
    "version": "1.0",
    "eventTime": "2018-11-28T08:25:56.523+0000",
    "context": "oyster-goods-receipt-event",
    "type": "PURCHASE_ORDER_CREATE",
    "sender": "fine-inbound",
    "sourceIdentifier": "D2PO",
    "instance": "instance",
    "data": {
      "storageNotificationId": "23548bfa-3d69-4080-90d1-37c4157bbe6a",
      "storageNotificationNo": "BD52FD46S2",
      "createDate": "2022-01-17T14:30:25.523+0000",
      "modifyDate": "2022-01-17T14:30:25.523+0000",
      "partnerId": "10000",
      "location": "ANSBACH",
      "purchaseOrder": {
        "orderUUID": "da087ed3-0802-4c48-bfb8-6f95dd254589",
        "orderPositionUUID": "7db820fb-d61b-4438-ac2d-d0fd8b6d36ca",
        "orderNumber": "57322",
        "handlingType": "WHS",
        "supplyLocationCode": "10",
        "deliveryDate": "2022-01-20",
        "forecastedWarehouseArrivalDate": "2022-01-25",
        "forecastedBufferedStorageDate": "2022-01-26",
        "foreignDemandQty": "0",
        "planningPeriodCode": "145",
        "supplierNumber": "11223",
        "quantity": 10
      },
      "product": {
        "logisticProductId": "123456789",
        "erpProductId": "123456789",
        "FNSKU": "AB12345678",
        "sku": "208d8205-510e-479b-bba1-6d8c3dd99354",
        "itemNumber": "51755400",
        "itemSize": "36"
      }
    }
  }

4.2.5. Schema

Table 6. Version FINE to WMS
Version Number File Published on Changes

current version

1.0

Download

12.04.22

previous version

coming version

Interface FINE to WMS
{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$comment": "Schema for Storage Notification from FINE to warehouse",
  "$id": "https://doc.fine.gcp.osp-dev.de/registry/Inbound/StorageNotificationWms.v1.0.schema.json",  
    "type": "object",
    "properties": {
      "eventId": {
        "description": "ID of the event (message), will be generated by the actual producer",
        "type": "string",
        "format": "uuid",
        "minLength": 36,
        "maxLength": 36,
        "title": "UUID for this event",
        "examples":["00ce536f-923a-42f4-8128-be118faf1d87"],
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      },
      "traceId": {
        "description": "ID of the trace, will be generated by the first producer of the process. The ID will be the same for all events in the context of this process, also over system bounderies. The ID is equal to the eventId, if it is the frist event.\n\nIt's like a order number, the will used for alle activities around the order.",
        "type": "string",
        "format": "uuid",
        "minLength": 36,
        "maxLength": 36,
        "title": "UUID for all events in a call hierarchy",
        "examples":["00ce536f-923a-42f4-8128-be118faf1d87"],
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      },
      "spanId": {
        "description": "ID of the previous event (message). The ID is NULL if there is no previous event",
        "type": "string",
        "format": "uuid",
        "minLength": 36,
        "maxLength": 36,
        "title": "UUID for all events in a call hierarchy",
        "examples":["00ce536f-923a-42f4-8128-be118faf1d87"],
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      },
      "version": {
        "description": "Version of the interface",
        "type": "string",
        "pattern": "^[0-9]+[.][0-9]+$",
        "minLength": 3,
        "maxLength": 4,
        "title": "Json schema version",
        "examples":["1.0","1.11","1.1"]
      },
      "eventTime": {
        "description": "Point in time where the event (message - not the businessEvent). Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
        "type": "string",
        "format": "date-time",
        "title": "Event time",
        "example": ["2022-03-31T12:41:06.036+0200"]
      },
      "context": {
        "description": "Name of the context",
        "type": "string",
        "maxLength": 20,
        "title": "The name of the responsible context",
        "examples":["oyster-goods-receipt-event"]
      },
      "type": {
        "description": "Name of the single atomar process (businessEvent) that causes this event",
        "type": "string",
        "title": "Type",
        "examples":["PURCHASE_ORDER_CREATE"]
      },
      "sender": {
        "description": "The producer, that send the message (COBRA, K.MOTION...)",
        "type": "string",
        "title": "Sender",
        "examples":["fine-inbound"]
      },
      "sourceIdentifier": {
        "description": "End 2 End producer (original producer)",
        "type": "string",
        "title": "SourceIdentifier",
        "examples":["D2PO"]
      },
      "instance": {
        "description": "Application instance",
        "type": "string",
        "title": "Instance",
        "examples":["50.127.8.10"]
      },
      "data": {
        "type": "object",
        "properties": {
          "storageNotificationId": {
            "description": "Technical key",
            "type": "string",
            "title": "Storage Notification Id",
            "maxLength": 36,
            "examples":["305106fa-2068-44b9-bca2-5afaed6f5090"]
          },
          "storageNotificationNo": {
            "description": "Business key",
            "type": "string",
            "title": "Storage Notification Number",
            "examples":["BlackWarehouse"]
          },
          "createDate": {
            "description": "Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
            "type": "string",
            "format": "date-time",
            "title": "Created Date",
            "examples":["2022-03-22T09:52:00.000+0100"]
          },
          "modifyDate": {
            "description": "Änderungsdatum. Bei Neuanlage: creatDate=modifyDate. Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
            "type": "string",
            "format": "date-time",
            "title": "Modify Date",
            "examples":["2022-03-22T09:52:00.000+0100"]
          },
          "partnerId": {
            "description": "Platform ID in the first step is the Otto",
            "type": "string",
            "title": "Partner Id",
            "examples":["1234"]
          },
          "location": {
            "description": "Storage location, List of allowed values will be defined and documented #url",
            "type": "string",
            "title": "Storage Location",
            "example": ["Ansbach"]
          },
          "sourceLocation": {
            "description": "Where does the stock originally come from",
            "type": "string",
            "title": "Source/Original location",
            "example": ["54513210"]
          },
          "purchaseOrder": {
            "type": "object",
            "properties": {
              "orderUUID": {
                "description": "PurchaseOrder ID - technische Schlüssel",
                "type": "string",
                "title": "Order UUID",
                "examples":["189263jdueke6"]
              },
              "orderPositionUUID": {
                "description": "PurchaseOrder Position ID - technische Schlüssel",
                "type": "string",
                "title": "Order Position UUID",
                "examples":["djfs73hef"]
              },
              "orderNumber": {
                "description": "OVA",
                "type": "string",
                "title": "Order Number",
                "examples":["456"]
              },
              "handlingType": {
                "description": "Processing type OSS, wholesale, wholesalelight",
                "type": "string",
                "title": "Handling Type",
                "examples":["OSS"]
              },
              "supplyLocationCode": {
                "description": "e.g. 10 camp location with all its gates. Delivery address mark",
                "type": "string",
                "title": "Supply Location Code",
                "examples":["10"]
              },
              "deliveryDate": {
                "description": "The planned delivery date.  Format: yyyy-MM-dd",
                "type": "string",
                "format": "date",
                "maxLength": 10,
                "title": "Delivery Date",
                "examples":["2022-03-22"]
              },
              "forecastedWarehouseArrivalDate": {
                "description": "Projected WE1 date.  Format: yyyy-MM-dd",
                "type": "string",
                "format": "date",
                "maxLength": 10,
                "title": "Forecasted Warehouse Arrival Date",
                "examples":["2022-03-22"]
              },
              "forecastedBufferedStorageDate": {
                "description": "Predicted WE2 Date.  Format: yyyy-MM-dd",
                "type": "string",
                "format": "date",
                "maxLength": 10,
                "title": "Forecasted Buffered Storage Date",
                "examples":["2022-03-22"]
              },
              "foreignDemandQty": {
                "description": "Fremdbedarfe ist eine Lagerwaren-Bestellung von Großkunden an Otto. Otto ist in diesem Fall also der Lieferant. Und manchmal beschafft Otto die benötigte Ware mit einem eigenen Otto-Auftrag mit.",
                "type": "string",
                "title": "Foreign Demand Quantity",
                "examples":["0.0"]
              },
              "planningPeriodCode": {
                "description": "Season",
                "type": "string",
                "title": "Planning Period Code",
                "examples":["144"]
              },
              "supplierNumber": {
                "description": "LKZ",
                "type": "string",
                "title": "Supplier Number",
                "examples":["7890"]
              },
              "quantity": {
                "description": "PurchaseOrder quantity",
                "type": "number",
                "title": "Order Quantity",
                "examples":["10.35"]
              }
            },
            "required": [
              "orderUUID",
              "orderPositionUUID",
              "orderNumber",
              "handlingType",
              "supplyLocationCode",
              "deliveryDate",
              "planningPeriodCode",
              "supplierNumber",
              "quantity"
            ]
          },
          "product": {
            "type": "object",
            "properties": {
              "logisticProductId": {
                "description": "logisticProductId aus LSAS",
                "type": "string",
                "maxLength": 30,
                "title": "¨Logistic Product Id",
                "examples":["123"]
              },
              "erpProductId": {
                "description": "erpProductId aus LSAS",
                "type": "string",
                "maxLength": 36,
                "title": "¨Erp Product Id",
                "examples":["3291147085"]
              },
              "FNSKU": {
                "description": "Fachliche Artikelnummer",
                "type": "string",
                "title": "FNSKU",
                "examples":["00ce536f-923a-42f4-8128-be118faf1d87"]
              },
              "sku": {
                "description": "",
                "type": "string",
                "title": "¨Sku",
                "maxLength": 36,
                "examples":["89a8781f-539e-407d-b46c-9c2f1e6eef3b"]
              },
              "itemNumber": {
                "description": "",
                "type": "string",
                "maxLength": 16,
                "title": "Item Number",
                "examples":["4"]
              },
              "itemSize": {
                "description": "",
                "type": "string",
                "maxLength": 16,
                "title": "Item Size",
                "examples":["960"]
              }
            },
            "required": [
              "logisticProductId",
              "erpProductId",
              "sku",
              "itemNumber",
              "itemSize"
            ]
          }
        },
        "required": [
          "storageNotificationId",
          "storageNotificationNo",
          "createDate",
          "partnerId",
          "location",
          "purchaseOrder",
          "product"
        ]
      }
    },
    "required": [
      "eventId",
      "traceId",
      "spanId",
      "version",
      "eventTime",
      "context",
      "type",
      "sender",
      "sourceIdentifier",
      "data"
    ],
    "examples": [
      {
        "eventId": "b7731f51-fa96-43e8-9035-46221d31fd26",
        "traceId": "4b8cce05-51a6-412e-89a0-sdfsdfsdfsdf",
        "spanId": "4b8cce05-51a6-412e-89a0-sdfsdfsdfsdf",
        "version": "1.0",
        "eventTime": "2018-11-28T08:25:56.523+0000",
        "context": "oyster-goods-receipt-event",
        "type": "PURCHASE_ORDER_CREATE",
        "sender": "fine-inbound",
        "sourceIdentifier": "D2PO",
        "instance": "instance",
        "data": {
          "storageNotificationId": "23548bfa-3d69-4080-90d1-37c4157bbe6a",
          "storageNotificationNo": "BD52FD46S2",
          "createDate": "2022-01-17T14:30:25.523+0000",
          "modifyDate": "2022-01-17T14:30:25.523+0000",
          "partnerId": "10000",
          "location": "ANSBACH",
          "purchaseOrder": {
            "orderUUID": "da087ed3-0802-4c48-bfb8-6f95dd254589",
            "orderPositionUUID": "7db820fb-d61b-4438-ac2d-d0fd8b6d36ca",
            "orderNumber": "57322",
            "handlingType": "WHS",
            "supplyLocationCode": "10",
            "deliveryDate": "2022-01-20",
            "forecastedWarehouseArrivalDate": "2022-01-25",
            "forecastedBufferedStorageDate": "2022-01-26",
            "foreignDemandQty": "0",
            "planningPeriodCode": "145",
            "supplierNumber": "11223",
            "quantity": 10
          },
          "product": {
            "logisticProductId": "123456789",
            "erpProductId": "123456789",
            "FNSKU": "AB12345678",
            "sku": "208d8205-510e-479b-bba1-6d8c3dd99354",
            "itemNumber": "51755400",
            "itemSize": "36"
          }
        }
      }
    ]
  }
Last updated: Fri, 25 Apr 2025 01:44:49 UTC