syntax = "proto3";

package ipos.models;

message OrderpickerWrapper { // wrapper-message for configuration-topic
  repeated OFBizPicklist picklists = 1;
}

message FrontendWrapper {
  repeated FEndInitRow fEndInitRows = 1;
  repeated FEndUpdateInventoryItem fEndupdateInventoryItems = 2;
  repeated FEndUpdateShipmentBin fEndUpdateShipmentBins = 3;
}

message OFBizPicklist {
  string picklistId = 1;
  repeated OFBizPicklistRole picklistRoles = 2;
  repeated OFBizPicklistBin picklistBins = 3;
}

message OFBizPicklistRole {
  string picklistId = 1;
  string partyId = 2;
  string roleTypeId = 3;
}

message OFBizPicklistBin {
  string picklistId = 1;
  int32 binLocationNumber = 2;
  repeated OFBizPicklistItem picklistItems = 3;
}

message OFBizPicklistItem {
  string orderId = 1;
  string oderItemSeqId = 2;
  int32 quantity = 3;
  OFBizInventoryItem inventoryItem = 4;
}

message OFBizInventoryItem {
  string inventoryItemId = 1;
  string containerId = 2;
  string productId = 3;
}

message FEndInitRow {
  int32 index = 1;
  string orderId = 2;
  string orderItemSeqId = 3;
  string productId = 4;
  int32 quantity = 5;
  string inventoryItem = 6;
  int32 shipmentBinNr = 7;
}

message FEndUpdateInventoryItem {
  int32 index = 1;
  bool isCorrect = 2;
  string inventoryItem = 3;
}

message FEndUpdateShipmentBin {
  int32 index = 1;
  bool isCorrect = 2;
  int32 shipmentBinNr = 3;
}