S01 Warehouse Stock
- Status
 - 
Version 3.2 published 09.01.2025
 - Approval
 - 
- 
DeepSea:
 - 
NEON: agreed with Körber for implementation in NEON_Fein_Pflichtenheft_WEN1_ SST_v6.0
 
 - 
 - Comment
 - 
The first version is being developed for connecting LVS to FLASH and SOLAR. The connection to the merchant will be made for the inventory at the end of 2024.
 - Assumption
 - 
BISKO is not considered and receives the data from the inventory systems via the inventory interfaces. No connection to BISKO is planned for NEON.
 
1. Stakeholder
| Role | Application | Responsible | 
|---|---|---|
Communication  | 
Integration Layer  | 
|
Leading App  | 
Bube  | 
|
InterfaceOwner  | 
Bube  | 
|
Producer  | 
kMotion  | 
|
Producer  | 
KR1  | 
|
Consumer  | 
FLASH  | 
|
Consumer  | 
Babelfish  | 
2. Business Context
To determine stock levels in the warehouse management systems, a snapshot of the stock in the WMSs is taken at agreed times and sent to the merchants or data analytics.
2.1. Snapshot-Delivery times
| Snapshot | System | Delivery time | 
|---|---|---|
1  | 
KR1  | 
2:00  | 
2  | 
KR1  | 
7:00  | 
3  | 
KR1  | 
12:00  | 
4  | 
KR1  | 
14:00  | 
5  | 
KR1  | 
16:00  | 
6  | 
KR1  | 
20:00  | 
1  | 
kMotion  | 
0:00  | 
2  | 
kMotion  | 
4:48  | 
3  | 
kMotion  | 
9:36  | 
4  | 
kMotion  | 
14:24  | 
5  | 
kMotion  | 
19:12  | 
3. Information flow
| Partner | Direction | FINE-Service | Topic/API | Description | Status | 
|---|---|---|---|---|---|
WMS:WMSx  | 
send  | 
BuBe:StockService  | 
stock.warehousestock.v2  | 
WarehouseStockWms.v2.0  | 
ready  | 
WMS:KR1  | 
send  | 
BuBe:StockService  | 
stock.warehousestock.kr1.v3  | 
WarehouseStockWms.v3.1  | 
ready  | 
WMS:kMotion ILOWA  | 
send  | 
BuBe:StockService  | 
stock.warehousestock.kmotion.v3  | 
WarehouseStockWms.v3.1  | 
ready  | 
FLASH  | 
receive  | 
BuBe:StockService  | 
stock.warehousestock.v2  | 
WarehouseStockWms.v2.0  | 
ready  | 
ERP:Babelfish  | 
read  | 
Babelfish-App  | 
stock.warehousestock.kr1.v3  | 
WarehouseStockErp.v3.2  | 
ready  | 
4. Interface
4.1. Direction WMS to FINE
4.1.1. Header
This interface uses the Service Header
Special expression for this interface:
| Fieldname | Expression | Version | 
|---|---|---|
type  | 
SNAPSHOT_1 SNAPSHOT_2 SNAPSHOT_3 SNAPSHOT_4 SNAPSHOT_5  | 
⇐ V2.1  | 
type  | 
SNAPSHOT  | 
>= V3.0  | 
context  | 
WAREHOUSE_STOCK  | 
4.1.2. Data model
| Property | Type | Description | 
|---|---|---|
(Root)  | 
object  | 
|
eventId*  | 
string (uuid)  | 
The unique eventId  Minimum Length:  36  | 
traceId*  | 
string (uuid)  | 
The unique traceId  Minimum Length:  36  | 
spanId  | 
string (uuid)  | 
The eventId of previous record or batchId  Minimum Length:  36  | 
eventTime*  | 
string (date-time)  | 
Time of occurrence of the event  | 
version*  | 
The number of version schema  | 
|
context  | 
string (enum)  | 
The context / business case  Any of:  [
  "WAREHOUSE_STOCK"
]  | 
eventType*  | 
string (enum)  | 
Snapshot event  Any of:  [
  "SNAPSHOT"
]  | 
metaData*  | 
object  | 
meta data  | 
sender*  | 
string (enum)  | 
sender  Any of:  [
  "KR1_SHF",
  "KR1_HHSTR",
  "WMSX_SON",
  "WMSX_AKU",
  "KMOTION_ILO",
  "KMOTION_GHM",
  "COBRA",
  "LSAS",
  "IDEEFIX",
  "OBS",
  "RESY",
  "LDH",
  "RETAILSCHICHT",
  "BUBE",
  "FINE_INBOUND",
  "F2X",
  "WMSX_WEISMAIN",
  "LIGIS",
  "KR1_MANDANT",
  "YMS_KMOTION",
  "YMS_INCONSO",
  "HERIS",
  "CARGOCLIX",
  "KMOTION_ERFURT",
  "LOGISTIKPUFFER"
]  | 
client*  | 
string  | 
client  Maximum Length:  50  | 
messageNumber  | 
integer  | 
current message number  Minimum:  1  | 
lastMessageNumber  | 
integer  | 
last message number  Minimum:  1  | 
dailySnapshotNumber*  | 
integer  | 
daily snapshot number  Minimum:  1  | 
snapshotTime  | 
string (date-time)  | 
snapshot time  | 
data*  | 
object  | 
|
snapshotId  | 
integer  | 
the id of the inventory snapshot  Maximum Length:  18  | 
quantId*  | 
string  | 
Quant Id  Maximum Length:  100  | 
quantType*  | 
string (enum)  | 
quant type  Any of:  [
  "PHYSICAL",
  "VIRTUAL"
]  | 
location*  | 
string (enum)  | 
location  Any of:  [
  "ANSBACH",
  "LOEHNE",
  "LANGENSELBOLD",
  "MOSINA",
  "OHRDRUF",
  "HALDENSLEBEN",
  "HALDENSLEBEN_RT",
  "SUEDHAFEN",
  "SONNEFELD",
  "ALTENKUNSTADT",
  "WEIDEN",
  "KRACANY",
  "ILOWA",
  "ILOWA_RT",
  "ILOWA_RSS",
  "GERNSHEIM",
  "ERFURT",
  "HAMBURG_RT",
  "OTELFINGEN_RT",
  "KRIMICE_RT",
  "STAHLAVY_RT",
  "OHRDRUF_RT",
  "LOEHNE_RT",
  "LANGENSELBOLD_RT",
  "LODZ_1_RT",
  "LODZ_2_RT",
  "BERGHEIM_RT",
  "ALTENKUNSTADT_RT",
  "LISTERHILLS_RT",
  "SUEDHAFEN_RT",
  "PILSEN_RT",
  "HAMBURG_SC",
  "LOEHNE_SC",
  "SCHWABHAUSEN_SC",
  "HALDENSLEBEN_RSS",
  "ALTENKUNSTADT_RSS",
  "LOEHNE_RSS",
  "OHRDRUF_RSS",
  "LANGENSELBOLD_RSS",
  "LOEHNE_CP",
  "NORD_LOGISTIC"
]  | 
sourcelocation  | 
string (enum)  | 
source location  Any of:  [
  "ANSBACH",
  "LOEHNE",
  "LANGENSELBOLD",
  "MOSINA",
  "OHRDRUF",
  "HALDENSLEBEN",
  "HALDENSLEBEN_RT",
  "SUEDHAFEN",
  "SONNEFELD",
  "ALTENKUNSTADT",
  "WEIDEN",
  "KRACANY",
  "ILOWA",
  "ILOWA_RT",
  "ILOWA_RSS",
  "GERNSHEIM",
  "ERFURT",
  "HAMBURG_RT",
  "OTELFINGEN_RT",
  "KRIMICE_RT",
  "STAHLAVY_RT",
  "OHRDRUF_RT",
  "LOEHNE_RT",
  "LANGENSELBOLD_RT",
  "LODZ_1_RT",
  "LODZ_2_RT",
  "BERGHEIM_RT",
  "ALTENKUNSTADT_RT",
  "LISTERHILLS_RT",
  "SUEDHAFEN_RT",
  "PILSEN_RT",
  "HAMBURG_SC",
  "LOEHNE_SC",
  "SCHWABHAUSEN_SC",
  "HALDENSLEBEN_RSS",
  "ALTENKUNSTADT_RSS",
  "LOEHNE_RSS",
  "OHRDRUF_RSS",
  "LANGENSELBOLD_RSS",
  "LOEHNE_CP",
  "NORD_LOGISTIC"
]  | 
totalQuantity*  | 
integer  | 
total quantity  Minimum:  1  | 
stockInformation*  | 
array  | 
stockInformation  | 
(Array item)  | 
object  | 
|
quantity*  | 
integer  | 
quantity  Minimum:  1  | 
stockType*  | 
string (enum)  | 
Stock Type  Any of:  [
  "GOODS_IN",
  "AVAILABLE",
  "QUALITY_LOCKED",
  "LOCKED",
  "RESERVED_FOR_ORDERS",
  "HIGH_LEVEL_RESERVED_FOR_ORDER",
  "RETURN_OR_DETOUR",
  "RESERVABLE_LOCKED",
  "RESERVABLE_RETURN_OR_DETOUR",
  "REPLENISHMENT"
]  | 
stockTypeCode  | 
string  | 
WMS Stock Type  Maximum Length:  50  | 
sourceType  | 
string (enum)  | 
source type  Any of:  [
  "STOCK_TRANSFER",
  "RETURN_INBOUND",
  "RETURN_SUPPLIER",
  "INTERNAL_REMOVAL_FROM_INBOUND",
  "INTERNAL_REMOVAL_FOR_SAMPLE",
  "SUPPLY",
  "STOCK_TRANSFER_WITH_PROMISE",
  "FINAL_REMOVAL",
  "OTTO_MARKET",
  "INBOUND_SAMPLE",
  "STORABLE_RETURNS",
  "NON_STORABLE_RETURNS",
  "GOODSIN_SUPPLIER"
]  | 
isInventory  | 
boolean  | 
is Inventory  | 
isIgnoredForComparison  | 
boolean  | 
is ignored for comparison  | 
customsType  | 
string (enum)  | 
Type of customs  Any of:  [
  "CUSTOMS_CLEARED",
  "CUSTOMS_NOT_CLEARED",
  "UNKNOWN"
]  | 
customsTypeCode  | 
string  | 
WMS Customs Type  Maximum Length:  50  | 
qualityControlTypeCode  | 
string  | 
WMS Quality Control Type  Maximum Length:  50  | 
locks  | 
array  | 
locks  | 
(Array item)  | 
object  | 
|
typeCode  | 
string  | 
lock type  Maximum Length:  50  | 
time  | 
string (date-time)  | 
Lock Date  | 
buaid  | 
string  | 
buaid  Maximum Length:  50  | 
BUID  | 
string  | 
BUID  | 
bestBeforeDate  | 
string (date)  | 
best Before Date  | 
batch  | 
string  | 
batch  Maximum Length:  100  | 
imei  | 
string  | 
imei  Maximum Length:  50  | 
imei2  | 
string  | 
imei2  Maximum Length:  50  | 
serialNo  | 
string  | 
serial number  Maximum Length:  100  | 
volume  | 
object  | 
volume  | 
value  | 
string  | 
Value  Regular expression:  ^[0-9]{1,9}[.][0-9]{1,6}$  | 
unit  | 
string (enum)  | 
unit volume  Any of:  [
  "CUBIC_METER",
  "LITER"
]  | 
weight  | 
object  | 
weight  | 
value  | 
string  | 
Value  Regular expression:  ^[0-9]{1,9}[.][0-9]{1,3}$  | 
unit  | 
string (enum)  | 
unit weight  Any of:  [
  "GRAM",
  "KILOGRAM"
]  | 
product*  | 
object  | 
|
logisticsProductId  | 
string  | 
¨Logistic Product Id  Maximum Length:  36  | 
itemNumber  | 
string  | 
Item Number  | 
itemSize  | 
string  | 
Item Size  Maximum Length:  3  | 
company  | 
string  | 
Company  Maximum Length:  50  | 
logisticsPackingUnitId  | 
string  | 
¨Logistic PackingUnit Id  Maximum Length:  36  | 
packingUnitIndex  | 
integer  | 
¨Logistic PackingUnit Number  Maximum:  99  | 
qualitySign  | 
string (enum)  | 
Quality sign  Any of:  [
  "A",
  "B",
  "C",
  "D",
  "E"
]  | 
supplier  | 
object  | 
|
logisticsSupplierId  | 
string  | 
technical logistics supplier id  Maximum Length:  36  | 
supplierId  | 
integer  | 
supplier number  Minimum:  0  | 
storageLocationId  | 
string  | 
storage location  | 
storageHandlingUnitId  | 
string  | 
storage handling Unit  | 
goodsIn  | 
object  | 
|
goodsInId  | 
string  | 
goods in id  Maximum Length:  36  | 
deliveryPositionId  | 
string  | 
delivery position id  Maximum Length:  36  | 
movementInfo  | 
object  | 
|
firstMovement*  | 
string (date-time)  | 
first movement date  | 
lastMovement  | 
string (date-time)  | 
last movement date  | 
lastPickingDate  | 
string (date-time)  | 
last picking date  | 
4.1.3. Enumeration
Field: Event Type
| Meta Value | Description | Short Value | 
|---|---|---|
SNAPSHOT  | 
Complete snapshot  | 
Field: Customs Type
Meta Value  | 
Description  | 
Short Value  | 
CUSTOMS_CLEARED  | 
||
CUSTOMS_NOT_CLEARED  | 
||
UNKNOWN  | 
Field: Quality Control Type
| Meta Value | Description | Short Value | 
|---|
Field: Locks Type Code
| Meta Value | Description | Short Value | 
|---|
Field: Quant Type
Meta Value  | 
Description  | 
Short Value  | 
PHYSICAL  | 
value for physical quants/containers  | 
|
VIRTUAL  | 
value for virtual quants, that cannot be assigned to real quanta, e.g. in replenishment or high level reservation  | 
Field: Stock Type
Meta Value  | 
Description  | 
Short Value  | 
GOODS_IN  | 
goods in from supplier after WE1 before WE2  | 
|
AVAILABLE  | 
stock that is available, can be sold, after WE2  | 
|
QUALITY_LOCKED  | 
quality locked stock after WE2  | 
|
LOCKED  | 
locked stock after WE2  | 
|
RESERVED_FOR_ORDERS  | 
reserved for orders after logistic buffer call - based on real quants  | 
|
HIGH_LEVEL_RESERVED_FOR_ORDER  | 
reserved for orders after logistic buffer call - based on item size - not containing to a real quant  | 
|
RETURN_OR_DETOUR  | 
stock adviced for returns or detours on transport to the warehouse  | 
|
RESERVABLE_LOCKED  | 
locked stock available for customer reservations  | 
|
RESERVABLE_RETURN_OR_DETOUR  | 
stock in transport (detours) available for customer reservations  | 
|
REPLENISHMENT  | 
replenishment - for KR1 replenishment stock which is transported to the picking area - contains available and reserved for orders  | 
k.Motion:
available stock is calculated as available stock minus high level reserved for orders with stockTypeCode AV
(quality) locked stock is calculated as locked stock minus high level reserved for orders with stockTypeCode LO
stock in fulfillment is the sum of reserved for orders and high level reserved for order
KR1:
available stock from replenishment is calculated as replenishment minus reserved stock from virtual quants
4.1.4. Example
{
	"eventId":"0999c557-4c8d-e5bf-e063-4585b30a51c8",
	"traceId":"0999c557-4c8d-e5bf-e063-4585b30a51c8",
	"eventTime":"2023-11-08T01:00:09.000+01:00",
	"version":"2.0",
	"context":"WAREHOUSE_STOCK",
	"eventType":"SNAPSHOT_1",
	"metaData":{
		"senderSystem":"WMSX_SON",
		"messageNumber":6406,
		"lastMessageNumber":598820
	},
	"data":{
		"quantId":"111569868",
		"location":"SONNEFELD",
		"stockType":"ON_LOCATION",
		"stockTypeCode":"FR",
		"locks":[
			{
				"typeCode":"------",
				"type":"AVAILABLE"
			}
		],
		"customsType":"CUSTOMS_CLEARED",
		"customsTypeCode":"10",
		"qualityControlType":"AVAILABLE",
		"storageLocation":{
			"id":"FROH-MFL75/75-042-28-E2"
		},
		"storageHandlingUnit":{"id":"1794472"},
		"quantity":12,
		"reservedQuantity":0,
		"goodsIn":{
			"id":"2311021583"
		},
		"product":{
			"logisticProductId":"",
			"itemNumber":42903513,
			"itemSize":0,
			"company":"OTTO"
		},
		"movementInfo":{
			"firstMovement":"2023-04-20T13:19:05.000+01:00",
			"lastMovement":"2023-08-13T18:23:21.000+01:00"
		}
	}
}
{
	"eventId":"377ae48b-d7e1-47fe-9057-1a3026f892e8",
	"traceId":"8e9673b6-4651-4a77-b47a-0caa8165490a",
	"eventTime":"2024-03-18T02:08:12.334+01:00",
	"version":"3.1",
	"context":"WAREHOUSE_STOCK",
	"eventType":"SNAPSHOT",
	"metaData":{
		"sender":"KR1_SHF",
		"client":"OTTO",
		"messageNumber":13,
		"lastMessageNumber":2131752,
		"dailySnapshotNumber":1,
		"snapshotTime":"2024-03-18T02:05:53.000+01:00"
	},
	"data":{
		"snapshotId":531,
		"quantId":"1/245194177",
		"quantType":"PHYSICAL",
		"location":"SUEDHAFEN",
		"totalQuantity":2,
		"stockInformation":[
			{
				"quantity":2,
				"stockType":"AVAILABLE"
			}
		],
		"stockTypeCode":"101",
		"isInventory":false,
		"customsType":"CUSTOMS_CLEARED",
		"customsTypeCode":"203",
		"qualityControlTypeCode":"505",
		"locks":[],
		"product":{
			"logisticsProductId":"23755776"
		},
		"supplier":{
			"logisticsSupplierId":"297901",
			"supplierId":10592
		},
		"storageLocationId":"83420",
		"storageHandlingUnitId":"24548611",
		"goodsIn":{},
		"movementInfo":{
			"firstMovement":"2024-01-23T02:17:52.214+01:00",
			"lastMovement":"2024-03-16T07:27:47.788+01:00"
		}
	}
}
{
	"eventId":"c6bf3dd9-836f-4765-a0e8-a78413e3fda3",
	"traceId":"eff93878-42dc-478e-a2c4-eb26dee6ef01",
	"eventTime":"2023-10-10T19:12:00.087+02:00",
	"version":"3.2",
	"context":"WAREHOUSE_STOCK",
	"eventType":"SNAPSHOT",
	"metaData":{
		"sender":"KMOTION_ILO",
		"client":"FBO",
		"messageNumber":1,
		"lastMessageNumber":11,
		"dailySnapshotNumber":5,
		"snapshotTime":"2023-10-10T19:12:00.082+02:00"
	},
	"data":{
		"snapshotId":1232,
		"quantId":"22000003788",
		"quantType":"PHYSICAL",
		"location":"ILOWA",
		"sourcelocation":"ILOWA",
		"totalQuantity":10,
		"stockInformation":[
			{"quantity":10,"stockType":"GOODS_IN"}
		],
		"stockTypeCode":"RC",
		"isInventory":false,
		"isIgnoredForComparison":false,
		"customsType":"CUSTOMS_CLEARED",
		"customsTypeCode":"00",
		"qualityControlTypeCode":"00",
		"locks":[
			{"typeCode":"------"}
		],
		"volume":{
			"value":"111.0",
			"unit":"LITER"
		},
		"weight":{
			"value":"12240.0",
			"unit":"GRAM"
		},
		"product":{
			"logisticsProductId":"70371792",
			"itemNumber":"18102810",
			"itemSize":"0",
			"packingUnitIndex":1
		},
		"supplier":{
			"supplierId":0
		},
		"storageLocationId":"G00_R0_F00_E00_K0_Z0",
		"storageHandlingUnitId":"210000025334",
		"goodsIn":{
			"goodsInId":"22000000527",
			"deliveryPositionId":"22000000527-1"
		},
		"movementInfo":{
			"firstMovement":"2023-10-10T14:45:40.000+02:00"
		}
	}
}
{
	"eventId":"f58126f1-8779-42e6-8492-264e40d6b772",
	"traceId":"1ca24149-e886-42a1-aba2-d24a91a510bf",
	"eventTime":"2023-11-10T04:48:00.137+01:00",
	"version":"3.2",
	"context":"WAREHOUSE_STOCK",
	"eventType":"SNAPSHOT",
	"metaData":{
		"sender":"KMOTION_ILO",
		"client":"FBO",
		"messageNumber":47,
		"lastMessageNumber":301,
		"dailySnapshotNumber":2,
		"snapshotTime":"2023-11-10T04:48:00.071+01:00"
	},
	"data":{
		"snapshotId":1378,
		"quantId":"22000004469",
		"quantType":"PHYSICAL",
		"location":"ILOWA",
		"sourcelocation":"ILOWA",
		"totalQuantity":1,
		"stockInformation":[
			{
				"quantity":1,
				"stockType":"RESERVED_FOR_ORDERS"
			}
		],
		"stockTypeCode":"AV",
		"sourceType":"GOODSIN_SUPPLIER",
		"isInventory":false,
		"isIgnoredForComparison":false,
		"customsType":"CUSTOMS_CLEARED",
		"customsTypeCode":"00",
		"qualityControlTypeCode":"00",
		"locks":[
			{
				"typeCode":"------ - not locked"
			}
		],
		"buaid":"79b41ed7-7a4f-49fb-af34-a1eefd075048",
		"volume":{
			"value":"2.3","unit":"LITER"
		},
		"weight":{
			"value":"151.0","unit":"GRAM"
		},
		"product":{
			"logisticsProductId":"68249121",
			"itemNumber":"77500344",
			"itemSize":"42",
			"packingUnitIndex":0
		},
		"supplier":{
			"supplierId":0
		},
		"storageLocationId":"PP001_FBW",
		"storageHandlingUnitId":"290000008544",
		"goodsIn":{},
		"movementInfo":{
			"firstMovement":"2023-11-08T16:18:28.000+01:00"
		}
	}
}
4.1.5. Version history
Version  | 
Number  | 
File  | 
Published on  | 
previous version  | 
1.0  | 
17.06.22  | 
|
previous version  | 
2.0  | 
20.09.22  | 
|
previous version  | 
2.1  | 
25.01.23  | 
|
previous version  | 
3.0  | 
10.07.23  | 
|
previous version  | 
3.1  | 
18.03.24  | 
|
previous version  | 
3.2  | 
09.01.25  | 
|
current version  | 
3.3  | 
22.10.25  | 
|
coming version  | 
4.1.6. Changelog
Changes V1.0
- 
Payload (Data)
- 
ENUM of CustomType changed to CUSTOMS_CLEARED
 - 
