TicketUserServices

<back to all web services

WebshopOrderPurchaseRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileAppRequired permission:Tickets.Add
The following routes are available for this service:
POST/Webshop/Order/Purchase
import 'package:servicestack/servicestack.dart';

class LocalizedMessage implements IConvertible
{
    String? Is;
    String? en;

    LocalizedMessage({this.Is,this.en});
    LocalizedMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Is = json['is'];
        en = json['en'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'is': Is,
        'en': en
    };

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

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 WebshopOrderResult implements IConvertible
{
    bool? success;
    String? reason;
    LocalizedMessage? message;
    String? orderReference;
    WebshopOrderSummary? order;
    int? statusCode;

    WebshopOrderResult({this.success,this.reason,this.message,this.orderReference,this.order,this.statusCode});
    WebshopOrderResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'success': success,
        'reason': reason,
        'message': JsonConverters.toJson(message,'LocalizedMessage',context!),
        'orderReference': orderReference,
        'order': JsonConverters.toJson(order,'WebshopOrderSummary',context!),
        'statusCode': statusCode
    };

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

class WebshopPurchaseLine implements IConvertible
{
    int? variantId;
    int? quantity;

    WebshopPurchaseLine({this.variantId,this.quantity});
    WebshopPurchaseLine.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'variantId': variantId,
        'quantity': quantity
    };

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

class OrderTender implements IConvertible
{
    String? kind;
    String? code;
    int? amountMinor;
    String? idempotencyKey;
    int? holdId;
    int? appliedMinor;

    OrderTender({this.kind,this.code,this.amountMinor,this.idempotencyKey,this.holdId,this.appliedMinor});
    OrderTender.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        kind = json['kind'];
        code = json['code'];
        amountMinor = json['amountMinor'];
        idempotencyKey = json['idempotencyKey'];
        holdId = json['holdId'];
        appliedMinor = json['appliedMinor'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'kind': kind,
        'code': code,
        'amountMinor': amountMinor,
        'idempotencyKey': idempotencyKey,
        'holdId': holdId,
        'appliedMinor': appliedMinor
    };

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

class PaymentMethodCreditCardInfo implements IConvertible
{
    String? paymentType;
    String? token;
    String? pan;
    String? expYear;
    String? expMonth;
    String? cvc;

    PaymentMethodCreditCardInfo({this.paymentType,this.token,this.pan,this.expYear,this.expMonth,this.cvc});
    PaymentMethodCreditCardInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        paymentType = json['paymentType'];
        token = json['token'];
        pan = json['pan'];
        expYear = json['expYear'];
        expMonth = json['expMonth'];
        cvc = json['cvc'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'paymentType': paymentType,
        'token': token,
        'pan': pan,
        'expYear': expYear,
        'expMonth': expMonth,
        'cvc': cvc
    };

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

class PaymentRequestCreditCard implements IConvertible
{
    PaymentMethodCreditCardInfo? paymentMethod;
    double? amount;
    String? currency;
    String? orderId;
    DateTime? transActionDate;
    bool? saveCardToToken;

    PaymentRequestCreditCard({this.paymentMethod,this.amount,this.currency,this.orderId,this.transActionDate,this.saveCardToToken});
    PaymentRequestCreditCard.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        paymentMethod = JsonConverters.fromJson(json['paymentMethod'],'PaymentMethodCreditCardInfo',context!);
        amount = JsonConverters.toDouble(json['amount']);
        currency = json['currency'];
        orderId = json['orderId'];
        transActionDate = JsonConverters.fromJson(json['transActionDate'],'DateTime',context!);
        saveCardToToken = json['saveCardToToken'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'paymentMethod': JsonConverters.toJson(paymentMethod,'PaymentMethodCreditCardInfo',context!),
        'amount': amount,
        'currency': currency,
        'orderId': orderId,
        'transActionDate': JsonConverters.toJson(transActionDate,'DateTime',context!),
        'saveCardToToken': saveCardToToken
    };

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

class Borgun3DFinalPaymentMethodInfo implements IConvertible
{
    String? paymentType;
    String? token;
    String? virtualNumber;
    String? expYear;
    String? expMonth;
    String? panLastFour;

    Borgun3DFinalPaymentMethodInfo({this.paymentType,this.token,this.virtualNumber,this.expYear,this.expMonth,this.panLastFour});
    Borgun3DFinalPaymentMethodInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        paymentType = json['paymentType'];
        token = json['token'];
        virtualNumber = json['virtualNumber'];
        expYear = json['expYear'];
        expMonth = json['expMonth'];
        panLastFour = json['panLastFour'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'paymentType': paymentType,
        'token': token,
        'virtualNumber': virtualNumber,
        'expYear': expYear,
        'expMonth': expMonth,
        'panLastFour': panLastFour
    };

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

class Borgun3DFinal3DSecureInfo implements IConvertible
{
    String? dataType;
    String? mpiToken;

