Richemont.Booster2.PublicApi

<back to all web services

GetDeliveryNotePaginated

Requires Authentication
The following routes are available for this service:
GET/deliveryNote/{brand}Get a list of Delivery Notes
import 'package:servicestack/servicestack.dart';

class Amount2 implements IConvertible
{
    /**
    * Currency ISO Code e.g. EUR, USD
    */
    // @ApiMember(Description="Currency ISO Code e.g. EUR, USD", IsRequired=true)
    String? currencyIsoCode;

    /**
    * Cost
    */
    // @ApiMember(Description="Cost", IsRequired=true)
    double? value;

    Amount2({this.currencyIsoCode,this.value});
    Amount2.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        currencyIsoCode = json['currencyIsoCode'];
        value = JsonConverters.toDouble(json['value']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'currencyIsoCode': currencyIsoCode,
        'value': value
    };

    getTypeName() => "Amount2";
    TypeContext? context = _ctx;
}

class DeliveryNoteItem implements IConvertible
{
    /**
    * Line number of Delivery note document e.g. 10, 90, 10000
    */
    // @ApiMember(Description="Line number of Delivery note document e.g. 10, 90, 10000", IsRequired=true)
    int? deliveryNotesLineNumber;

    /**
    * Status e.g. I, P
    */
    // @ApiMember(Description="Status e.g. I, P", IsRequired=true)
    String? status;

    /**
    * Article code of product e.g. CRWGSA0032
    */
    // @ApiMember(Description="Article code of product e.g. CRWGSA0032", IsRequired=true)
    String? articleCode;

    /**
    * Article description of product
    */
    // @ApiMember(Description="Article description of product")
    String? articleDescription;

    /**
    * Article code of product for straps e.g. CRKD12346879
    */
    // @ApiMember(Description="Article code of product for straps e.g. CRKD12346879")
    String? speakingArticleCode;

    /**
    * Serial numbers of products
    */
    // @ApiMember(Description="Serial numbers of products")
    List<String>? serialNumbers;

    /**
    * ERP ID of purchase order which delivery note attached to e.g. 200232323
    */
    // @ApiMember(Description="ERP ID of purchase order which delivery note attached to e.g. 200232323", IsRequired=true)
    int? erpOrderNumber;

    /**
    * Date of purchase order which delivery note attached to e.g. '2023-01-01'
    */
    // @ApiMember(Description="Date of purchase order which delivery note attached to e.g. '2023-01-01'", IsRequired=true)
    DateTime? erpOrderDate;

    /**
    * Line number of purchase order which delivery note attached to e.g. '2023-01-01'
    */
    // @ApiMember(Description="Line number of purchase order which delivery note attached to e.g. '2023-01-01'", IsRequired=true)
    int? erpOrderLineNumber;

    /**
    * Customer reference of order
    */
    // @ApiMember(Description="Customer reference of order")
    String? customerReference;

    /**
    * Carrier name
    */
    // @ApiMember(Description="Carrier name")
    String? carrier;

    /**
    * Tracking number
    */
    // @ApiMember(Description="Tracking number")
    String? trackingNumber;

    /**
    * Tracking URL
    */
    // @ApiMember(Description="Tracking URL")
    String? trackingUrl;

    /**
    * Flag that shows the order is sellable or not
    */
    // @ApiMember(Description="Flag that shows the order is sellable or not", IsRequired=true)
    bool? isSellable;

    /**
    * Flag that shows the order is consignment or not
    */
    // @ApiMember(Description="Flag that shows the order is consignment or not", IsRequired=true)
    bool? isConsignment;

    /**
    * Flag that shows the order is Automatic Replenishment or not
    */
    // @ApiMember(Description="Flag that shows the order is Automatic Replenishment or not", IsRequired=true)
    bool? isAutomaticReplenishment;

    /**
    * Order reason code
    */
    // @ApiMember(Description="Order reason code", IsRequired=true)
    String? orderReasonCode;

    /**
    * Original quantity of item
    */
    // @ApiMember(Description="Original quantity of item")
    DateTime? consignmentDueDate;

    /**
    * Quantity of item
    */
    // @ApiMember(Description="Quantity of item", IsRequired=true)
    int? quantity;

    /**
    * Price of item
    */
    // @ApiMember(Description="Price of item", IsRequired=true)
    Amount2? unitAmount;