"erpSnapshotId“ is not a „required“ element
 
 - 
 
Changes V1.0 → V2.0
- 
Standard header: The Standard header has been changed to the current standard header with following changes:
- 
attributes "sender", "messageNumber" and "lastMessageNumer" has been moved to the new object type "metaData"
 - 
attribute "sender" is now linked to system.v1.schema.json
 - 
attribute "type" has been renamed to "eventType"
 - 
attribute "spanId" is now an optional field
 
 - 
 - 
Payload (Data)
- 
attributes "location" and"sourecLocation" are linked to warehouselocations.v1.schema.json
 - 
attribute "unit" at section "package/weight" is linked to unitVolume.v1.schema.json
 - 
attibute "unit" at section "package/volume" is linked to unitWeight.v1.schema.json
 - 
attributes "id" and "number" at section "supplier" are now written in "camelCase"
 
 - 
 
Changes V2.0 → V2.1
- 
Standard header
- 
attribute "sender" is now linked to system.v3.schema.json
 
 - 
 - 
Payload (Data)
- 
add "logisticsPackingunitId" und "packingUnitIndex" at section "product" for articles with several parts as optional fields
 - 
add fields "BUID", "bestBeforeDate", "batch", "imei", "serialNo" as optional fields
 
 - 
 
Changes V2.1 → V3.0
- 
Standard header
- 
attribute "sender" is now linked to system.v7.schema.json
 - 
