TicketUserServices

<back to all web services

WebshopOrderLedgerRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdminRequires the permission:ReadData
The following routes are available for this service:
GET/Webshop/Order/Ledger/{OrderId}
import 'package:servicestack/servicestack.dart';

class WebshopOrderLineSummary implements IConvertible
{
    int? id;
    int? productId;
    int? variantId;
    String? productName;
    String? size;
    String? color;
    int? unitPriceMinor;
    int? quantity;
    int? lineTotalMinor;
    String? status;
    int? payoutInfoId;
    String? payoutTag;

    WebshopOrderLineSummary({this.id,this.productId,this.variantId,this.productName,this.size,this.color,this.unitPriceMinor,this.quantity,this.lineTotalMinor,this.status,this.payoutInfoId,this.payoutTag});
    WebshopOrderLineSummary.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        productId = json['productId'];
        variantId = json['variantId'];
        productName = json['productName'];
        size = json['size'];
        color = json['color'];
        unitPriceMinor = json['unitPriceMinor'];
        quantity = json['quantity'];
        lineTotalMinor = json['lineTotalMinor'];
        status = json['status'];
        payoutInfoId = json['payoutInfoId'];
        payoutTag = json['payoutTag'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'productId': productId,
        'variantId': variantId,
        'productName': productName,
        'size': size,
        'color': color,
        'unitPriceMinor': unitPriceMinor,
        'quantity': quantity,
        'lineTotalMinor': lineTotalMinor,
        'status': status,
        'payoutInfoId': payoutInfoId,
        'payoutTag': payoutTag
    };

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

class WebshopOrderSummary implements IConvertible
{
    int? id;
    String? orderReference;
    int? ownerId;
    String? status;
    int? totalMinor;
    int? deliveryFeeMinor;
    int? totalDiscountMinor;
    String? currency;
    String? buyerName;
    String? buyerEmail;
    String? buyerPhone;
    String? address;
    String? city;
    String? zipCode;
    String? country;
    String? deliveryType;
    String? droppOrderId;
    String? droppLocationId;
    bool? needsDeliveryAttention;
    String? paymentMethodId;
    String? paymentId;
    String? paymentReference;
    String? discountCode;
    int? giftPaidMinor;
    DateTime? createdAt;
    DateTime? updatedAt;
    List<WebshopOrderLineSummary>? lines;

    WebshopOrderSummary({this.id,this.orderReference,this.ownerId,this.status,this.totalMinor,this.deliveryFeeMinor,this.totalDiscountMinor,this.currency,this.buyerName,this.buyerEmail,this.buyerPhone,this.address,this.city,this.zipCode,this.country,this.deliveryType,this.droppOrderId,this.droppLocationId,this.needsDeliveryAttention,this.paymentMethodId,this.paymentId,this.paymentReference,this.discountCode,this.giftPaidMinor,this.createdAt,this.updatedAt,this.lines});
    WebshopOrderSummary.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        orderReference = json['orderReference'];
        ownerId = json['ownerId'];
        status = json['status'];
        totalMinor = json['totalMinor'];
        deliveryFeeMinor = json['deliveryFeeMinor'];
        totalDiscountMinor = json['totalDiscountMinor'];
        currency = json['currency'];
        buyerName = json['buyerName'];
        buyerEmail = json['buyerEmail'];
        buyerPhone = json['buyerPhone'];
        address = json['address'];
        city = json['city'];
        zipCode = json['zipCode'];
        country = json['country'];
        deliveryType = json['deliveryType'];
        droppOrderId = json['droppOrderId'];
        droppLocationId = json['droppLocationId'];
        needsDeliveryAttention = json['needsDeliveryAttention'];
        paymentMethodId = json['paymentMethodId'];
        paymentId = json['paymentId'];
        paymentReference = json['paymentReference'];
        discountCode = json['discountCode'];
        giftPaidMinor = json['giftPaidMinor'];
        createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
        updatedAt = JsonConverters.fromJson(json['updatedAt'],'DateTime',context!);
        lines = JsonConverters.fromJson(json['lines'],'List<WebshopOrderLineSummary>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'orderReference': orderReference,
        'ownerId': ownerId,
        'status': status,
        'totalMinor': totalMinor,
        'deliveryFeeMinor': deliveryFeeMinor,
        'totalDiscountMinor': totalDiscountMinor,
        'currency': currency,
        'buyerName': buyerName,
        'buyerEmail': buyerEmail,
        'buyerPhone': buyerPhone,
        'address': address,
        'city': city,
        'zipCode': zipCode,
        'country': country,
        'deliveryType': deliveryType,
        'droppOrderId': droppOrderId,
        'droppLocationId': droppLocationId,
        'needsDeliveryAttention': needsDeliveryAttention,
        'paymentMethodId': paymentMethodId,
        'paymentId': paymentId,
        'paymentReference': paymentReference,
        'discountCode': discountCode,
        'giftPaidMinor': giftPaidMinor,
        'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
        'updatedAt': JsonConverters.toJson(updatedAt,'DateTime',context!),
        'lines': JsonConverters.toJson(lines,'List<WebshopOrderLineSummary>',context!)
    };

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

class WebshopOrderTransaction implements IConvertible
{
    int? id;
    int? orderId;
    // @StringLength(20)
    String? kind;