    DeliveryNoteItem({this.deliveryNotesLineNumber,this.status,this.articleCode,this.articleDescription,this.speakingArticleCode,this.serialNumbers,this.erpOrderNumber,this.erpOrderDate,this.erpOrderLineNumber,this.customerReference,this.carrier,this.trackingNumber,this.trackingUrl,this.isSellable,this.isConsignment,this.isAutomaticReplenishment,this.orderReasonCode,this.consignmentDueDate,this.quantity,this.unitAmount});
    DeliveryNoteItem.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        deliveryNotesLineNumber = json['deliveryNotesLineNumber'];
        status = json['status'];
        articleCode = json['articleCode'];
        articleDescription = json['articleDescription'];
        speakingArticleCode = json['speakingArticleCode'];
        serialNumbers = JsonConverters.fromJson(json['serialNumbers'],'List<String>',context!);
        erpOrderNumber = json['erpOrderNumber'];
        erpOrderDate = JsonConverters.fromJson(json['erpOrderDate'],'DateTime',context!);
        erpOrderLineNumber = json['erpOrderLineNumber'];
        customerReference = json['customerReference'];
        carrier = json['carrier'];
        trackingNumber = json['trackingNumber'];
        trackingUrl = json['trackingUrl'];
        isSellable = json['isSellable'];
        isConsignment = json['isConsignment'];
        isAutomaticReplenishment = json['isAutomaticReplenishment'];
        orderReasonCode = json['orderReasonCode'];
        consignmentDueDate = JsonConverters.fromJson(json['consignmentDueDate'],'DateTime',context!);
        quantity = json['quantity'];
        unitAmount = JsonConverters.fromJson(json['unitAmount'],'Amount2',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'deliveryNotesLineNumber': deliveryNotesLineNumber,
        'status': status,
        'articleCode': articleCode,
        'articleDescription': articleDescription,
        'speakingArticleCode': speakingArticleCode,
        'serialNumbers': JsonConverters.toJson(serialNumbers,'List<String>',context!),
        'erpOrderNumber': erpOrderNumber,
        'erpOrderDate': JsonConverters.toJson(erpOrderDate,'DateTime',context!),
        'erpOrderLineNumber': erpOrderLineNumber,
        'customerReference': customerReference,
        'carrier': carrier,
        'trackingNumber': trackingNumber,
        'trackingUrl': trackingUrl,
        'isSellable': isSellable,
        'isConsignment': isConsignment,
        'isAutomaticReplenishment': isAutomaticReplenishment,
        'orderReasonCode': orderReasonCode,
        'consignmentDueDate': JsonConverters.toJson(consignmentDueDate,'DateTime',context!),
        'quantity': quantity,
        'unitAmount': JsonConverters.toJson(unitAmount,'Amount2',context!)
    };

    getTypeName() => "DeliveryNoteItem";
    TypeContext? context = _ctx;
}

class DeliveryNote implements IConvertible
{
    /**
    * ID of ERP system e.g. ES100
    */
    // @ApiMember(Description="ID of ERP system e.g. ES100", IsRequired=true)
    String? erpSystemId;

    /**
    * POS Legacy e.g. ES100:102048
    */
    // @ApiMember(Description="POS Legacy e.g. ES100:102048", IsRequired=true)
    String? posCode;

    /**
    * ShipTo POS Legacy e.g. ES100:102048
    */
    // @ApiMember(Description="ShipTo POS Legacy e.g. ES100:102048", IsRequired=true)
    String? shipToPosCode;

    /**
    * ID of Delivery note document e.g. 7032150324
    */
    // @ApiMember(Description="ID of Delivery note document e.g. 7032150324", IsRequired=true)
    int? deliveryNotesNumber;

    /**
    * Date of Delivery note document e.g. '2023-01-01'
    */
    // @ApiMember(Description="Date of Delivery note document e.g. '2023-01-01'", IsRequired=true)
    DateTime? deliveryNotesDate;

    /**
    * Delivery note items
    */
    // @ApiMember(Description="Delivery note items", IsRequired=true)
    List<DeliveryNoteItem>? deliveryNoteItems;

    /**
    * ID of IC Delivery note document e.g. 7032150324
    */
    // @ApiMember(Description="ID of IC Delivery note document e.g. 7032150324", IsRequired=true)
    int? icDeliveryNotesNumber;

    /**
    * Date of IC Delivery note document e.g. '2023-01-01'
    */
    // @ApiMember(Description="Date of IC Delivery note document e.g. '2023-01-01'", IsRequired=true)
    DateTime? icDeliveryNotesDate;

