| GET | /stock/{brand}/productQuantityFigures | Get product quantity figures |
|---|
import 'package:servicestack/servicestack.dart';
class ReasonCodeQuantity implements IConvertible
{
/**
* Order Reason Code
*/
// @ApiMember(Description="Order Reason Code", IsRequired=true)
String? reasonCode;
/**
* Ordered quantity per Reason Code
*/
// @ApiMember(Description="Ordered quantity per Reason Code", IsRequired=true)
int? quantity;
ReasonCodeQuantity({this.reasonCode,this.quantity});
ReasonCodeQuantity.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
reasonCode = json['reasonCode'];
quantity = json['quantity'];
return this;
}
Map<String, dynamic> toJson() => {
'reasonCode': reasonCode,
'quantity': quantity
};
getTypeName() => "ReasonCodeQuantity";
TypeContext? context = _ctx;
}
class ProductQuantityFigure implements IConvertible
{
/**
* Stock POS Legacy code
*/
// @ApiMember(Description="Stock POS Legacy code", IsRequired=true)
String? stockPosCode;
/**
* Article Code
*/
// @ApiMember(Description="Article Code", IsRequired=true)
String? articleCode;
/**
* Stock quantity
*/
// @ApiMember(Description="Stock quantity", IsRequired=true)
int? stockQuantity;
/**
* Stock quantity for standard orders
*/
// @ApiMember(Description="Stock quantity for standard orders", IsRequired=true)
int? standardStockQuantity;
/**
* Stock quantity for consignment orders
*/
// @ApiMember(Description="Stock quantity for consignment orders", IsRequired=true)
int? consignmentStockQuantity;
/**
* Ordered pending quantity
*/
// @ApiMember(Description="Ordered pending quantity", IsRequired=true)
int? orderedPendingQuantity;
/**
* Ordered confirmed quantity
*/
// @ApiMember(Description="Ordered confirmed quantity", IsRequired=true)
int? orderedConfirmedQuantity;
/**
* Ordered confirmed quantities splitted by reason codes
*/
// @ApiMember(Description="Ordered confirmed quantities splitted by reason codes")
List<ReasonCodeQuantity>? orderedConfirmedQuantityByReason;
/**
* In transit quantity
*/
// @ApiMember(Description="In transit quantity", IsRequired=true)
int? inTransitQuantity;
/**
* In transit quantities splitted by reason codes
*/
// @ApiMember(Description="In transit quantities splitted by reason codes")
List<ReasonCodeQuantity>? inTransitQuantityByReason;
/**
* Standard assortment no autoRep quantity
*/
// @ApiMember(Description="Standard assortment no autoRep quantity", IsRequired=true)
int? standardAssortmentNoAutoRepQuantity;
/**
* Standard assortment autoRep quantity
*/
// @ApiMember(Description="Standard assortment autoRep quantity", IsRequired=true)
int? standardAssortmentAutoRepQuantity;
/**
* Consignment assortment no autoRep quantity
*/
// @ApiMember(Description="Consignment assortment no autoRep quantity", IsRequired=true)
int? consignmentAssortmentNoAutoRepQuantity;
/**
* Consignment assortment autoRep quantity
*/
// @ApiMember(Description="Consignment assortment autoRep quantity", IsRequired=true)
int? consignmentAssortmentAutoRepQuantity;
/**
* Total ordered
*/
// @ApiMember(Description="Total ordered", IsRequired=true)
int? totalOrdered;
ProductQuantityFigure({this.stockPosCode,this.articleCode,this.stockQuantity,this.standardStockQuantity,this.consignmentStockQuantity,this.orderedPendingQuantity,this.orderedConfirmedQuantity,this.orderedConfirmedQuantityByReason,this.inTransitQuantity,this.inTransitQuantityByReason,this.standardAssortmentNoAutoRepQuantity,this.standardAssortmentAutoRepQuantity,this.consignmentAssortmentNoAutoRepQuantity,this.consignmentAssortmentAutoRepQuantity,this.totalOrdered});
ProductQuantityFigure.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
stockPosCode = json['stockPosCode'];
articleCode = json['articleCode'];
stockQuantity = json['stockQuantity'];
standardStockQuantity = json['standardStockQuantity'];
consignmentStockQuantity = json['consignmentStockQuantity'];
orderedPendingQuantity = json['orderedPendingQuantity'];
orderedConfirmedQuantity = json['orderedConfirmedQuantity'];
orderedConfirmedQuantityByReason = JsonConverters.fromJson(json['orderedConfirmedQuantityByReason'],'List<ReasonCodeQuantity>',context!);
inTransitQuantity = json['inTransitQuantity'];
inTransitQuantityByReason = JsonConverters.fromJson(json['inTransitQuantityByReason'],'List<ReasonCodeQuantity>',context!);
standardAssortmentNoAutoRepQuantity = json['standardAssortmentNoAutoRepQuantity'];
standardAssortmentAutoRepQuantity = json['standardAssortmentAutoRepQuantity'];
consignmentAssortmentNoAutoRepQuantity = json['consignmentAssortmentNoAutoRepQuantity'];
consignmentAssortmentAutoRepQuantity = json['consignmentAssortmentAutoRepQuantity'];
totalOrdered = json['totalOrdered'];
return this;
}
Map<String, dynamic> toJson() => {
'stockPosCode': stockPosCode,
'articleCode': articleCode,
'stockQuantity': stockQuantity,
'standardStockQuantity': standardStockQuantity,
'consignmentStockQuantity': consignmentStockQuantity,
'orderedPendingQuantity': orderedPendingQuantity,
'orderedConfirmedQuantity': orderedConfirmedQuantity,
'orderedConfirmedQuantityByReason': JsonConverters.toJson(orderedConfirmedQuantityByReason,'List<ReasonCodeQuantity>',context!),
'inTransitQuantity': inTransitQuantity,
'inTransitQuantityByReason': JsonConverters.toJson(inTransitQuantityByReason,'List<ReasonCodeQuantity>',context!),
'standardAssortmentNoAutoRepQuantity': standardAssortmentNoAutoRepQuantity,
'standardAssortmentAutoRepQuantity': standardAssortmentAutoRepQuantity,
'consignmentAssortmentNoAutoRepQuantity': consignmentAssortmentNoAutoRepQuantity,
'consignmentAssortmentAutoRepQuantity': consignmentAssortmentAutoRepQuantity,
'totalOrdered': totalOrdered
};
getTypeName() => "ProductQuantityFigure";
TypeContext? context = _ctx;
}
class GetProductQuantityFiguresResponse extends ListBase<ProductQuantityFigure> implements IConvertible
{
final List<ProductQuantityFigure> l = [];
set length(int newLength) { l.length = newLength; }
int get length => l.length;
ProductQuantityFigure operator [](int index) => l[index];
void operator []=(int index, ProductQuantityFigure value) { l[index] = value; }
GetProductQuantityFiguresResponse();
GetProductQuantityFiguresResponse.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "GetProductQuantityFiguresResponse";
TypeContext? context = _ctx;
}
class GetProductQuantityFigures implements IConvertible
{
/**
* Brand
*/
// @ApiMember(Description="Brand", IsRequired=true)
String? brand;
/**
* POS Legacy codes
*/
// @ApiMember(Description="POS Legacy codes", IsRequired=true)
List<String>? posCodes;
/**
* Article codes
*/
// @ApiMember(Description="Article codes", IsRequired=true)
List<String>? articleCodes;
GetProductQuantityFigures({this.brand,this.posCodes,this.articleCodes});
GetProductQuantityFigures.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
brand = json['brand'];
posCodes = JsonConverters.fromJson(json['posCodes'],'List<String>',context!);
articleCodes = JsonConverters.fromJson(json['articleCodes'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'brand': brand,
'posCodes': JsonConverters.toJson(posCodes,'List<String>',context!),
'articleCodes': JsonConverters.toJson(articleCodes,'List<String>',context!)
};
getTypeName() => "GetProductQuantityFigures";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: <String, TypeInfo> {
'ReasonCodeQuantity': TypeInfo(TypeOf.Class, create:() => ReasonCodeQuantity()),
'ProductQuantityFigure': TypeInfo(TypeOf.Class, create:() => ProductQuantityFigure()),
'List<ReasonCodeQuantity>': TypeInfo(TypeOf.Class, create:() => <ReasonCodeQuantity>[]),
'GetProductQuantityFiguresResponse': TypeInfo(TypeOf.Class, create:() => GetProductQuantityFiguresResponse()),
'GetProductQuantityFigures': TypeInfo(TypeOf.Class, create:() => GetProductQuantityFigures()),
});
Dart GetProductQuantityFigures DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /stock/{brand}/productQuantityFigures HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: text/csv
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length []