    int? amountMinor;
    // @StringLength(50)
    String? paymentReference;

    // @StringLength(300)
    String? note;

    // @StringLength(100)
    String? idempotencyKey;

    DateTime? createdAt;
    // @StringLength(100)
    String? createdBy;

    WebshopOrderTransaction({this.id,this.orderId,this.kind,this.amountMinor,this.paymentReference,this.note,this.idempotencyKey,this.createdAt,this.createdBy});
    WebshopOrderTransaction.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        orderId = json['orderId'];
        kind = json['kind'];
        amountMinor = json['amountMinor'];
        paymentReference = json['paymentReference'];
        note = json['note'];
        idempotencyKey = json['idempotencyKey'];
        createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
        createdBy = json['createdBy'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'orderId': orderId,
        'kind': kind,
        'amountMinor': amountMinor,
        'paymentReference': paymentReference,
        'note': note,
        'idempotencyKey': idempotencyKey,
        'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
        'createdBy': createdBy
    };

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

class WebshopOrderLedgerResult implements IConvertible
{
    WebshopOrderSummary? order;
    List<WebshopOrderTransaction>? transactions;
    int? statusCode;
    String? message;

    WebshopOrderLedgerResult({this.order,this.transactions,this.statusCode,this.message});
    WebshopOrderLedgerResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        order = JsonConverters.fromJson(json['order'],'WebshopOrderSummary',context!);
        transactions = JsonConverters.fromJson(json['transactions'],'List<WebshopOrderTransaction>',context!);
        statusCode = json['statusCode'];
        message = json['message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'order': JsonConverters.toJson(order,'WebshopOrderSummary',context!),
        'transactions': JsonConverters.toJson(transactions,'List<WebshopOrderTransaction>',context!),
        'statusCode': statusCode,
        'message': message
    };

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

class WebshopOrderLedgerRequest implements IConvertible
{
    int? orderId;
    int? ownerId;

    WebshopOrderLedgerRequest({this.orderId,this.ownerId});
    WebshopOrderLedgerRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        orderId = json['orderId'];
        ownerId = json['ownerId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'orderId': orderId,
        'ownerId': ownerId
    };

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

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'WebshopOrderLineSummary': TypeInfo(TypeOf.Class, create:() => WebshopOrderLineSummary()),
    'WebshopOrderSummary': TypeInfo(TypeOf.Class, create:() => WebshopOrderSummary()),
    'List<WebshopOrderLineSummary>': TypeInfo(TypeOf.Class, create:() => <WebshopOrderLineSummary>[]),
    'WebshopOrderTransaction': TypeInfo(TypeOf.Class, create:() => WebshopOrderTransaction()),
    'WebshopOrderLedgerResult': TypeInfo(TypeOf.Class, create:() => WebshopOrderLedgerResult()),
    'List<WebshopOrderTransaction>': TypeInfo(TypeOf.Class, create:() => <WebshopOrderTransaction>[]),
    'WebshopOrderLedgerRequest': TypeInfo(TypeOf.Class, create:() => WebshopOrderLedgerRequest()),
});

Dart WebshopOrderLedgerRequest 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 /Webshop/Order/Ledger/{OrderId} HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"order":{"id":0,"orderReference":"String","ownerId":0,"status":"String","totalMinor":0,"deliveryFeeMinor":0,"totalDiscountMinor":0,"currency":"String","buyerName":"String","buyerEmail":"String","buyerPhone":"String","address":"String","city":"String","zipCode":"String","country":"String","deliveryType":"String","droppOrderId":"String","droppLocationId":"String","needsDeliveryAttention":false,"paymentMethodId":"String","paymentId":"String","paymentReference":"String","discountCode":"String","giftPaidMinor":0,"createdAt":"0001-01-01T00:00:00.0000000","updatedAt":"0001-01-01T00:00:00.0000000","lines":[{"id":0,"productId":0,"variantId":0,"productName":"String","size":"String","color":"String","unitPriceMinor":0,"quantity":0,"lineTotalMinor":0,"status":"String","payoutInfoId":0,"payoutTag":"String"}]},"transactions":[{"id":0,"orderId":0,"kind":"String","amountMinor":0,"paymentReference":"String","note":"String","idempotencyKey":"String","createdAt":"0001-01-01T00:00:00.0000000","createdBy":"String"}],"statusCode":0,"message":"String"}