    DeliveryNote({this.erpSystemId,this.posCode,this.shipToPosCode,this.deliveryNotesNumber,this.deliveryNotesDate,this.deliveryNoteItems,this.icDeliveryNotesNumber,this.icDeliveryNotesDate});
    DeliveryNote.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        erpSystemId = json['erpSystemId'];
        posCode = json['posCode'];
        shipToPosCode = json['shipToPosCode'];
        deliveryNotesNumber = json['deliveryNotesNumber'];
        deliveryNotesDate = JsonConverters.fromJson(json['deliveryNotesDate'],'DateTime',context!);
        deliveryNoteItems = JsonConverters.fromJson(json['deliveryNoteItems'],'List<DeliveryNoteItem>',context!);
        icDeliveryNotesNumber = json['icDeliveryNotesNumber'];
        icDeliveryNotesDate = JsonConverters.fromJson(json['icDeliveryNotesDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'erpSystemId': erpSystemId,
        'posCode': posCode,
        'shipToPosCode': shipToPosCode,
        'deliveryNotesNumber': deliveryNotesNumber,
        'deliveryNotesDate': JsonConverters.toJson(deliveryNotesDate,'DateTime',context!),
        'deliveryNoteItems': JsonConverters.toJson(deliveryNoteItems,'List<DeliveryNoteItem>',context!),
        'icDeliveryNotesNumber': icDeliveryNotesNumber,
        'icDeliveryNotesDate': JsonConverters.toJson(icDeliveryNotesDate,'DateTime',context!)
    };

    getTypeName() => "DeliveryNote";
    TypeContext? context = _ctx;
}

class GetDeliveryNotePaginatedResponse implements IConvertible
{
    /**
    * Total Pages
    */
    // @ApiMember(Description="Total Pages", IsRequired=true)
    int? totalPages;

    /**
    * Total Results
    */
    // @ApiMember(Description="Total Results", IsRequired=true)
    int? totalResults;

    /**
    * Index of the result set returned
    */
    // @ApiMember(Description="Index of the result set returned", IsRequired=true)
    int? page;

    /**
    * Size of the result set returned
    */
    // @ApiMember(Description="Size of the result set returned", IsRequired=true)
    int? items;

    /**
    * List of delivery notes
    */
    // @ApiMember(Description="List of delivery notes", IsRequired=true)
    List<DeliveryNote>? elements;

    GetDeliveryNotePaginatedResponse({this.totalPages,this.totalResults,this.page,this.items,this.elements});
    GetDeliveryNotePaginatedResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        totalPages = json['totalPages'];
        totalResults = json['totalResults'];
        page = json['page'];
        items = json['items'];
        elements = JsonConverters.fromJson(json['elements'],'List<DeliveryNote>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'totalPages': totalPages,
        'totalResults': totalResults,
        'page': page,
        'items': items,
        'elements': JsonConverters.toJson(elements,'List<DeliveryNote>',context!)
    };

    getTypeName() => "GetDeliveryNotePaginatedResponse";
    TypeContext? context = _ctx;
}

class GetDeliveryNotePaginated implements IPagedRequest, IConvertible
{
    /**
    * Brand Trigram, e.g. CAR, IWC
    */
    // @ApiMember(Description="Brand Trigram, e.g. CAR, IWC", IsRequired=true)
    String? brand;

    /**
    * POS Legacy Codes, e.g. ES100:102048
    */
    // @ApiMember(Description="POS Legacy Codes, e.g. ES100:102048", IsRequired=true)
    List<String>? posCodes;

    /**
    * Delivery notes date to
    */
    // @ApiMember(Description="Delivery notes date to")
    DateTime? dateTo;

    /**
    * Delivery notes date from
    */
    // @ApiMember(Description="Delivery notes date from")
    DateTime? dateFrom;

    /**
    * Status possible values: 'I' for pending delivery notes, 'P' for accepted ones
    */
    // @ApiMember(Description="Status possible values: 'I' for pending delivery notes, 'P' for accepted ones")
    List<String>? status;

    /**
    * Provide value 'true' for getting only consignment delivery notes
    */
    // @ApiMember(Description="Provide value 'true' for getting only consignment delivery notes")
    bool? onlyConsignment;

    /**
    * Order type filter: “autorep“ for getting only delivery notes linked to an automatic replenishment trigger. It means the reason codes Auto Repl Standard (Z22) and Auto Repl Consignment (Z89) ; “manual“ for getting only delivery notes linked to a manual replenishment trigger. It means all the other reason codes.
    */
    // @ApiMember(Description="Order type filter: “autorep“ for getting only delivery notes linked to an automatic replenishment trigger. It means the reason codes Auto Repl Standard (Z22) and Auto Repl Consignment (Z89) ; “manual“ for getting only delivery notes linked to a manual replenishment trigger. It means all the other reason codes.")
    String? orderType;

    /**
    * Stock type filter: “consigned“ for consigned products only ; “asset“ for standard products only ; empty for both consignment & asset
    */
    // @ApiMember(Description="Stock type filter: “consigned“ for consigned products only ; “asset“ for standard products only ; empty for both consignment & asset")
    String? stockType;