    Borgun3DFinal3DSecureInfo({this.dataType,this.mpiToken});
    Borgun3DFinal3DSecureInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'dataType': dataType,
        'mpiToken': mpiToken
    };

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

class Borgun3DFinalRequest implements IConvertible
{
    String? transactionType;
    int? amount;
    String? currency;
    DateTime? transactionDate;
    String? orderId;
    Borgun3DFinalPaymentMethodInfo? paymentMethod;
    Borgun3DFinal3DSecureInfo? threeDSecure;

    Borgun3DFinalRequest({this.transactionType,this.amount,this.currency,this.transactionDate,this.orderId,this.paymentMethod,this.threeDSecure});
    Borgun3DFinalRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        transactionType = json['transactionType'];
        amount = json['amount'];
        currency = json['currency'];
        transactionDate = JsonConverters.fromJson(json['transactionDate'],'DateTime',context!);
        orderId = json['orderId'];
        paymentMethod = JsonConverters.fromJson(json['paymentMethod'],'Borgun3DFinalPaymentMethodInfo',context!);
        threeDSecure = JsonConverters.fromJson(json['threeDSecure'],'Borgun3DFinal3DSecureInfo',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'transactionType': transactionType,
        'amount': amount,
        'currency': currency,
        'transactionDate': JsonConverters.toJson(transactionDate,'DateTime',context!),
        'orderId': orderId,
        'paymentMethod': JsonConverters.toJson(paymentMethod,'Borgun3DFinalPaymentMethodInfo',context!),
        'threeDSecure': JsonConverters.toJson(threeDSecure,'Borgun3DFinal3DSecureInfo',context!)
    };

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

class BorgunApplePayThreeDSecureInfo implements IConvertible
{
    String? dataType;
    String? securityLevelInd;
    String? cavv;
    String? ucaf;

    BorgunApplePayThreeDSecureInfo({this.dataType,this.securityLevelInd,this.cavv,this.ucaf});
    BorgunApplePayThreeDSecureInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        dataType = json['dataType'];
        securityLevelInd = json['securityLevelInd'];
        cavv = json['cavv'];
        ucaf = json['ucaf'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'dataType': dataType,
        'securityLevelInd': securityLevelInd,
        'cavv': cavv,
        'ucaf': ucaf
    };

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

class BorgunApplePayFinalInfo implements IConvertible
{
    String? orderId;
    BorgunApplePayThreeDSecureInfo? threeDSecure;

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