attribute "client" is now linked to company.v5.schema.json
 - 
enum values for "eventType" were updated
 - 
fields of header were changed to "dailySnapshotNumber" and "snapshotTime"
 - 
renamed "erpSnapshotId" to "snapshotId"
 
 - 
 - 
Payload (Data)
- 
distinguish "totalQuantity" and "stockInformation" with different quantities for reserved and free quantity in k.Motion, used to distinguish different "stockType" and virtual quants with "quantType" for high level reservations (KMOTION type RC - GOODS_IN, AV - AVAILABLE, LO - LOCKED with free quantity of quant, RESERVED_FOR_ORDER for reserved qty of quant…)
 - 
added new field "lastPickingDate"
 - 
changed references and attribute names for "supplier" and "goodsIn"
 
 - 
 
Changes V3.0 → V3.1
- 
Standard header
- 
attribute "client" is now linked to company.v6.schema.json
 - 
attribute "company" is now linked to company.v6.schema.json
 
 - 
 - 
Payload (Data)
- 
added new field "isInventory" - set true if quant is registered for inventory checks
 - 
added new field "buaid" - prepare renaming BUID to buaid, don’t use BUID anymore (marked as obsolete) for V3.0 data
 - 
added new field "sourceType" - for distinction of stock source (detour, returns, goods in …)
 - 
extend "quantId" to 100 signs
 - 
added new field "imei2" for dual sim devices
 
 - 
 
Changes V3.1 → V3.2
- 
Standard header
- 
attribute "client" - reference to global company enums removed. Use string.
 - 
attribute "company" - reference to global company enums removed. Use string.
 
 - 
 - 
Payload (Data)
- 
attribute "isIgnoredForComparison" - new boolean value for group inventory
 - 
attribute "volume" - "value" - introduce pattern to validate string matches oracles decimal(15,6)
 - 
attruibute "weight" - "value" - introduce pattern to validate string matches oracles decimal(12,3)
 
 - 
 
Changes V3.2 → V3.3
- 
Standard header
 - 
Payload (Data)
- 
new attribute "qualitySign" for quality information
 - 
use reference to warehouselocations.v2.schema.json for new warehouse NORD_LOGISTIC
 - 
use reference to systems.schema.json for new sender NOLO
 
 - 
 
Notes for new major version:
- 
remove BUID
 - 
rename sourcelocation to sourceLocation
 
