S01 Warehouse Stock
- Status
-
Version 1.0 published 14.06.2022
- 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 |
|
Producer |
COBRA |
|
Producer |
WMSx/SON |
|
Consumer |
Comorant |
|
Consumer |
Humpback |
|
Consumer |
OBS |
MyToys |
Consumer |
FLASH |
|
Consumer |
SOLAR |
|
Consumer |
Nemo |
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 |
8:00 |
3 |
KR1 |
12:00 |
4 |
KR1 |
16:00 |
5 |
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 |
WMS:kMotion GERNSHEIM |
send |
BuBe:StockService |
stock.warehousestock.kmotion.v3 |
WarehouseStockWms.v3.1 |
planned |
FLASH |
receive |
BuBe:StockService |
stock.warehousestock.v2 |
WarehouseStockWms.v2.0 |
ready |
ERP:Otto |
receive |
BuBe:StockService |
stock.warehousestock.v2.otto |
WarehouseStockWms.v2.0 |
ready |
ERP:DeepSea |
receive |
BuBe:StockService |
stock.warehousestock.deepsea.v3 |
WarehouseStockErp.v3.2 |
planned |
ERP:F2X |
receive |
BuBe:StockService |
stock.warehousestock.f2x.v3 |
WarehouseStockErp.v3.2 |
planned |
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 |
additional meta information |
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"
] |
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"
] |
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 |
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 |
|
current version |
3.2 |
09.01.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)
-
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.2 for WMS",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/WarehouseStockWms.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": "additional meta information",
"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": {
"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"
]
}
]
},
"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 |
additional meta information |
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"
] |
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"
] |
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 |
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 |
|
current version |
3.2 |
09.01.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)
-
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": "additional meta information",
"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')