    /**
    * Richemont Reference Code of the item
    */
    // @ApiMember(Description="Richemont Reference Code of the item")
    String? articleCode;

    /**
    * Serial Number of the item
    */
    // @ApiMember(Description="Serial Number of the item")
    String? serialNumber;

    /**
    * Delivery notes number for getting specific delivery, e.g. 7032150324
    */
    // @ApiMember(Description="Delivery notes number for getting specific delivery, e.g. 7032150324")
    int? deliveryNotesNumber;

    /**
    * IC Delivery notes number for getting specific delivery, e.g. 7032150324
    */
    // @ApiMember(Description="IC Delivery notes number for getting specific delivery, e.g. 7032150324")
    int? icDeliveryNotesNumber;

    /**
    * Purchase order number for getting specific deliveries by order number, e.g 207285022
    */
    // @ApiMember(Description="Purchase order number for getting specific deliveries by order number, e.g 207285022")
    int? erpOrderNumber;

    /**
    * Index of the result set returned
    */
    // @ApiMember(Description="Index of the result set returned")
    int? page;

    /**
    * Size of the result set returned
    */
    // @ApiMember(Description="Size of the result set returned")
    int? items;

    /**
    * Omit precise record count - save on performance
    */
    // @ApiMember(Description="Omit precise record count - save on performance")
    bool? noCount;

    /**
    * Values can be 'DateDESC', 'DateASC', 'PosASC', 'PosDESC'
    */
    // @ApiMember(Description="Values can be 'DateDESC', 'DateASC', 'PosASC', 'PosDESC'")
    String? sortBy;

    GetDeliveryNotePaginated({this.brand,this.posCodes,this.dateTo,this.dateFrom,this.status,this.onlyConsignment,this.orderType,this.stockType,this.articleCode,this.serialNumber,this.deliveryNotesNumber,this.icDeliveryNotesNumber,this.erpOrderNumber,this.page,this.items,this.noCount,this.sortBy});
    GetDeliveryNotePaginated.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        brand = json['brand'];
        posCodes = JsonConverters.fromJson(json['posCodes'],'List<String>',context!);
        dateTo = JsonConverters.fromJson(json['dateTo'],'DateTime',context!);
        dateFrom = JsonConverters.fromJson(json['dateFrom'],'DateTime',context!);
        status = JsonConverters.fromJson(json['status'],'List<String>',context!);
        onlyConsignment = json['onlyConsignment'];
        orderType = json['orderType'];
        stockType = json['stockType'];
        articleCode = json['articleCode'];
        serialNumber = json['serialNumber'];
        deliveryNotesNumber = json['deliveryNotesNumber'];
        icDeliveryNotesNumber = json['icDeliveryNotesNumber'];
        erpOrderNumber = json['erpOrderNumber'];
        page = json['page'];
        items = json['items'];
        noCount = json['noCount'];
        sortBy = json['sortBy'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'brand': brand,
        'posCodes': JsonConverters.toJson(posCodes,'List<String>',context!),
        'dateTo': JsonConverters.toJson(dateTo,'DateTime',context!),
        'dateFrom': JsonConverters.toJson(dateFrom,'DateTime',context!),
        'status': JsonConverters.toJson(status,'List<String>',context!),
        'onlyConsignment': onlyConsignment,
        'orderType': orderType,
        'stockType': stockType,
        'articleCode': articleCode,
        'serialNumber': serialNumber,
        'deliveryNotesNumber': deliveryNotesNumber,
        'icDeliveryNotesNumber': icDeliveryNotesNumber,
        'erpOrderNumber': erpOrderNumber,
        'page': page,
        'items': items,
        'noCount': noCount,
        'sortBy': sortBy
    };

    getTypeName() => "GetDeliveryNotePaginated";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: <String, TypeInfo> {
    'Amount2': TypeInfo(TypeOf.Class, create:() => Amount2()),
    'DeliveryNoteItem': TypeInfo(TypeOf.Class, create:() => DeliveryNoteItem()),
    'DeliveryNote': TypeInfo(TypeOf.Class, create:() => DeliveryNote()),
    'List<DeliveryNoteItem>': TypeInfo(TypeOf.Class, create:() => <DeliveryNoteItem>[]),
    'GetDeliveryNotePaginatedResponse': TypeInfo(TypeOf.Class, create:() => GetDeliveryNotePaginatedResponse()),
    'List<DeliveryNote>': TypeInfo(TypeOf.Class, create:() => <DeliveryNote>[]),
    'GetDeliveryNotePaginated': TypeInfo(TypeOf.Class, create:() => GetDeliveryNotePaginated()),
});

Dart GetDeliveryNotePaginated DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /deliveryNote/{brand} HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"totalPages":0,"totalResults":0,"page":0,"items":0}