4.1.7. Schema
{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$comment": "Schema for stock in a warehouse Version 3.3 for WMS",
    "$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/WarehouseStockWms.v3.3.schema.json",
    "type": "object",
    "definitions": {
        "stockType": {
            "title": "Type of the stock",
            "description": "stockType, that indicates whether an individual part is in goods in stock (before releasing), available, reserved for orders, advised as return or detour...",
            "type": "string",
            "maxLength": 50,
            "enum": ["GOODS_IN",
                     "AVAILABLE",
                     "QUALITY_LOCKED",
                     "LOCKED",
                     "RESERVED_FOR_ORDERS",
                     "HIGH_LEVEL_RESERVED_FOR_ORDER",
                     "RETURN_OR_DETOUR",
                     "RESERVABLE_LOCKED",
                     "RESERVABLE_RETURN_OR_DETOUR",
                     "REPLENISHMENT"]
        },
        "sourceType": {
            "title": "source type",
            "description": "additional source type information for distinction of stock source (different transfer types, returns, goodsin from supplier etc.), used for erp stocktype mappings, has to be filled at least for all messages with stockType RETURN_OR_DETOUR and for NON_STORABLE_RETURNS",
            "type": "string",
            "maxLength": 50,
            "enum": ["STOCK_TRANSFER",
                     "RETURN_INBOUND",
                     "RETURN_SUPPLIER",
                     "INTERNAL_REMOVAL_FROM_INBOUND",
                     "INTERNAL_REMOVAL_FOR_SAMPLE",
                     "SUPPLY",
                     "STOCK_TRANSFER_WITH_PROMISE",
                     "FINAL_REMOVAL",
                     "OTTO_MARKET",
                     "INBOUND_SAMPLE",
                     "STORABLE_RETURNS",
                     "NON_STORABLE_RETURNS",
                     "GOODSIN_SUPPLIER"
                     ]
        }
    },
    "properties": {
        "eventId": {
            "title": "The unique eventId",
            "description": "Global unique Id",
            "type": "string",
            "format": "uuid",
            "minLength": 36,
            "maxLength": 36,
            "examples": [
                "00ce536f-923a-42f4-8128-be118faf1d87"
            ]
        },
        "traceId": {
            "title": "The unique traceId",
            "description": "Global unique Id for tracing the flow of events",
            "type": "string",
            "format": "uuid",
            "minLength": 36,
            "maxLength": 36,
            "examples": [
                "00ce536f-923a-42f4-8138-33418faf1342"
            ]
        },
        "spanId": {
            "title": "The eventId of previous record or batchId",
            "description": "Optionally, if this record (event) is one of a sequence of records and the order is important, then here is the id of the previous record (event), recommended as uuid, Special usecases can be specify for some interfaces",
            "type": "string",
            "format": "uuid",
            "minLength": 36,
            "maxLength": 36,
            "examples": [
                "00ce536f-923a-42f4-5463-32a41877b3c2"
            ]
        },    
        "eventTime": {
            "title": "Time of occurrence of the event",
            "description": "Time at which the record was generated (single event - not the businessEvent/snapshot) in UTC +ISO-8601 format YYYY-MM-DD'T'HH24:MM:SS'Z'",
            "type": "string",
            "format": "date-time",
            "examples": [
                "2022-04-16T16:06:05.123456Z",
                "2022-04-19T08:51:05+02:00"
            ]
        },
        "version": {
            "title": "The number of version schema",
            "description": "Number of version of this data structure. Only required if no $schema is specified!",
            "oneOf": [
                {
                    "type": "string",
                    "pattern": "\\d+\\.\\d{1,2}",
                    "examples": ["1.01", "01.02"]
                },
                {
                    "type": "integer",
                    "examples": [1, 2]
                }
            ]
        },
        "context": {
            "title": "The context / business case",
            "description": "The context specified here means the business domain.",
            "type": "string",
            "maxLength":50,
            "enum": [
                "WAREHOUSE_STOCK"
            ]
        },
        "eventType": {
            "title": "Snapshot event",
            "description": "the snapshot type to which the data belongs, currently only snapshots are supported",
            "type": "string",
            "maxLength": 20,
            "enum": ["SNAPSHOT"],
            "examples":["SNAPSHOT"]
        },
        "metaData": {
            "title": "meta data",
            "description": "optional, can be used with different characteristics for technical data per interface",
            "type": "object",
            "properties": {
                "sender": {
                    "title":"sender",
                    "description":"Name of the source system, that has sent this message.",
                    "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v7.schema.json"
                },
                "client": {
                    "title": "client",
                    "description": "Client/mandant (messages of different clients have different processing rules and destination interfaces) - use FBO for Fulfillment by Otto (CORE, DeepSea...)",
                    "type": "string",
                    "maxLength": 50,
                    "examples": [
                        "FBO"
                    ]
                },
                "messageNumber": {
                    "title": "current message number",
                    "description": "the current message number that is transmitted",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 999999999999999999
                },
                "lastMessageNumber": {
                    "title": "last message number",
                    "description": "how many messages are to be transferred",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 999999999999999999
                },
                "dailySnapshotNumber": {
                    "title": "daily snapshot number",
                    "description": "sequence number of the snapshot per day, starts every day again with number 1",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 100
                },
                "snapshotTime": {
                    "title": "snapshot time",
                    "description": "time of the snapshot creation",
                    "type": "string",
                    "format": "date-time",
                    "examples": [
                        "2022-04-16T16:06:05.123456Z",
                        "2022-04-19T08:51:05+02:00"
                    ]
                }
            }, 
            "required": [
                "sender",
                "client",
                "dailySnapshotNumber"
            ]   
        },
        "data": {
            "type": "object",
            "properties": {
                "snapshotId": {
                    "title": "the id of the inventory snapshot",
                    "description": "Consecutive number (sequence) of a long number. each inventory snapshot gets its own ID from WMS, which is identical for all records of the snapshot. all bookings get the id of the following snapshot, generated by wms, each wms has his own scope",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 999999999999999999,
                    "maxLength": 18,
                    "examples": [
                        122
                    ]
                },
                "quantId": {
                    "title": "Quant Id",
                    "description": "ID of the finest stock separating unit, generated id for virtual quants/units",
                    "type": "string",
                    "maxLength": 100,
                    "examples":["1189582"]
                },
                "quantType": {
                    "title": "quant type",
                    "description": "type of quant, virtual for stocks without relation to a real physical quant ,e.g. high level reserved quantities, advised detours",
                    "type": "string",
                    "maxLength": 10,
                    "enum":["PHYSICAL","VIRTUAL"]
                },           
                "location": {
                    "title": "location",
                    "description": "the location where the event was created",
                    "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v2.schema.json"
                },
                "sourcelocation": {
                    "title": "source location",
                    "description": "the source location of the stock e.g. the sending location for returns or detours",
                    "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v2.schema.json"
                },
                "totalQuantity": {
                    "title": "total quantity",
                    "description": "the total quantity for this quant including reserved qty in kMotion",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 9999999999,
                    "examples":["20"]
                },
                "stockInformation": {
                    "title": "stockInformation",
                    "description": "the stock related informations for the single quantities of this quant",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "quantity": {
                                "title": "quantity",
                                "description": "quantity containing to this stock type",
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 9999999999,
                                "examples":[90]
                            },
                            "stockType": {
                                "title": "Stock Type",
                                "description": "stock type, that indicates whether an individual part is in goods in stock (before releasing), available, reserved for orders, advised as return or detour...",
                                "$ref": "#/definitions/stockType"
                            }
                        },
                        "required": [
                            "quantity",
                            "stockType"
                        ]
                    }
                },
                "stockTypeCode": {
                    "title": "WMS Stock Type",
                    "description": "stock type used in wms frontend (if available)",
                    "type": "string",
                    "maxLength": 50,
                    "examples":["4251"]
                },
                "sourceType": {
                    "title": "source type",
                    "description": "additional source type information for distinction of stock source (detour, returns, goodsin from supplier etc.) and assignment of erp stocktypes",
                    "$ref": "#/definitions/sourceType"
                },
                "isInventory": {
                    "title": "is Inventory",
                    "description": "set it true if the quant was intended for inventory checking, otherwise to false",
                    "type": "boolean",
                    "default": false,
                    "examples": [true,false]
                },
                "isIgnoredForComparison": {
                    "title": "is ignored for comparison",
                    "description": "set it true, if this quant should be ignored for comparison during group inventory, normally used for returns that are advised with isInventory flag from RESY, because they are not booked",
                    "type": "boolean",
                    "default": false,
                    "examples": [true,false]
                },
                "customsType": {
                    "title": "Type of customs",
                    "description": "indicates whether the quant have been cleared or not",
                    "type": "string",
                    "maxLength": 50,
                    "enum": ["CUSTOMS_CLEARED", "CUSTOMS_NOT_CLEARED", "UNKNOWN"],
                    "example": ["CUSTOMS_CLEARED"]
                },
                "customsTypeCode": {
                    "title": "WMS Customs Type",
                    "description": "customs type code used in wms frontend",
                    "type": "string",
                    "maxLength": 50,
                    "example": ["5614D"]
                }, 
                "qualityControlTypeCode": {
                    "title": "WMS Quality Control Type",
                    "description": "quality control type used in wms (account)",
                    "type": "string",
                    "maxLength": 50,
                    "examples":["1234ABCD"]
                },               
                "locks": {
                    "title": "locks",
                    "description": "locks used in wms, a quant can have multiple locks, use also wms code for unlocked, ",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {            
                            "typeCode": {
                                "title": "lock type",
                                "description": "lock used in front end of WMS",
                                "type": "string",
                                "maxLength": 50,
                                "examples":["1120ABD"]
                            },
                            "time": {
                                "title": "Lock Date",
                                "description": "time the lock was set",
                                "type": "string",
                                "format": "date-time",
                                "examples":["2022-03-22T09:52:00.000+0100"]
                            }
                        }
                    }
                }, 
                "buaid": {
                    "title": "buaid",
                    "description": "bi unique article ID, unique identification of an individual unit in the logistical process",
                    "type": "string",
                    "maxLength": 50,
                    "examples":["2344545-334542-465g45ddf"]
                },
                "BUID": {
                    "title": "BUID",
                    "description": "obsolete. for backwards compatibility with V3.0. Use attribute buiad instead. BI UUID, unique identification of an individual unit in the logistical process",
                    "type": "string",
                    "examples":["2344545-334542-465g45ddf"]
                },
                "bestBeforeDate": {
                    "title": "best Before Date",
                    "description": "best before date",
                    "type": "string",
                    "format":"date",
                    "examples":["2022-12-31"]
                },
                "batch": {
                    "title": "batch",
                    "description": "batch number",
                    "type": "string",
                    "maxLength": 100,
                    "examples":["124345d"]
                },
                "imei": {
                    "title": "imei",
                    "description": "IMEI of a technical device",
                    "type": "string",
                    "maxLength": 50,
                    "examples":["2345-45452-43365-5643"]
                },
                "imei2": {
                    "title": "imei2",
                    "description": "second IMEI of dual sim technical device",
                    "type": "string",
                    "maxLength": 50,
                    "examples":["2345-45452-43365-5643"]
                },
                "serialNo": {
                    "title": "serial number",
                    "description": "serial number of the manufacturer",
                    "type": "string",
                    "maxLength": 100,
                    "examples":["D345-gkjpo-3112"]
                },
                "volume": {
                    "title": "volume",
                    "description": "volume of the whole quant - gross value - measured",
                    "type": "object",
                    "properties": {
                        "value": {
                            "type": "string",
                            "description": "Value",
                            "pattern":"^[0-9]{1,9}[.][0-9]{1,6}$",
                            "examples": [
                                    "0.000234",
                                    "987654321.0"
                            ]
                        },
                        "unit": {
                            "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitVolume.v1.schema.json"
                        }
                    }
                },
                "weight": {
                    "title": "weight",
                    "description": "weight of the whole quant - gross value - measured",
                    "type": "object",
                    "properties": {
                        "value": {
                            "type": "string",
                            "description": "Value",
                            "pattern":"^[0-9]{1,9}[.][0-9]{1,3}$",
                            "examples": [
                                    "0.565",
                                    "987654321.0"
                            ]
                        },
                        "unit": {
                            "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitWeight.v1.schema.json"
                        }
                    }
                },
                "product": {
                    "type": "object",
                    "properties": {
                        "logisticsProductId": {
                            "title": "¨Logistic Product Id",
                            "description": "master communication key",
                            "type": "string",
                            "maxLength": 36,
                            "examples":["123"]
                        },
                        "itemNumber": {
                            "title": "Item Number",
                            "description": "the item number-> Only provided by WMSx Sonnefeld  - deprecated",
                            "type": "string",
                            "maxLentht": 8,
                            "examples":["4"]
                        },
                        "itemSize": {
                            "title": "Item Size",
                            "description": "the item size (binary size, not alphanumeric) -> Only provided by WMSx Sonnefeld  - deprecated",
                            "type": "string",
                            "maxLength": 3,
                            "examples":["960"]
                        },
                        "company": {
                            "title": "Company",
                            "description": "actual owner company - used in FLASH",
                            "type": "string",
                            "maxLength": 50,
                            "examples": [
                                "OTTO"
                            ]
                        },
                        "logisticsPackingUnitId": {
                            "title": "¨Logistic PackingUnit Id",
                            "description": "master communication key from LSAS for products with multiple parts",
                            "type": "string",
                            "maxLength": 36,
                            "examples":["123"]
                        },
                        "packingUnitIndex": {
                            "title": "¨Logistic PackingUnit Number",
                            "description": "Part Number for products with multiple parts - deprecated",
                            "type": "integer",
                            "mininmum": 1,
                            "maximum": 99,
                            "examples":["123"]
                        }
                    },
                    "anyOf": [
                        {
                            "description": "used for wms without lsas connection (Sonnefeld) single colli items",
                            "required": [
                                "itemNumber",
                                "itemSize"
                            ]
                        },
                        {
                            "description": "used for wms with lsas connection - PL - single colli",
                            "required": [
                                "logisticsProductId"
                            ]
                        },
                        {
                            "description": "used for wms with lsas connection - bulky item",
                            "required": [
                                "logisticsProductId",
                                "logisticsPackingUnitId",
                                "packingUnitIndex"
                            ]
                        },
                        {
                            "description": "used for bulky items without lsas data",
                            "required": [
                                "itemNumber",
                                "itemSize",
                                "packingUnitIndex"
                            ]
                        }
                    ]
                },
                "qualitySign": {
                    "title": "Quality sign",
                    "description": "information about quality",
                    "type": "string",
                    "maxLength": 1,
                    "enum": ["A", "B", "C", "D", "E"],
                    "example": ["A"]
                },
                "supplier": {
                    "type": "object",
                    "properties": {
                        "logisticsSupplierId": {
                            "title": "technical logistics supplier id",
                            "description": "logistics supplier ID - LSAS based ID",
                            "type": "string",
                            "maxLength": 36,
                            "examples":["123"]
                        },
                        "supplierId": {
                            "title": "supplier number",
                            "description": "supplier number (LKZ) - deprecated",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 999999,
                            "examples":["4"]
                        }
                    }                                   
                },
                "storageLocationId": {
                    "title": "storage location",
                    "description": "unique identification of a storage location. see interface https://docs.osp-fine.de/page/fine-common/30_stock/s08_storage_location/s08_storage_location/",
                    "type": "string",
                    "examples":["123"]
                },
                "storageHandlingUnitId": {
                    "title": "storage handling Unit",
                    "description": "unique identification of a charge carrier/bundle. see interface https://docs.osp-fine.de/page/fine-common/30_stock/s09_storage_handling_unit/s09_storage_handling_unit/",
                    "type": "string",
                    "examples":["123"]
                },
                "goodsIn": {
                    "type": "object",
                    "properties": {
                        "goodsInId": {
                            "title": "goods in id",
                            "description": "unique id of a goods receipt see interface https://docs.osp-fine.de/page/fine-common/20_inbound/i04_goods_in/i04_goods_in/",
                            "type": "string",
                            "maxLength": 36,
                            "examples":["123"]
                        },
                        "deliveryPositionId": {
                            "title": "delivery position id",
                            "description": "unique id of a delivery position see interface https://docs.osp-fine.de/page/fine-common/20_inbound/i04_goods_in/i04_goods_in/",
                            "type": "string",
                            "maxLength": 36,
                            "examples":["4"]
                        }
                    }                                          
                },
                "movementInfo": {
                    "type": "object",
                    "properties": {
                        "firstMovement": {
                            "title": "first movement date",
                            "description": "time of creation of the stock in the wms for determining the laytime of a stock unit, for retour or detour stocks use the advise date",
                            "type": "string",
                            "format": "date-time",
                            "examples":["2022-03-22T09:52:00.000+0100"]
                        },
                        "lastMovement": {
                            "title": "last movement date",
                            "description": "last movement of the stock unit to derive old stock and bum articles",
                            "type": "string",
                            "format": "date-time",
                            "examples":["2022-03-22T09:52:00.000+0100"]
                        },
                        "lastPickingDate": {
                            "title": "last picking date",
                            "description": "time at which the last pick/commission was made from this remaining quant",
                            "type": "string",
                            "format": "date-time",
                            "examples":["2022-03-22T09:52:00.000+0100"]
                        }                       
                    },
                    "required": [
                        "firstMovement"
                    ]
                }
            },
            "required": [
                "quantId",
                "location",
                "quantType",
                "totalQuantity",
                "stockInformation",
                "product"                
            ]              
        }
    },
    "required": [
      "eventId",
      "traceId",
      "eventTime",
      "version",
      "eventType",
      "metaData",
      "data"
    ],
    
    
    
    
    "examples":[
        {
            "eventId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "traceId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "eventTime":"2016-04-16T01:03:17Z",
            "version":"3.1",
            "eventType":"SNAPSHOT",
            "metaData":{
                "sender":"KMOTION_ILO",
                "client":"FBO",
                "messageNumber":1,
                "lastMessageNumber":10,
                "dailySnapshotNumber":1,
                "snapshotTime":"2016-04-16T01:03:17Z"
            },
            "data":{
                "erpSnapshotId":427,
                "quantId":"22000003806",
                "location":"ILOWA",
                "quantType":"PHYSICAL",
                "totalQuantity":13,
                "stockInformation":[
                    {
                        "stockType":"RESERVED_FOR_ORDERS",
                        "quantity":3
                    },
                    {
                        "stockType":"AVAILABLE",
                        "quantity":10
                    }
                ],    
                "isInventory":false,
                "stockTypeCode":"AV",
                "customsType":"UNKNOWN",
                "product":{
                    "logisticsProductId":"Artikel1",
                    "logisticsPackingUnitId":"Teil1",
                    "packingUnitIndex":1
                },
                "storageLocationId":"199992",
                "storageHandlingUnitId":"C123456"
            }
        },
        {
            "eventId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "traceId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "eventTime":"2023-10-11T10:18:24.000+02:00",
            "version":"3.1",
            "eventType":"SNAPSHOT",
            "metaData":{
                "sender":"KMOTION_ILO",
                "client":"FBO",
                "messageNumber":2,
                "lastMessageNumber":10,
                "dailySnapshotNumber":1,
                "snapshotTime":"2023-10-11T01:00:00Z"
            },
            "data":{
                "erpSnapshotId":427,
                "quantId":"4711_08_01_21000000001_01",
                "location":"ILOWA",
                "quantType":"VIRTUAL",
                "totalQuantity":1,
                "stockInformation":[
                    {
                        "stockType":"RETURN_OR_DETOUR",
                        "quantity":1
                    }
                ],
                "isInventory":false,
                "sourceType":"STOCK_TRANSFER",
                "stockTypeCode":"AV",
                "customsType":"UNKNOWN",
                "product":{
                    "itemNumber":"47119884",
                    "itemSize":"906",
                    "packingUnitIndex":1
                },
                "imei":"352377995718121",
                "imei2":"352377995718122",
                "buaid":"ed5807dd-c141-4b91-9f76-b6cbfa41cb73",
                "movementInfo":{"firstMovement":"2023-10-10T10:24:41.000+02:00"}
            }
        },      
        {
            "eventId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "traceId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "eventTime":"2023-10-12T10:18:24.000+02:00",
            "version":"3.1",
            "eventType":"SNAPSHOT",
            "metaData":{
                "sender":"KMOTION_ILO",
                "client":"FBO",
                "messageNumber":2,
                "lastMessageNumber":10,
                "dailySnapshotNumber":1,
                "snapshotTime":"2023-10-12T10:18:24.000+02:00"
            },
            "data":{
                "erpSnapshotId":427,
                "quantId":"4711_08_01_21000000003_01",
                "location":"ILOWA",
                "quantType":"VIRTUAL",
                "totalQuantity":1,
                "stockInformation":[
                    {
                        "stockType":"RETURN_OR_DETOUR",
                        "quantity":1
                    }
                ],
                "isInventory":false,
                "sourceType":"NON_STORABLE_RETURNS",
                "stockTypeCode":"AV",
                "customsType":"UNKNOWN",
                "product":{
                    "itemNumber":"47119884",
                    "itemSize":"906",
                    "packingUnitIndex":1
                },
                "imei":"352377995718121",
                "buaid":"fg5807dd-c141-4b91-9f76-b6cbfa41cb73",
                "movementInfo":{"firstMovement":"2023-10-08T10:24:41.000+02:00"}
            }
        },      
        {
            "eventId":"f48cf326-0615-4351-9966-cdb4ec41bbcc",
            "traceId":"f48cf326-0615-4351-9966-cdb4ec41bbcc",
            "eventTime":"2023-10-11T10:18:24.000+02:00",
            "version":"3.1",
            "eventType":"SNAPSHOT",
            "metaData":{
                "sender":"KMOTION_ILO",
                "client":"FBO",
                "messageNumber":3,
                "lastMessageNumber":10,
                "dailySnapshotNumber":1,
                "snapshotTime":"2023-10-11T10:18:24.000+02:00"
            },
            "data":{
                "erpSnapshotId":427,
                "quantId":"V471108",
                "location":"ILOWA",
                "quantType":"VIRTUAL",
                "totalQuantity":5,
                "stockInformation":[
                    {
                        "stockType":"HIGH_LEVEL_RESERVED_FOR_ORDER",
                        "quantity":5
                    }
                ],    
                "isInventory":false,
                "stockTypeCode":"AV",
                "customsType":"UNKNOWN",
                "product":{
                    "itemNumber":"47119884",
                    "itemSize":"906",
                    "logisticProductId":"121214444",
                    "packingUnitIndex":1
                }
            }
        },      
        {
            "eventId":"f48cfc26-0615-4351-9966-cdb4ec41bacc",
            "traceId":"f48cfc26-0615-4351-9966-cdb4ec41bacc",
            "eventTime":"2022-03-22T09:52:00.000+0100",
            "version":"3.1",
            "eventType":"SNAPSHOT",
            "metaData":{
                "sender":"COBRA",
                "client":"FBO",
                "messageNumber":1,
                "lastMessageNumber":20,
                "dailySnapshotNumber":1,
                "snapshotTime":"2022-03-22T04:00:00.000+0100"
            },
            "data":{
                "quantId":"918450081",
                "location":"ERFURT",
                "quantType":"PHYSICAL",
                "totalQuantity":1,
                "stockInformation":[
                    {
                        "stockType":"GOODS_IN",
                        "quantity":1
                    }
                ],    
                "product":{
                    "itemNumber":"4209344",
                    "itemSize":"0",
                    "packingUnitIndex":3
                },
                "storageLocationId":"5858211128602",
                "storageHandlingUnitId":"C769675929",
                "locks":[
                    {
                        "typeCode": "AN",
                        "time": "2022-12-13T07:52:05Z"
                    },
                    {
                        "typeCode": "LO",
                        "time": "2022-12-13T07:52:05Z"
                    }
                ],
                "imei":"352377995718121",
                "imei2":"352377995718122",
                "buaid":"ed5807dd-c141-4b91-9f76-b6cbfa41cb73"
            }
        }
    ]
}
4.2. Direction FINE to ERP
4.2.1. Header
This interface uses the Service Header
Special expresion for this interface:
| Fieldname | Expresion | 
|---|
4.2.2. Data model
| Property | Type | Description | 
|---|---|---|
(Root)  | 
object  | 
|
eventId*  | 
string (uuid)  | 
The unique eventId  Minimum Length:  36  | 
traceId*  | 
string (uuid)  | 
The unique traceId  Minimum Length:  36  | 
spanId  | 
string (uuid)  | 
The eventId of previous record or batchId  Minimum Length:  36  | 
eventTime*  | 
string (date-time)  | 
Time of occurrence of the event  | 
version*  | 
The number of version schema  | 
|
context  | 
string (enum)  | 
The context / business case  Any of:  [
  "WAREHOUSE_STOCK"
]  | 
eventType*  | 
string (enum)  | 
Snapshot event  Any of:  [
  "SNAPSHOT"
]  | 
metaData*  | 
object  | 
meta data  | 
sender*  | 
string (enum)  | 
sender  Any of:  [
  "KR1_SHF",
  "KR1_HHSTR",
  "WMSX_SON",
  "WMSX_AKU",
  "KMOTION_ILO",
  "KMOTION_GHM",
  "COBRA",
  "LSAS",
  "IDEEFIX",
  "OBS",
  "RESY",
  "LDH",
  "RETAILSCHICHT",
  "BUBE",
  "FINE_INBOUND",
  "F2X",
  "WMSX_WEISMAIN",
  "LIGIS",
  "KR1_MANDANT",
  "YMS_KMOTION",
  "YMS_INCONSO",
  "HERIS",
  "CARGOCLIX",
  "KMOTION_ERFURT",
  "LOGISTIKPUFFER"
]  | 
client*  | 
string  | 
client  Maximum Length:  50  | 
messageNumber  | 
integer  | 
current message number  Minimum:  1  | 
lastMessageNumber  | 
integer  | 
last message number  Minimum:  1  | 
dailySnapshotNumber*  | 
integer  | 
daily snapshot number  Minimum:  1  | 
snapshotTime  | 
string (date-time)  | 
snapshot time  | 
data*  | 
object  | 
|
snapshotId  | 
integer  | 
the id of the inventory snapshot  Maximum Length:  18  | 
quantId*  | 
string  | 
Quant Id  Maximum Length:  100  | 
quantType*  | 
string (enum)  | 
quant type  Any of:  [
  "PHYSICAL",
  "VIRTUAL"
]  | 
location*  | 
string (enum)  | 
location  Any of:  [
  "ANSBACH",
  "LOEHNE",
  "LANGENSELBOLD",
  "MOSINA",
  "OHRDRUF",
  "HALDENSLEBEN",
  "HALDENSLEBEN_RT",
  "SUEDHAFEN",
  "SONNEFELD",
  "ALTENKUNSTADT",
  "WEIDEN",
  "KRACANY",
  "ILOWA",
  "ILOWA_RT",
  "ILOWA_RSS",
  "GERNSHEIM",
  "ERFURT",
  "HAMBURG_RT",
  "OTELFINGEN_RT",
  "KRIMICE_RT",
  "STAHLAVY_RT",
  "OHRDRUF_RT",
  "LOEHNE_RT",
  "LANGENSELBOLD_RT",
  "LODZ_1_RT",
  "LODZ_2_RT",
  "BERGHEIM_RT",
  "ALTENKUNSTADT_RT",
  "LISTERHILLS_RT",
  "SUEDHAFEN_RT",
  "PILSEN_RT",
  "HAMBURG_SC",
  "LOEHNE_SC",
  "SCHWABHAUSEN_SC",
  "HALDENSLEBEN_RSS",
  "ALTENKUNSTADT_RSS",
  "LOEHNE_RSS",
  "OHRDRUF_RSS",
  "LANGENSELBOLD_RSS",
  "LOEHNE_CP",
  "NORD_LOGISTIC"
]  | 
sourcelocation  | 
string (enum)  | 
source location  Any of:  [
  "ANSBACH",
  "LOEHNE",
  "LANGENSELBOLD",
  "MOSINA",
  "OHRDRUF",
  "HALDENSLEBEN",
  "HALDENSLEBEN_RT",
  "SUEDHAFEN",
  "SONNEFELD",
  "ALTENKUNSTADT",
  "WEIDEN",
  "KRACANY",
  "ILOWA",
  "ILOWA_RT",
  "ILOWA_RSS",
  "GERNSHEIM",
  "ERFURT",
  "HAMBURG_RT",
  "OTELFINGEN_RT",
  "KRIMICE_RT",
  "STAHLAVY_RT",
  "OHRDRUF_RT",
  "LOEHNE_RT",
  "LANGENSELBOLD_RT",
  "LODZ_1_RT",
  "LODZ_2_RT",
  "BERGHEIM_RT",
  "ALTENKUNSTADT_RT",
  "LISTERHILLS_RT",
  "SUEDHAFEN_RT",
  "PILSEN_RT",
  "HAMBURG_SC",
  "LOEHNE_SC",
  "SCHWABHAUSEN_SC",
  "HALDENSLEBEN_RSS",
  "ALTENKUNSTADT_RSS",
  "LOEHNE_RSS",
  "OHRDRUF_RSS",
  "LANGENSELBOLD_RSS",
  "LOEHNE_CP",
  "NORD_LOGISTIC"
]  | 
totalQuantity*  | 
integer  | 
total quantity  Minimum:  1  | 
stockInformation*  | 
array  | 
stockInformation  | 
(Array item)  | 
object  | 
|
quantity*  | 
integer  | 
quantity  Minimum:  1  | 
stockType*  | 
string (enum)  | 
Stock Type  Any of:  [
  "GOODS_IN",
  "AVAILABLE",
  "QUALITY_LOCKED",
  "LOCKED",
  "RESERVED_FOR_ORDERS",
  "HIGH_LEVEL_RESERVED_FOR_ORDER",
  "RETURN_OR_DETOUR",
  "RESERVABLE_LOCKED",
  "RESERVABLE_RETURN_OR_DETOUR",
  "REPLENISHMENT"
]  | 
stockTypeCode  | 
string  | 
WMS Stock Type  Maximum Length:  50  | 
sourceType  | 
string (enum)  | 
source type  Any of:  [
  "STOCK_TRANSFER",
  "RETURN_INBOUND",
  "RETURN_SUPPLIER",
  "INTERNAL_REMOVAL_FROM_INBOUND",
  "INTERNAL_REMOVAL_FOR_SAMPLE",
  "SUPPLY",
  "STOCK_TRANSFER_WITH_PROMISE",
  "FINAL_REMOVAL",
  "OTTO_MARKET",
  "INBOUND_SAMPLE",
  "STORABLE_RETURNS",
  "NON_STORABLE_RETURNS",
  "GOODSIN_SUPPLIER"
]  | 
isInventory*  | 
boolean  | 
is Inventory  | 
isIgnoredForComparison  | 
boolean  | 
is ignored for comparison  | 
customsType  | 
string (enum)  | 
Type of customs  Any of:  [
  "CUSTOMS_CLEARED",
  "CUSTOMS_NOT_CLEARED",
  "UNKNOWN"
]  | 
customsTypeCode  | 
string  | 
WMS Customs Type  Maximum Length:  50  | 
qualityControlTypeCode  | 
string  | 
WMS Quality Control Type  Maximum Length:  50  | 
locks  | 
array  | 
locks  | 
(Array item)  | 
object  | 
|
typeCode  | 
string  | 
lock type  Maximum Length:  50  | 
time  | 
string (date-time)  | 
Lock Date  | 
buaid  | 
string  | 
buaid  Maximum Length:  50  | 
BUID  | 
string  | 
BUID  | 
bestBeforeDate  | 
string (date)  | 
best Before Date  | 
batch  | 
string  | 
batch  Maximum Length:  100  | 
imei  | 
string  | 
imei  Maximum Length:  50  | 
imei2  | 
string  | 
imei2  Maximum Length:  50  | 
serialNo  | 
string  | 
serial number  Maximum Length:  100  | 
volume  | 
object  | 
volume  | 
value  | 
string  | 
Value  Regular expression:  ^[0-9]{1,9}[.][0-9]{1,6}$  | 
unit  | 
string (enum)  | 
unit volume  Any of:  [
  "CUBIC_METER",
  "LITER"
]  | 
weight  | 
object  | 
weight  | 
value  | 
string  | 
Value  Regular expression:  ^[0-9]{1,9}[.][0-9]{1,3}$  | 
unit  | 
string (enum)  | 
unit weight  Any of:  [
  "GRAM",
  "KILOGRAM"
]  | 
product*  | 
object  | 
|
erpProductId  | 
string  | 
¨ERP Product Id  Maximum Length:  36  | 
itemNumber  | 
string  | 
Item Number  | 
itemSize  | 
string  | 
Item Size  Maximum Length:  3  | 
company  | 
string  | 
Company  Maximum Length:  50  | 
erpPackingUnitId  | 
string  | 
¨ERP PackingUnit Id  Maximum Length:  36  | 
packingUnitIndex  | 
integer  | 
¨PackingUnit Number  Maximum:  99  | 
qualitySign  | 
string (enum)  | 
Quality sign  Any of:  [
  "A",
  "B",
  "C",
  "D",
  "E"
]  | 
supplier  | 
object  | 
|
erpSupplierId  | 
string  | 
technical erp supplier id  Maximum Length:  36  | 
supplierId  | 
integer  | 
supplier number  Minimum:  0  | 
storageLocationId  | 
string  | 
storage location  | 
storageHandlingUnitId  | 
string  | 
storage handling Unit  | 
goodsIn  | 
object  | 
|
goodsInId  | 
string  | 
goods in id  Maximum Length:  36  | 
deliveryPositionId  | 
string  | 
delivery position id  Maximum Length:  36  | 
movementInfo  | 
object  | 
|
firstMovement*  | 
string (date-time)  | 
first movement date  | 
lastMovement  | 
string (date-time)  | 
last movement date  | 
lastPickingDate  | 
string (date-time)  | 
last picking date  | 
4.2.3. Enumeration
Field: Type
| Meta Value | Description | Short Value | 
|---|
4.2.4. Example
4.2.5. Version history
Version  | 
Number  | 
File  | 
Published on  | 
previous version  | 
3.1  | 
18.03.24  | 
|
previous version  | 
3.2  | 
09.01.25  | 
|
current version  | 
3.3  | 
22.10.25  | 
|
coming version  | 
4.2.6. Changelog
Changes V3.0
- 
Standard header
- 
attribute "sender" is now linked to system.v7.schema.json
 - 