    fromMap(Map<String, dynamic> json) {
        orderId = json['orderId'];
        threeDSecure = JsonConverters.fromJson(json['threeDSecure'],'BorgunApplePayThreeDSecureInfo',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'orderId': orderId,
        'threeDSecure': JsonConverters.toJson(threeDSecure,'BorgunApplePayThreeDSecureInfo',context!)
    };

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

class WebshopOrderPurchaseRequest implements IConvertible
{
    int? ownerId;
    String? externalId;
    List<WebshopPurchaseLine>? lines;
    String? buyerName;
    String? buyerEmail;
    String? buyerPhone;
    String? deliveryType;
    String? droppLocationId;
    String? address;
    String? city;
    String? zipCode;
    String? country;
    String? idempotencyKey;
    String? discountCode;
    List<OrderTender>? tenders;
    String? paymentMethodId;
    String? paymentId;
    PaymentRequestCreditCard? cardInfo;
    Borgun3DFinalRequest? borgun3DFinalInfo;
    BorgunApplePayFinalInfo? applePayInfo;

    WebshopOrderPurchaseRequest({this.ownerId,this.externalId,this.lines,this.buyerName,this.buyerEmail,this.buyerPhone,this.deliveryType,this.droppLocationId,this.address,this.city,this.zipCode,this.country,this.idempotencyKey,this.discountCode,this.tenders,this.paymentMethodId,this.paymentId,this.cardInfo,this.borgun3DFinalInfo,this.applePayInfo});
    WebshopOrderPurchaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ownerId = json['ownerId'];
        externalId = json['externalId'];
        lines = JsonConverters.fromJson(json['lines'],'List<WebshopPurchaseLine>',context!);
        buyerName = json['buyerName'];
        buyerEmail = json['buyerEmail'];
        buyerPhone = json['buyerPhone'];
        deliveryType = json['deliveryType'];
        droppLocationId = json['droppLocationId'];
        address = json['address'];
        city = json['city'];
        zipCode = json['zipCode'];
        country = json['country'];
        idempotencyKey = json['idempotencyKey'];
        discountCode = json['discountCode'];
        tenders = JsonConverters.fromJson(json['tenders'],'List<OrderTender>',context!);
        paymentMethodId = json['paymentMethodId'];
        paymentId = json['paymentId'];
        cardInfo = JsonConverters.fromJson(json['cardInfo'],'PaymentRequestCreditCard',context!);
        borgun3DFinalInfo = JsonConverters.fromJson(json['borgun3DFinalInfo'],'Borgun3DFinalRequest',context!);
        applePayInfo = JsonConverters.fromJson(json['applePayInfo'],'BorgunApplePayFinalInfo',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ownerId': ownerId,
        'externalId': externalId,
        'lines': JsonConverters.toJson(lines,'List<WebshopPurchaseLine>',context!),
        'buyerName': buyerName,
        'buyerEmail': buyerEmail,
        'buyerPhone': buyerPhone,
        'deliveryType': deliveryType,
        'droppLocationId': droppLocationId,
        'address': address,
        'city': city,
        'zipCode': zipCode,
        'country': country,
        'idempotencyKey': idempotencyKey,
        'discountCode': discountCode,
        'tenders': JsonConverters.toJson(tenders,'List<OrderTender>',context!),
        'paymentMethodId': paymentMethodId,
        'paymentId': paymentId,
        'cardInfo': JsonConverters.toJson(cardInfo,'PaymentRequestCreditCard',context!),
        'borgun3DFinalInfo': JsonConverters.toJson(borgun3DFinalInfo,'Borgun3DFinalRequest',context!),
        'applePayInfo': JsonConverters.toJson(applePayInfo,'BorgunApplePayFinalInfo',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'LocalizedMessage': TypeInfo(TypeOf.Class, create:() => LocalizedMessage()),
    'WebshopOrderLineSummary': TypeInfo(TypeOf.Class, create:() => WebshopOrderLineSummary()),
    'WebshopOrderSummary': TypeInfo(TypeOf.Class, create:() => WebshopOrderSummary()),
    'List<WebshopOrderLineSummary>': TypeInfo(TypeOf.Class, create:() => <WebshopOrderLineSummary>[]),
    'WebshopOrderResult': TypeInfo(TypeOf.Class, create:() => WebshopOrderResult()),
    'WebshopPurchaseLine': TypeInfo(TypeOf.Class, create:() => WebshopPurchaseLine()),
    'OrderTender': TypeInfo(TypeOf.Class, create:() => OrderTender()),
    'PaymentMethodCreditCardInfo': TypeInfo(TypeOf.Class, create:() => PaymentMethodCreditCardInfo()),
    'PaymentRequestCreditCard': TypeInfo(TypeOf.Class, create:() => PaymentRequestCreditCard()),
    'Borgun3DFinalPaymentMethodInfo': TypeInfo(TypeOf.Class, create:() => Borgun3DFinalPaymentMethodInfo()),
    'Borgun3DFinal3DSecureInfo': TypeInfo(TypeOf.Class, create:() => Borgun3DFinal3DSecureInfo()),
    'Borgun3DFinalRequest': TypeInfo(TypeOf.Class, create:() => Borgun3DFinalRequest()),
    'BorgunApplePayThreeDSecureInfo': TypeInfo(TypeOf.Class, create:() => BorgunApplePayThreeDSecureInfo()),
    'BorgunApplePayFinalInfo': TypeInfo(TypeOf.Class, create:() => BorgunApplePayFinalInfo()),
    'WebshopOrderPurchaseRequest': TypeInfo(TypeOf.Class, create:() => WebshopOrderPurchaseRequest()),
    'List<WebshopPurchaseLine>': TypeInfo(TypeOf.Class, create:() => <WebshopPurchaseLine>[]),
    'List<OrderTender>': TypeInfo(TypeOf.Class, create:() => <OrderTender>[]),
});

Dart WebshopOrderPurchaseRequest DTOs

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

HTTP + JSV

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

POST /Webshop/Order/Purchase HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ownerId: 0,
	externalId: String,
	lines: 
	[
		{
			variantId: 0,
			quantity: 0
		}
	],
	buyerName: String,
	buyerEmail: String,
	buyerPhone: String,
	deliveryType: String,
	droppLocationId: String,
	address: String,
	city: String,
	zipCode: String,
	country: String,
	idempotencyKey: String,
	discountCode: String,
	tenders: 
	[
		{
			kind: String,
			code: String,
			amountMinor: 0,
			idempotencyKey: String,
			holdId: 0,
			appliedMinor: 0
		}
	],
	paymentMethodId: String,
	paymentId: String,
	cardInfo: 
	{
		paymentMethod: 
		{
			paymentType: String,
			token: String,
			pan: String,
			expYear: String,
			expMonth: String,
			cvc: String
		},
		amount: 0,
		currency: String,
		orderId: String,
		transActionDate: 0001-01-01,
		saveCardToToken: False
	},
	borgun3DFinalInfo: 
	{
		transactionType: String,
		amount: 0,
		currency: String,
		transactionDate: 0001-01-01,
		orderId: String,
		paymentMethod: 
		{
			paymentType: String,
			token: String,
			virtualNumber: String,
			expYear: String,
			expMonth: String,
			panLastFour: String
		},
		threeDSecure: 
		{
			dataType: String,
			mpiToken: String
		}
	},
	applePayInfo: 
	{
		orderId: String,
		threeDSecure: 
		{
			dataType: String,
			securityLevelInd: String,
			cavv: String,
			ucaf: String
		}
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	success: False,
	reason: String,
	message: 
	{
		is: String,
		en: String
	},
	orderReference: String,
	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-01,
		updatedAt: 0001-01-01,
		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
			}
		]
	},
	statusCode: 0
}