attribute "client" is now linked to company.v5.schema.json
 - 
enum values for "eventType" were updated
 - 
fields of header were changed to "dailySnapshotNumber" and "snapshotTime"
 - 
renamed "erpSnapshotId" to "snapshotId"
 
 - 
 - 
Payload (Data)
- 
Trennung "totalQuantity" und "stockInformation" mit versch. Mengen für reserviert/Menge zur Abbildung Bestandsarten über "stockType" und virtuelle Quanten mittels "quantType" für High Level Reservierungen
 - 
added new field "lastPickingDate"
 - 
changed references and attribute names for "supplier" and "goodsIn"
 
 - 
 
Changes V3.0 → V3.1
- 
Standard header
- 
attribute "client" is now linked to company.v6.schema.json
 - 
attribute "company" is now linked to company.v6.schema.json
 
 - 
 - 
Payload (Data)
- 
added new field "isInventory" - set true if quant is registered for inventory checks
 - 
added new field "buaid" - prepare renaming BUID to buaid, don’t use BUID anymore (marked as obsolete) for V3.0 data
 - 
added new field "sourceType" - for distinction of stock source (detour, returns, goods in …)
 - 
extend "quantId" to 100 signs
 - 
added new field "imei2" for dual sim devices
 
 - 
 
Changes V3.1 → V3.2
- 
Standard header
- 
attribute "client" - reference to global company enums removed. Use string.
 - 
attribute "company" - reference to global company enums removed. Use string.
 
 - 
 - 
Payload (Data)
- 
attribute "isIgnoredForComparison" - new boolean value for group inventory
 - 
attribute "volume" - "value" - introduce pattern to validate string matches oracles decimal(15,6)
 - 
attruibute "weight" - "value" - introduce pattern to validate string matches oracles decimal(12,3)
 
 - 
 
Changes V3.2 → V3.3
- 
Standard header
 - 
Payload (Data)
- 
new attribute "qualitySign" for quality information
 - 
use reference to warehouselocations.v2.schema.json for new warehouse NORD_LOGISTIC
 - 
use reference to systems.schema.json for new sender NOLO
 
 - 
 
Notes for new major version:
- 
remove BUID
 - 
rename sourcelocation to sourceLocation
 
4.2.7. Schema
{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$comment": "Schema for stock in a warehouse direction ERP Version 3.2",
    "$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/WarehouseStockErp.v3.2.schema.json",
    "type": "object",
    "definitions": {
        "stockType": {
            "title": "Type of the stock",
            "description": "stockType, that indicates whether an individual part is in goods in stock (before releasing), available, reserved for orders, advised as return or detour...",
            "type": "string",
            "maxLength": 50,
            "enum": ["GOODS_IN",
                     "AVAILABLE",
                     "QUALITY_LOCKED",
                     "LOCKED",
                     "RESERVED_FOR_ORDERS",
                     "HIGH_LEVEL_RESERVED_FOR_ORDER",
                     "RETURN_OR_DETOUR",
                     "RESERVABLE_LOCKED",
                     "RESERVABLE_RETURN_OR_DETOUR",
                     "REPLENISHMENT"]
        },
        "sourceType": {
            "title": "additional source type",
            "description": "additional source type information for distinction of stock source (different transfer types, returns, goodsin from supplier etc.), used for erp stocktype mappings, has to be filled at least for all messages with stockType RETURN_OR_DETOUR and for NON_STORABLE_RETURNS",
            "type": "string",
            "maxLength": 50,
            "enum": ["STOCK_TRANSFER",
                     "RETURN_INBOUND",
                     "RETURN_SUPPLIER",
                     "INTERNAL_REMOVAL_FROM_INBOUND",
                     "INTERNAL_REMOVAL_FOR_SAMPLE",
                     "SUPPLY",
                     "STOCK_TRANSFER_WITH_PROMISE",
                     "FINAL_REMOVAL",
                     "OTTO_MARKET",
                     "INBOUND_SAMPLE",
                     "STORABLE_RETURNS",
                     "NON_STORABLE_RETURNS",
                     "GOODSIN_SUPPLIER"
                     ]
        }
    },
    "properties": {
        "eventId": {
            "title": "The unique eventId",
            "description": "Global unique Id",
            "type": "string",
            "format": "uuid",
            "minLength": 36,
            "maxLength": 36,
            "examples": [
                "00ce536f-923a-42f4-8128-be118faf1d87"
            ]
        },
        "traceId": {
            "title": "The unique traceId",
            "description": "Global unique Id for tracing the flow of events",
            "type": "string",
            "format": "uuid",
            "minLength": 36,
            "maxLength": 36,
            "examples": [
                "00ce536f-923a-42f4-8138-33418faf1342"
            ]
        },
        "spanId": {
            "title": "The eventId of previous record or batchId",
            "description": "Optionally, if this record (event) is one of a sequence of records and the order is important, then here is the id of the previous record (event), recommended as uuid, Special usecases can be specify for some interfaces",
            "type": "string",
            "format": "uuid",
            "minLength": 36,
            "maxLength": 36,
            "examples": [
                "00ce536f-923a-42f4-5463-32a41877b3c2"
            ]
        },    
        "eventTime": {
            "title": "Time of occurrence of the event",
            "description": "Time at which the record was generated (single event - not the businessEvent/snapshot) in UTC +ISO-8601 format YYYY-MM-DD'T'HH24:MM:SS'Z'",
            "type": "string",
            "format": "date-time",
            "examples": [
                "2022-04-16T16:06:05.123456Z",
                "2022-04-19T08:51:05+02:00"
            ]
        },
        "version": {
            "title": "The number of version schema",
            "description": "Number of version of this data structure. Only required if no $schema is specified!",
            "oneOf": [
                {
                    "type": "string",
                    "pattern": "\\d+\\.\\d{1,2}",
                    "examples": ["1.01", "01.02"]
                },
                {
                    "type": "integer",
                    "examples": [1, 2]
                }
            ]
        },
        "context": {
            "title": "The context / business case",
            "description": "The context specified here means the business domain.",
            "type": "string",
            "maxLength":50,
            "enum": [
                "WAREHOUSE_STOCK"
            ]
        },
        "eventType": {
            "title": "Snapshot event",
            "description": "the snapshot type to which the data belongs, currently only snapshots are supported",
            "type": "string",
            "maxLength": 20,
            "enum": ["SNAPSHOT"],
            "examples":["SNAPSHOT"]
        },
        "metaData": {
            "title": "meta data",
            "description": "optional, can be used with different characteristics for technical data per interface",
            "type": "object",
            "properties": {
                "sender": {
                    "title":"sender",
                    "description":"Name of the source system, that has sent this message.",
                    "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v7.schema.json"
                },
                "client": {
                    "title": "client",
                    "description": "Client/mandant (messages of different clients have different processing rules and destination interfaces) - use FBO for Fulfillment by Otto (CORE, DeepSea...)",
                    "type": "string",
                    "maxLength": 50,
                    "examples": [
                        "FBO"
                    ]
                },
                "messageNumber": {
                    "title": "current message number",
                    "description": "the current message number that is transmitted",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 999999999999999999
                },
                "lastMessageNumber": {
                    "title": "last message number",
                    "description": "how many messages are to be transferred",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 999999999999999999
                },
                "dailySnapshotNumber": {
                    "title": "daily snapshot number",
                    "description": "sequence number of the snapshot per day, starts every day again with number 1",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 100
                },
                "snapshotTime": {
                    "title": "snapshot time",
                    "description": "time of the snapshot creation",
                    "type": "string",
                    "format": "date-time",
                    "examples": [
                        "2022-04-16T16:06:05.123456Z",
                        "2022-04-19T08:51:05+02:00"
                    ]
                }
            }, 
            "required": [
                "sender",
                "client",
                "dailySnapshotNumber"
            ]   
        },
        "data": {
            "type": "object",
            "properties": {
                "snapshotId": {
                    "title": "the id of the inventory snapshot",
                    "description": "Consecutive number (sequence) of a long number. each inventory snapshot gets its own ID from WMS, which is identical for all records of the snapshot. all bookings get the id of the following snapshot, generated by wms, each wms has his own scope",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 999999999999999999,
                    "maxLength": 18,
                    "examples": [
                        122
                    ]
                },
                "quantId": {
                    "title": "Quant Id",
                    "description": "ID of the finest stock separating unit, generated id for virtual quants/units",
                    "type": "string",
                    "maxLength": 100,
                    "examples":["1189582"]
                },
                "quantType": {
                    "title": "quant type",
                    "description": "type of quant, virtual for stocks without relation to a real physical quant ,e.g. high level reserved quantities, advised detours",
                    "type": "string",
                    "maxLength": 10,
                    "enum":["PHYSICAL","VIRTUAL"]
                },           
                "location": {
                    "title": "location",
                    "description": "the location where the event was created",
                    "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
                },
                "sourcelocation": {
                    "title": "source location",
                    "description": "the source location of the stock e.g. the sending location for returns or detours",
                    "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
                },
                "totalQuantity": {
                    "title": "total quantity",
                    "description": "the total quantity for this quant including reserved qty in kMotion",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 9999999999,
                    "examples":["20"]
                },
                "stockInformation": {
                    "title": "stockInformation",
                    "description": "the stock related informations for the single quantities of this quant",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "quantity": {
                                "title": "quantity",
                                "description": "quantity containing to this stock type",
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 9999999999,
                                "examples":[90]
                            },
                            "stockType": {
                                "title": "Stock Type",
                                "description": "stock type, that indicates whether an individual part is in goods in stock (before releasing), available, reserved for orders, advised as return or detour...",
                                "$ref": "#/definitions/stockType"
                            }
                        },
                        "required": [
                            "quantity",
                            "stockType"
                        ]
                    }
                },
                "stockTypeCode": {
                    "title": "WMS Stock Type",
                    "description": "stock type used in wms frontend (if available)",
                    "type": "string",
                    "maxLength": 50,
                    "examples":["4251"]
                },          
                "sourceType": {
                    "title": "source type",
                    "description": "additional source type information for distinction of stock source (detour, returns, goodsin from supplier etc.) and assignment of erp stocktypes",
                    "$ref": "#/definitions/sourceType"
                },
                "isInventory": {
                    "title": "is Inventory",
                    "description": "set it true if the quant was intended for inventory checking, otherwise to false",
                    "type": "boolean",
                    "default": false,
                    "examples": [true,false]
                },
                "isIgnoredForComparison": {
                    "title": "is ignored for comparison",
                    "description": "set it true, if this quant should be ignored for comparison during group inventory, normally used for returns that are advised with isInventory flag from RESY, because they are not booked",
                    "type": "boolean",
                    "default": false,
                    "examples": [true,false]
                },
                "customsType": {
                    "title": "Type of customs",
                    "description": "indicates whether the quant have been cleared or not",
                    "type": "string",
                    "maxLength": 50,
                    "enum": ["CUSTOMS_CLEARED", "CUSTOMS_NOT_CLEARED", "UNKNOWN"],
                    "example": ["CUSTOMS_CLEARED"]
                },
                "customsTypeCode": {
                    "title": "WMS Customs Type",
                    "description": "customs type code used in wms frontend",
                    "type": "string",
                    "maxLength": 50,
                    "example": ["5614D"]
                }, 
                "qualityControlTypeCode": {
                    "title": "WMS Quality Control Type",
                    "description": "quality control type used in wms (account)",
                    "type": "string",
                    "maxLength": 50,
                    "examples":["1234ABCD"]
                },               
                "locks": {
                    "title": "locks",
                    "description": "locks used in wms, a quant can have multiple locks, use also wms code for unlocked, ",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {            
                            "typeCode": {
                                "title": "lock type",
                                "description": "lock used in front end of WMS",
                                "type": "string",
                                "maxLength": 50,
                                "examples":["1120ABD"]
                            },
                            "time": {
                                "title": "Lock Date",
                                "description": "time the lock was set",
                                "type": "string",
                                "format": "date-time",
                                "examples":["2022-03-22T09:52:00.000+0100"]
                            }
                        }
                    }
                }, 
                "buaid": {
                    "title": "buaid",
                    "description": "bi unique article ID, unique identification of an individual unit in the logistical process",
                    "type": "string",
                    "maxLength": 50,
                    "examples":["2344545-334542-465g45ddf"]
                },
                "BUID": {
                    "title": "BUID",
                    "description": "obsolete. for backwards compatibility with V3.0. Use attribute buiad instead. BI UUID, unique identification of an individual unit in the logistical process",
                    "type": "string",
                    "examples":["2344545-334542-465g45ddf"]
                },
                "bestBeforeDate": {
                    "title": "best Before Date",
                    "description": "best before date",
                    "type": "string",
                    "format":"date",
                    "examples":["2022-12-31"]
                },
                "batch": {
                    "title": "batch",
                    "description": "batch number",
                    "type": "string",
                    "maxLength": 100,
                    "examples":["124345d"]
                },
                "imei": {
                    "title": "imei",
                    "description": "IMEI of a technical device",
                    "type": "string",
                    "maxLength": 50,
                    "examples":["2345-45452-43365-5643"]
                },
                "imei2": {
                    "title": "imei2",
                    "description": "second IMEI of dual sim technical device",
                    "type": "string",
                    "maxLength": 50,
                    "examples":["2345-45452-43365-5643"]
                },
                "serialNo": {
                    "title": "serial number",
                    "description": "serial number of the manufacturer",
                    "type": "string",
                    "maxLength": 100,
                    "examples":["D345-gkjpo-3112"]
                },
                "volume": {
                    "title": "volume",
                    "description": "volume of the whole quant - gross value - measured",
                    "type": "object",
                    "properties": {
                        "value": {
                            "type": "string",
                            "description": "Value",
                            "pattern":"^[0-9]{1,9}[.][0-9]{1,6}$",
                            "examples": [
                                    "0.000234",
                                    "987654321.0"
                            ]
                        },
                        "unit": {
                            "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitVolume.v1.schema.json"
                        }
                    }
                },
                "weight": {
                    "title": "weight",
                    "description": "weight of the whole quant - gross value - measured",
                    "type": "object",
                    "properties": {
                        "value": {
                            "type": "string",
                            "description": "Value",
                            "pattern":"^[0-9]{1,9}[.][0-9]{1,3}$",
                            "examples": [
                                    "0.565",
                                    "987654321.0"
                            ]
                        },
                        "unit": {
                            "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/unitWeight.v1.schema.json"
                        }
                    }
               },
               "product": {
                    "type": "object",
                    "properties": {
                        "erpProductId": {
                            "title": "¨ERP Product Id",
                            "description": "master communication key between Erp and LSAS",
                            "type": "string",
                            "maxLength": 36,
                            "examples":["123"]
                        },
                        "itemNumber": {
                            "title": "Item Number",
                            "description": "the item number-> Only provided by WMSx Sonnefeld  - deprecated",
                            "type": "string",
                            "maxLentht": 8,
                            "examples":["4"]
                        },
                        "itemSize": {
                            "title": "Item Size",
                            "description": "the item size (binary size, not alphanumeric) -> Only provided by WMSx Sonnefeld  - deprecated",
                            "type": "string",
                            "maxLength": 3,
                            "examples":["960"]
                        },
                        "company": {
                            "title": "Company",
                            "description": "actual owner company - used in FLASH",
                            "type": "string",
                            "maxLength": 50,
                            "examples": [
                                "OTTO"
                            ]
                        },
                        "erpPackingUnitId": {
                            "title": "¨ERP PackingUnit Id",
                            "description": "master communication key between LSAS and ERP for packing units of products with multiple parts",
                            "type": "string",
                            "maxLength": 36,
                            "examples":["123"]
                        },
                        "packingUnitIndex": {
                            "title": "¨PackingUnit Number",
                            "description": "Part Number for products with multiple parts - deprecated",
                            "type": "integer",
                            "mininmum": 1,
                            "maximum": 99,
                            "examples":["123"]
                        }
                    },
                    "anyOf": [
                        {
                            "description": "used for wms without lsas connection (Sonnefeld) single colli items",
                            "required": [
                                "itemNumber",
                                "itemSize"
                            ]
                        },
                        {
                            "description": "used for erp with lsas connection - PL - single colli",
                            "required": [
                                "erpProductId"
                            ]
                        },
                        {
                            "description": "used for erp with lsas connection - bulky item",
                            "required": [
                                "erpProductId",
                                "erpPackingUnitId",
                                "packingUnitIndex"
                            ]
                        },
                        {
                            "description": "used for bulky items without lsas data",
                            "required": [
                                "itemNumber",
                                "itemSize",
                                "packingUnitIndex"
                            ]
                        }
                    ]
                },
                "supplier": {
                    "type": "object",
                    "properties": {
                        "erpSupplierId": {
                            "title": "technical erp supplier id",
                            "description": "erp supplier ID - ERP based ID",
                            "type": "string",
                            "maxLength": 36,
                            "examples":["123"]
                        },
                        "supplierId": {
                            "title": "supplier number",
                            "description": "supplier number (LKZ) - deprecated",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 999999,
                            "examples":["4"]
                        }
                    }                                   
                },
                "storageLocationId": {
                    "title": "storage location",
                    "description": "unique identification of a storage location. see interface https://docs.osp-fine.de/page/fine-common/30_stock/s08_storage_location/s08_storage_location/",
                    "type": "string",
                    "examples":["123"]
                },
                "storageHandlingUnitId": {
                    "title": "storage handling Unit",
                    "description": "unique identification of a charge carrier/bundle. see interface https://docs.osp-fine.de/page/fine-common/30_stock/s09_storage_handling_unit/s09_storage_handling_unit/",
                    "type": "string",
                    "examples":["123"]
                },
                "goodsIn": {
                    "type": "object",
                    "properties": {
                        "goodsInId": {
                            "title": "goods in id",
                            "description": "unique id of a goods receipt see interface https://docs.osp-fine.de/page/fine-common/20_inbound/i04_goods_in/i04_goods_in/",
                            "type": "string",
                            "maxLength": 36,
                            "examples":["123"]
                        },
                        "deliveryPositionId": {
                            "title": "delivery position id",
                            "description": "unique id of a delivery position see interface https://docs.osp-fine.de/page/fine-common/20_inbound/i04_goods_in/i04_goods_in/",
                            "type": "string",
                            "maxLength": 36,
                            "examples":["4"]
                        }
                    }                                          
                },
                "movementInfo": {
                    "type": "object",
                    "properties": {
                        "firstMovement": {
                            "title": "first movement date",
                            "description": "time of creation of the stock in the wms for determining the laytime of a stock unit, for retour or detour stocks use the advise date",
                            "type": "string",
                            "format": "date-time",
                            "examples":["2022-03-22T09:52:00.000+0100"]
                        },
                        "lastMovement": {
                            "title": "last movement date",
                            "description": "last movement of the stock unit to derive old stock and bum articles",
                            "type": "string",
                            "format": "date-time",
                            "examples":["2022-03-22T09:52:00.000+0100"]
                        },
                        "lastPickingDate": {
                            "title": "last picking date",
                            "description": "time at which the last pick/commission was made from this remaining quant",
                            "type": "string",
                            "format": "date-time",
                            "examples":["2022-03-22T09:52:00.000+0100"]
                        }                       
                    },
                    "required": [
                        "firstMovement"
                    ]
                }
            },
            "required": [
                "quantId",
                "location",
                "quantType",
                "totalQuantity",
                "stockInformation",
                "isInventory",
                "product"                
            ]              
        }
    },
    "required": [
      "eventId",
      "traceId",
      "eventTime",
      "version",
      "eventType",
      "metaData",
      "data"
    ],
    
    
    
    
    "examples":[
        {
            "eventId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "traceId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "eventTime":"2016-04-16T01:03:17Z",
            "version":"3.1",
            "eventType":"SNAPSHOT",
            "metaData":{
                "sender":"KMOTION_ILO",
                "client":"FBO",
                "messageNumber":1,
                "lastMessageNumber":10,
                "dailySnapshotNumber":1,
                "snapshotTime":"2016-04-16T01:00:00Z"
            },
            "data":{
                "erpSnapshotId":427,
                "quantId":"22000003806",
                "location":"ILOWA",
                "quantType":"PHYSICAL",
                "totalQuantity":13,
                "stockInformation":[
                    {
                        "stockType":"RESERVED_FOR_ORDERS",
                        "quantity":3
                    },
                    {
                        "stockType":"AVAILABLE",
                        "quantity":10
                    }
                ],    
                "isInventory":false,
                "stockTypeCode":"AV",
                "customsType":"UNKNOWN",
                "product":{
                    "erpProductId":"Artikel1",
                    "erpPackingUnitId":"Teil1",
                    "packingUnitIndex":1
                },
                "storageLocationId":"199992",
                "storageHandlingUnitId":"C123456"
            }
        },
        {
            "eventId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "traceId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "eventTime":"2023-10-11T10:18:24.000+02:00",
            "version":"3.1",
            "eventType":"SNAPSHOT",
            "metaData":{
                "sender":"KMOTION_ILO",
                "client":"FBO",
                "messageNumber":2,
                "lastMessageNumber":10,
                "dailySnapshotNumber":1,
                "snapshotTime":"2023-10-11T01:00:00Z"
            },
            "data":{
                "erpSnapshotId":427,
                "quantId":"4711_08_01_21000000001_01",
                "location":"ILOWA",
                "quantType":"VIRTUAL",
                "totalQuantity":1,
                "stockInformation":[
                    {
                        "stockType":"RETURN_OR_DETOUR",
                        "quantity":1
                    }
                ],
                "isInventory":false,
                "sourceType":"STOCK_TRANSFER",
                "stockTypeCode":"AV",
                "customsType":"UNKNOWN",
                "product":{
                    "itemNumber":"47119884",
                    "itemSize":"906",
                    "packingUnitIndex":1
                },
                "imei":"352377995718121",
                "imei2":"352377995718122",
                "buaid":"ed5807dd-c141-4b91-9f76-b6cbfa41cb73",
                "movementInfo":{"firstMovement":"2023-10-10T10:24:41.000+02:00"}
            }
        },      
        {
            "eventId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "traceId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "eventTime":"2023-10-12T10:18:24.000+02:00",
            "version":"3.1",
            "eventType":"SNAPSHOT",
            "metaData":{
                "sender":"KMOTION_ILO",
                "client":"FBO",
                "messageNumber":2,
                "lastMessageNumber":10,
                "dailySnapshotNumber":1,
                "snapshotTime":"2023-10-12T10:18:24.000+02:00"
            },
            "data":{
                "erpSnapshotId":427,
                "quantId":"4711_08_01_21000000003_01",
                "location":"ILOWA",
                "quantType":"VIRTUAL",
                "totalQuantity":1,
                "stockInformation":[
                    {
                        "stockType":"RETURN_OR_DETOUR",
                        "quantity":1
                    }
                ],
                "isInventory":false,
                "sourceType":"NON_STORABLE_RETURNS",
                "stockTypeCode":"AV",
                "customsType":"UNKNOWN",
                "product":{
                    "itemNumber":"47119884",
                    "itemSize":"906",
                    "packingUnitIndex":1
                },
                "imei":"352377995718121",
                "buaid":"fg5807dd-c141-4b91-9f76-b6cbfa41cb73",
                "movementInfo":{"firstMovement":"2023-10-08T10:24:41.000+02:00"}
            }
        },      
        {
            "eventId":"f48cf326-0615-4351-9966-cdb4ec41bbcc",
            "traceId":"f48cf326-0615-4351-9966-cdb4ec41bbcc",
            "eventTime":"2023-10-11T10:18:24.000+02:00",
            "version":"3.1",
            "eventType":"SNAPSHOT",
            "metaData":{
                "sender":"KMOTION_ILO",
                "client":"FBO",
                "messageNumber":3,
                "lastMessageNumber":10,
                "dailySnapshotNumber":1,
                "snapshotTime":"2023-10-11T10:18:24.000+02:00"
            },
            "data":{
                "erpSnapshotId":427,
                "quantId":"V471108",
                "location":"ILOWA",
                "quantType":"VIRTUAL",
                "totalQuantity":5,
                "stockInformation":[
                    {
                        "stockType":"HIGH_LEVEL_RESERVED_FOR_ORDER",
                        "quantity":5
                    }
                ],    
                "isInventory":false,
                "stockTypeCode":"AV",
                "customsType":"UNKNOWN",
                "product":{
                    "itemNumber":"47119884",
                    "itemSize":"906",
                    "erpProductId":"121214444",
                    "packingUnitIndex":1
                }
            }
        },      
        {
            "eventId":"f48cfc26-0615-4351-9966-cdb4ec41bacc",
            "traceId":"f48cfc26-0615-4351-9966-cdb4ec41bacc",
            "eventTime":"2022-03-22T09:52:00.000+0100",
            "version":"3.1",
            "eventType":"SNAPSHOT",
            "metaData":{
                "sender":"COBRA",
                "client":"FBO",
                "messageNumber":1,
                "lastMessageNumber":20,
                "dailySnapshotNumber":1,
                "snapshotTime":"2022-03-22T04:00:00.000+0100"
            },
            "data":{
                "quantId":"918450081",
                "location":"ERFURT",
                "quantType":"PHYSICAL",
                "totalQuantity":1,
                "stockInformation":[
                    {
                        "stockType":"GOODS_IN",
                        "quantity":1
                    }
                ],    
                "isInventory":false,
                "product":{
                    "itemNumber":"4209344",
                    "itemSize":"0",
                    "packingUnitIndex":3
                },
                "storageLocationId":"5858211128602",
                "storageHandlingUnitId":"C769675929",
                "locks":[
                    {
                        "typeCode": "AN",
                        "time": "2022-12-13T07:52:05Z"
                    },
                    {
                        "typeCode": "LO",
                        "time": "2022-12-13T07:52:05Z"
                    }
                ],
                "imei":"352377995718121",
                "imei2":"352377995718122",
                "buaid":"ed5807dd-c141-4b91-9f76-b6cbfa41cb73"
            }
        }
    ]
}
4.3. Direction FINE to BRAIN
4.3.1. Header
This interface uses the Service Header
Special expression for this interface:
| Fieldname | Expression | 
|---|
4.3.2. Data model
4.3.3. Enumeration
Field: Type
| Meta Value | Description | Short Value | 
|---|
4.3.4. Example
4.3.5. Schema
| Version | Number | File | Published on | Changes | 
|---|---|---|---|---|
current version  | 
2.0  | 
20.09.22  | 
- service header attribute spanId as optional field inserted - rename service header attribute type to eventType - use new object "metaData" in service header and move the attributes "sender", "messageNumber" and "lastMessageNumber" into this object - link attribute "sender" to the global enum "sender" - link attributes data → "location" and "sourecLocation" to the global enums in "location" schema - use under data\package\weight attibute "unit" the global enum schema unit - use under data\package\volume attibute "unit" the global enum schema unit - under data\supplier use camelCase for attribute id - under data\supplier use camelCase for attribute number  | 
|
coming version  | 
2.1  | 
25.01.23  | 
- add "logisticPackingunitId" and "logisticPackingunitNumber" under "product" for multipart items as optional fields - add "BUID", "bestBeforeDate", "batch", "imei", "serialNo" under "Data" as optional fields  | 
current version  | 
||
previous version  | 
||
coming version  | 
4.3.6. Filter
Source topic is filtered on location IN ('LOEHNE', 'ANSBACH', 'SONNEFELD', 'HALDENSLEBEN', 'SUEDHAFEN', 'OHRDRUF', 'ERFURT', 'MOSINA', 'LANGENSELBOLD')