NAV

<back to all web services

OrderClose

The following routes are available for this service:
POST/orders/close
import 'package:servicestack/servicestack.dart';

class OrderCloseResponse implements IConvertible
{
    ResponseStatus? responseStatus;

    OrderCloseResponse({this.responseStatus});
    OrderCloseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

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

class NAVOrderCloseAddress implements IConvertible
{
    String? firstName;
    String? lastName;
    String? addressLine1;
    String? addressLine2;
    String? addressLine3;
    String? addressLine4;
    String? addressLine5;
    String? city;
    String? stateProvinceCode;
    String? postalCode;
    String? county;
    String? countryCode;

    NAVOrderCloseAddress({this.firstName,this.lastName,this.addressLine1,this.addressLine2,this.addressLine3,this.addressLine4,this.addressLine5,this.city,this.stateProvinceCode,this.postalCode,this.county,this.countryCode});
    NAVOrderCloseAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        firstName = json['firstName'];
        lastName = json['lastName'];
        addressLine1 = json['addressLine1'];
        addressLine2 = json['addressLine2'];
        addressLine3 = json['addressLine3'];
        addressLine4 = json['addressLine4'];
        addressLine5 = json['addressLine5'];
        city = json['city'];
        stateProvinceCode = json['stateProvinceCode'];
        postalCode = json['postalCode'];
        county = json['county'];
        countryCode = json['countryCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'firstName': firstName,
        'lastName': lastName,
        'addressLine1': addressLine1,
        'addressLine2': addressLine2,
        'addressLine3': addressLine3,
        'addressLine4': addressLine4,
        'addressLine5': addressLine5,
        'city': city,
        'stateProvinceCode': stateProvinceCode,
        'postalCode': postalCode,
        'county': county,
        'countryCode': countryCode
    };

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

class NAVOrderCloseSkuComponent implements IConvertible
{
    int? parentOrderLineNumber;
    int? orderLineNumber;
    String? skuCode;
    int? quantity;
    double? pricePaidPerUnit;
    double? retailPricePerUnit;
    double? netPrice;
    double? taxAmount;
    double? taxPercentage;
    String? versionNumber;
    String? versionYear;
    String? vehicleId;
    String? offerId;

    NAVOrderCloseSkuComponent({this.parentOrderLineNumber,this.orderLineNumber,this.skuCode,this.quantity,this.pricePaidPerUnit,this.retailPricePerUnit,this.netPrice,this.taxAmount,this.taxPercentage,this.versionNumber,this.versionYear,this.vehicleId,this.offerId});
    NAVOrderCloseSkuComponent.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        parentOrderLineNumber = json['parentOrderLineNumber'];
        orderLineNumber = json['orderLineNumber'];
        skuCode = json['skuCode'];
        quantity = json['quantity'];
        pricePaidPerUnit = JsonConverters.toDouble(json['pricePaidPerUnit']);
        retailPricePerUnit = JsonConverters.toDouble(json['retailPricePerUnit']);
        netPrice = JsonConverters.toDouble(json['netPrice']);
        taxAmount = JsonConverters.toDouble(json['taxAmount']);
        taxPercentage = JsonConverters.toDouble(json['taxPercentage']);
        versionNumber = json['versionNumber'];
        versionYear = json['versionYear'];
        vehicleId = json['vehicleId'];
        offerId = json['offerId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'parentOrderLineNumber': parentOrderLineNumber,
        'orderLineNumber': orderLineNumber,
        'skuCode': skuCode,
        'quantity': quantity,
        'pricePaidPerUnit': pricePaidPerUnit,
        'retailPricePerUnit': retailPricePerUnit,
        'netPrice': netPrice,
        'taxAmount': taxAmount,
        'taxPercentage': taxPercentage,
        'versionNumber': versionNumber,
        'versionYear': versionYear,
        'vehicleId': vehicleId,
        'offerId': offerId
    };

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

class NAVOrderCloseSku implements IConvertible
{
    String? skuCode;
    int? orderLineNumber;
    int? quantity;
    bool? isAutoShip;
    List<NAVOrderCloseSkuComponent>? orderSkuComponents;
    double? pricePaidPerUnit;
    double? retailPricePerUnit;
    double? netPrice;
    double? netSales;
    double? submittedNetPrice;
    double? submittedNetSales;
    double? manualDiscountAmount;
    double? itemDiscountPercent;
    double? taxAmount;
    double? taxPercentage;
    double? commissionableValueEarned;
    double? qualifyingValueEarned;
    double? qualifyingValueEarnedSubmitted;
    double? overrideCVEarned;
    double? overrideCVEarnedSubmitted;
    double? overrideQVEarned;
    double? groupCVEarned;
    double? groupQVEarned;
    double? uplineCVEarned;
    double? uplineQVEarned;
    String? versionNumber;
    String? versionYear;
    String? couponCode;
    String? substituteIndicator;
    String? fulfillmentIndicator;
    String? substituteSkuCode;
    String? vehicleId;
    String? offerId;
    double? buyingDiscount;
    double? originalOrderQty;
    String? parentSKUCode;
    double? closedQuantity;

    NAVOrderCloseSku({this.skuCode,this.orderLineNumber,this.quantity,this.isAutoShip,this.orderSkuComponents,this.pricePaidPerUnit,this.retailPricePerUnit,this.netPrice,this.netSales,this.submittedNetPrice,this.submittedNetSales,this.manualDiscountAmount,this.itemDiscountPercent,this.taxAmount,this.taxPercentage,this.commissionableValueEarned,this.qualifyingValueEarned,this.qualifyingValueEarnedSubmitted,this.overrideCVEarned,this.overrideCVEarnedSubmitted,this.overrideQVEarned,this.groupCVEarned,this.groupQVEarned,this.uplineCVEarned,this.uplineQVEarned,this.versionNumber,this.versionYear,this.couponCode,this.substituteIndicator,this.fulfillmentIndicator,this.substituteSkuCode,this.vehicleId,this.offerId,this.buyingDiscount,this.originalOrderQty,this.parentSKUCode,this.closedQuantity});
    NAVOrderCloseSku.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        skuCode = json['skuCode'];
        orderLineNumber = json['orderLineNumber'];
        quantity = json['quantity'];
        isAutoShip = json['isAutoShip'];
        orderSkuComponents = JsonConverters.fromJson(json['orderSkuComponents'],'List<NAVOrderCloseSkuComponent>',context!);
        pricePaidPerUnit = JsonConverters.toDouble(json['pricePaidPerUnit']);
        retailPricePerUnit = JsonConverters.toDouble(json['retailPricePerUnit']);
        netPrice = JsonConverters.toDouble(json['netPrice']);
        netSales = JsonConverters.toDouble(json['netSales']);
        submittedNetPrice = JsonConverters.toDouble(json['submittedNetPrice']);
        submittedNetSales = JsonConverters.toDouble(json['submittedNetSales']);
        manualDiscountAmount = JsonConverters.toDouble(json['manualDiscountAmount']);
        itemDiscountPercent = JsonConverters.toDouble(json['itemDiscountPercent']);
        taxAmount = JsonConverters.toDouble(json['taxAmount']);
        taxPercentage = JsonConverters.toDouble(json['taxPercentage']);
        commissionableValueEarned = JsonConverters.toDouble(json['commissionableValueEarned']);
        qualifyingValueEarned = JsonConverters.toDouble(json['qualifyingValueEarned']);
        qualifyingValueEarnedSubmitted = JsonConverters.toDouble(json['qualifyingValueEarnedSubmitted']);
        overrideCVEarned = JsonConverters.toDouble(json['overrideCVEarned']);
        overrideCVEarnedSubmitted = JsonConverters.toDouble(json['overrideCVEarnedSubmitted']);
        overrideQVEarned = JsonConverters.toDouble(json['overrideQVEarned']);
        groupCVEarned = JsonConverters.toDouble(json['groupCVEarned']);
        groupQVEarned = JsonConverters.toDouble(json['groupQVEarned']);
        uplineCVEarned = JsonConverters.toDouble(json['uplineCVEarned']);
        uplineQVEarned = JsonConverters.toDouble(json['uplineQVEarned']);
        versionNumber = json['versionNumber'];
        versionYear = json['versionYear'];
        couponCode = json['couponCode'];
        substituteIndicator = json['substituteIndicator'];
        fulfillmentIndicator = json['fulfillmentIndicator'];
        substituteSkuCode = json['substituteSkuCode'];
        vehicleId = json['vehicleId'];
        offerId = json['offerId'];
        buyingDiscount = JsonConverters.toDouble(json['buyingDiscount']);
        originalOrderQty = JsonConverters.toDouble(json['originalOrderQty']);
        parentSKUCode = json['parentSKUCode'];
        closedQuantity = JsonConverters.toDouble(json['closedQuantity']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'skuCode': skuCode,
        'orderLineNumber': orderLineNumber,
        'quantity': quantity,
        'isAutoShip': isAutoShip,
        'orderSkuComponents': JsonConverters.toJson(orderSkuComponents,'List<NAVOrderCloseSkuComponent>',context!),
        'pricePaidPerUnit': pricePaidPerUnit,
        'retailPricePerUnit': retailPricePerUnit,
        'netPrice': netPrice,
        'netSales': netSales,
        'submittedNetPrice': submittedNetPrice,
        'submittedNetSales': submittedNetSales,
        'manualDiscountAmount': manualDiscountAmount,
        'itemDiscountPercent': itemDiscountPercent,
        'taxAmount': taxAmount,
        'taxPercentage': taxPercentage,
        'commissionableValueEarned': commissionableValueEarned,
        'qualifyingValueEarned': qualifyingValueEarned,
        'qualifyingValueEarnedSubmitted': qualifyingValueEarnedSubmitted,
        'overrideCVEarned': overrideCVEarned,
        'overrideCVEarnedSubmitted': overrideCVEarnedSubmitted,
        'overrideQVEarned': overrideQVEarned,
        'groupCVEarned': groupCVEarned,
        'groupQVEarned': groupQVEarned,
        'uplineCVEarned': uplineCVEarned,
        'uplineQVEarned': uplineQVEarned,
        'versionNumber': versionNumber,
        'versionYear': versionYear,
        'couponCode': couponCode,
        'substituteIndicator': substituteIndicator,
        'fulfillmentIndicator': fulfillmentIndicator,
        'substituteSkuCode': substituteSkuCode,
        'vehicleId': vehicleId,
        'offerId': offerId,
        'buyingDiscount': buyingDiscount,
        'originalOrderQty': originalOrderQty,
        'parentSKUCode': parentSKUCode,
        'closedQuantity': closedQuantity
    };

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

class NAVOrderClosePayment implements IConvertible
{
    String? paymentType;
    String? paymentIdentifier1;
    String? paymentIdentifier2;
    String? paymentIdentifier3;
    String? paymentIdentifier4;
    String? paymentIdentifier5;
    String? paymentToken;
    DateTime? authorizationTime;
    String? authorizationCode;
    String? transactionId;
    double? amountCharged;
    NAVOrderCloseAddress? billingAddress;

    NAVOrderClosePayment({this.paymentType,this.paymentIdentifier1,this.paymentIdentifier2,this.paymentIdentifier3,this.paymentIdentifier4,this.paymentIdentifier5,this.paymentToken,this.authorizationTime,this.authorizationCode,this.transactionId,this.amountCharged,this.billingAddress});
    NAVOrderClosePayment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        paymentType = json['paymentType'];
        paymentIdentifier1 = json['paymentIdentifier1'];
        paymentIdentifier2 = json['paymentIdentifier2'];
        paymentIdentifier3 = json['paymentIdentifier3'];
        paymentIdentifier4 = json['paymentIdentifier4'];
        paymentIdentifier5 = json['paymentIdentifier5'];
        paymentToken = json['paymentToken'];
        authorizationTime = JsonConverters.fromJson(json['authorizationTime'],'DateTime',context!);
        authorizationCode = json['authorizationCode'];
        transactionId = json['transactionId'];
        amountCharged = JsonConverters.toDouble(json['amountCharged']);
        billingAddress = JsonConverters.fromJson(json['billingAddress'],'NAVOrderCloseAddress',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'paymentType': paymentType,
        'paymentIdentifier1': paymentIdentifier1,
        'paymentIdentifier2': paymentIdentifier2,
        'paymentIdentifier3': paymentIdentifier3,
        'paymentIdentifier4': paymentIdentifier4,
        'paymentIdentifier5': paymentIdentifier5,
        'paymentToken': paymentToken,
        'authorizationTime': JsonConverters.toJson(authorizationTime,'DateTime',context!),
        'authorizationCode': authorizationCode,
        'transactionId': transactionId,
        'amountCharged': amountCharged,
        'billingAddress': JsonConverters.toJson(billingAddress,'NAVOrderCloseAddress',context!)
    };

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

class NAVOrderCloseFee implements IConvertible
{
    String? feeSystemKeyword;
    double? feeAmount;
    double? taxAmount;
    double? feeTotal;

    NAVOrderCloseFee({this.feeSystemKeyword,this.feeAmount,this.taxAmount,this.feeTotal});
    NAVOrderCloseFee.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        feeSystemKeyword = json['feeSystemKeyword'];
        feeAmount = JsonConverters.toDouble(json['feeAmount']);
        taxAmount = JsonConverters.toDouble(json['taxAmount']);
        feeTotal = JsonConverters.toDouble(json['feeTotal']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'feeSystemKeyword': feeSystemKeyword,
        'feeAmount': feeAmount,
        'taxAmount': taxAmount,
        'feeTotal': feeTotal
    };

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

class NAVOrderClose implements IConvertible
{
    String? externalOrderId;
    String? orderTypeId;
    DateTime? createdDateUTC;
    DateTime? submittedDateUTC;
    DateTime? completedDateUTC;
    double? beeNumberCustomer;
    double? beeNumberPayee;
    String? orderSource;
    String? shippingMethod;
    String? giftMessage;
    String? giftMessageFrom;
    String? giftMessageTo;
    String? shippingComment;
    NAVOrderCloseAddress? shippingAddress;
    List<NAVOrderCloseSku>? orderSkus;
    List<NAVOrderClosePayment>? orderPayments;
    List<NAVOrderCloseFee>? orderFees;
    double? subTotal;
    double? orderTotal;
    double? shippingCost;
    double? tax;
    double? shippingTax;
    String? externalDiscountReason;
    double? pcLevel;
    String? agentId;
    double? numberOfCustomersServed;
    String? versionNumber;
    String? versionYear;
    String? additionalCode;
    String? discountPercent;
    String? taxRatePercent;
    double? orderWithinTimePeriod;
    String? taxAreaCode;
    String? geocode;
    String? fundraiserId;
    String? warehouseCode;
    String? originalReshipExternalOrderId;
    String? shippedVersionNumber;
    String? shippedVersionYear;
    String? masterOrderId;
    String? couponValue;
    String? salesCenterId;
    String? premierLevel;
    double? pcLevelCurrentCycle;
    String? premierLevelCurrentCycle;
    String? emailAddress;
    String? phoneNumber;

    NAVOrderClose({this.externalOrderId,this.orderTypeId,this.createdDateUTC,this.submittedDateUTC,this.completedDateUTC,this.beeNumberCustomer,this.beeNumberPayee,this.orderSource,this.shippingMethod,this.giftMessage,this.giftMessageFrom,this.giftMessageTo,this.shippingComment,this.shippingAddress,this.orderSkus,this.orderPayments,this.orderFees,this.subTotal,this.orderTotal,this.shippingCost,this.tax,this.shippingTax,this.externalDiscountReason,this.pcLevel,this.agentId,this.numberOfCustomersServed,this.versionNumber,this.versionYear,this.additionalCode,this.discountPercent,this.taxRatePercent,this.orderWithinTimePeriod,this.taxAreaCode,this.geocode,this.fundraiserId,this.warehouseCode,this.originalReshipExternalOrderId,this.shippedVersionNumber,this.shippedVersionYear,this.masterOrderId,this.couponValue,this.salesCenterId,this.premierLevel,this.pcLevelCurrentCycle,this.premierLevelCurrentCycle,this.emailAddress,this.phoneNumber});
    NAVOrderClose.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        externalOrderId = json['externalOrderId'];
        orderTypeId = json['orderTypeId'];
        createdDateUTC = JsonConverters.fromJson(json['createdDateUTC'],'DateTime',context!);
        submittedDateUTC = JsonConverters.fromJson(json['submittedDateUTC'],'DateTime',context!);
        completedDateUTC = JsonConverters.fromJson(json['completedDateUTC'],'DateTime',context!);
        beeNumberCustomer = JsonConverters.toDouble(json['beeNumberCustomer']);
        beeNumberPayee = JsonConverters.toDouble(json['beeNumberPayee']);
        orderSource = json['orderSource'];
        shippingMethod = json['shippingMethod'];
        giftMessage = json['giftMessage'];
        giftMessageFrom = json['giftMessageFrom'];
        giftMessageTo = json['giftMessageTo'];
        shippingComment = json['shippingComment'];
        shippingAddress = JsonConverters.fromJson(json['shippingAddress'],'NAVOrderCloseAddress',context!);
        orderSkus = JsonConverters.fromJson(json['orderSkus'],'List<NAVOrderCloseSku>',context!);
        orderPayments = JsonConverters.fromJson(json['orderPayments'],'List<NAVOrderClosePayment>',context!);
        orderFees = JsonConverters.fromJson(json['orderFees'],'List<NAVOrderCloseFee>',context!);
        subTotal = JsonConverters.toDouble(json['subTotal']);
        orderTotal = JsonConverters.toDouble(json['orderTotal']);
        shippingCost = JsonConverters.toDouble(json['shippingCost']);
        tax = JsonConverters.toDouble(json['tax']);
        shippingTax = JsonConverters.toDouble(json['shippingTax']);
        externalDiscountReason = json['externalDiscountReason'];
        pcLevel = JsonConverters.toDouble(json['pcLevel']);
        agentId = json['agentId'];
        numberOfCustomersServed = JsonConverters.toDouble(json['numberOfCustomersServed']);
        versionNumber = json['versionNumber'];
        versionYear = json['versionYear'];
        additionalCode = json['additionalCode'];
        discountPercent = json['discountPercent'];
        taxRatePercent = json['taxRatePercent'];
        orderWithinTimePeriod = JsonConverters.toDouble(json['orderWithinTimePeriod']);
        taxAreaCode = json['taxAreaCode'];
        geocode = json['geocode'];
        fundraiserId = json['fundraiserId'];
        warehouseCode = json['warehouseCode'];
        originalReshipExternalOrderId = json['originalReshipExternalOrderId'];
        shippedVersionNumber = json['shippedVersionNumber'];
        shippedVersionYear = json['shippedVersionYear'];
        masterOrderId = json['masterOrderId'];
        couponValue = json['couponValue'];
        salesCenterId = json['salesCenterId'];
        premierLevel = json['premierLevel'];
        pcLevelCurrentCycle = JsonConverters.toDouble(json['pcLevelCurrentCycle']);
        premierLevelCurrentCycle = json['premierLevelCurrentCycle'];
        emailAddress = json['emailAddress'];
        phoneNumber = json['phoneNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'externalOrderId': externalOrderId,
        'orderTypeId': orderTypeId,
        'createdDateUTC': JsonConverters.toJson(createdDateUTC,'DateTime',context!),
        'submittedDateUTC': JsonConverters.toJson(submittedDateUTC,'DateTime',context!),
        'completedDateUTC': JsonConverters.toJson(completedDateUTC,'DateTime',context!),
        'beeNumberCustomer': beeNumberCustomer,
        'beeNumberPayee': beeNumberPayee,
        'orderSource': orderSource,
        'shippingMethod': shippingMethod,
        'giftMessage': giftMessage,
        'giftMessageFrom': giftMessageFrom,
        'giftMessageTo': giftMessageTo,
        'shippingComment': shippingComment,
        'shippingAddress': JsonConverters.toJson(shippingAddress,'NAVOrderCloseAddress',context!),
        'orderSkus': JsonConverters.toJson(orderSkus,'List<NAVOrderCloseSku>',context!),
        'orderPayments': JsonConverters.toJson(orderPayments,'List<NAVOrderClosePayment>',context!),
        'orderFees': JsonConverters.toJson(orderFees,'List<NAVOrderCloseFee>',context!),
        'subTotal': subTotal,
        'orderTotal': orderTotal,
        'shippingCost': shippingCost,
        'tax': tax,
        'shippingTax': shippingTax,
        'externalDiscountReason': externalDiscountReason,
        'pcLevel': pcLevel,
        'agentId': agentId,
        'numberOfCustomersServed': numberOfCustomersServed,
        'versionNumber': versionNumber,
        'versionYear': versionYear,
        'additionalCode': additionalCode,
        'discountPercent': discountPercent,
        'taxRatePercent': taxRatePercent,
        'orderWithinTimePeriod': orderWithinTimePeriod,
        'taxAreaCode': taxAreaCode,
        'geocode': geocode,
        'fundraiserId': fundraiserId,
        'warehouseCode': warehouseCode,
        'originalReshipExternalOrderId': originalReshipExternalOrderId,
        'shippedVersionNumber': shippedVersionNumber,
        'shippedVersionYear': shippedVersionYear,
        'masterOrderId': masterOrderId,
        'couponValue': couponValue,
        'salesCenterId': salesCenterId,
        'premierLevel': premierLevel,
        'pcLevelCurrentCycle': pcLevelCurrentCycle,
        'premierLevelCurrentCycle': premierLevelCurrentCycle,
        'emailAddress': emailAddress,
        'phoneNumber': phoneNumber
    };

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

class NAVOrderCloseShipmentSku implements IConvertible
{
    int? orderLineNumber;
    int? quantityShipped;
    String? substituteSkuCode;

    NAVOrderCloseShipmentSku({this.orderLineNumber,this.quantityShipped,this.substituteSkuCode});
    NAVOrderCloseShipmentSku.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        orderLineNumber = json['orderLineNumber'];
        quantityShipped = json['quantityShipped'];
        substituteSkuCode = json['substituteSkuCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'orderLineNumber': orderLineNumber,
        'quantityShipped': quantityShipped,
        'substituteSkuCode': substituteSkuCode
    };

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

class NAVOrderCloseShipment implements IConvertible
{
    DateTime? shipmentDateUTC;
    String? shippingMethod;
    String? shippingSpeed;
    String? trackingNumber;
    String? shipmentStatus;
    String? shipmentDetails;
    double? shippingCost;
    double? charge;
    double? tax;
    double? actualShippingCost;
    double? cartonWeight;
    List<NAVOrderCloseShipmentSku>? orderShipmentSku;

    NAVOrderCloseShipment({this.shipmentDateUTC,this.shippingMethod,this.shippingSpeed,this.trackingNumber,this.shipmentStatus,this.shipmentDetails,this.shippingCost,this.charge,this.tax,this.actualShippingCost,this.cartonWeight,this.orderShipmentSku});
    NAVOrderCloseShipment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        shipmentDateUTC = JsonConverters.fromJson(json['shipmentDateUTC'],'DateTime',context!);
        shippingMethod = json['shippingMethod'];
        shippingSpeed = json['shippingSpeed'];
        trackingNumber = json['trackingNumber'];
        shipmentStatus = json['shipmentStatus'];
        shipmentDetails = json['shipmentDetails'];
        shippingCost = JsonConverters.toDouble(json['shippingCost']);
        charge = JsonConverters.toDouble(json['charge']);
        tax = JsonConverters.toDouble(json['tax']);
        actualShippingCost = JsonConverters.toDouble(json['actualShippingCost']);
        cartonWeight = JsonConverters.toDouble(json['cartonWeight']);
        orderShipmentSku = JsonConverters.fromJson(json['orderShipmentSku'],'List<NAVOrderCloseShipmentSku>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'shipmentDateUTC': JsonConverters.toJson(shipmentDateUTC,'DateTime',context!),
        'shippingMethod': shippingMethod,
        'shippingSpeed': shippingSpeed,
        'trackingNumber': trackingNumber,
        'shipmentStatus': shipmentStatus,
        'shipmentDetails': shipmentDetails,
        'shippingCost': shippingCost,
        'charge': charge,
        'tax': tax,
        'actualShippingCost': actualShippingCost,
        'cartonWeight': cartonWeight,
        'orderShipmentSku': JsonConverters.toJson(orderShipmentSku,'List<NAVOrderCloseShipmentSku>',context!)
    };

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

class OrderClose implements IPost, IConvertible
{
    NAVOrderClose? orderCloseData;
    List<NAVOrderCloseShipment>? shipment;

    OrderClose({this.orderCloseData,this.shipment});
    OrderClose.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        orderCloseData = JsonConverters.fromJson(json['orderCloseData'],'NAVOrderClose',context!);
        shipment = JsonConverters.fromJson(json['shipment'],'List<NAVOrderCloseShipment>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'orderCloseData': JsonConverters.toJson(orderCloseData,'NAVOrderClose',context!),
        'shipment': JsonConverters.toJson(shipment,'List<NAVOrderCloseShipment>',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'extensions.avon.ca', types: <String, TypeInfo> {
    'OrderCloseResponse': TypeInfo(TypeOf.Class, create:() => OrderCloseResponse()),
    'NAVOrderCloseAddress': TypeInfo(TypeOf.Class, create:() => NAVOrderCloseAddress()),
    'NAVOrderCloseSkuComponent': TypeInfo(TypeOf.Class, create:() => NAVOrderCloseSkuComponent()),
    'NAVOrderCloseSku': TypeInfo(TypeOf.Class, create:() => NAVOrderCloseSku()),
    'List<NAVOrderCloseSkuComponent>': TypeInfo(TypeOf.Class, create:() => <NAVOrderCloseSkuComponent>[]),
    'NAVOrderClosePayment': TypeInfo(TypeOf.Class, create:() => NAVOrderClosePayment()),
    'NAVOrderCloseFee': TypeInfo(TypeOf.Class, create:() => NAVOrderCloseFee()),
    'NAVOrderClose': TypeInfo(TypeOf.Class, create:() => NAVOrderClose()),
    'List<NAVOrderCloseSku>': TypeInfo(TypeOf.Class, create:() => <NAVOrderCloseSku>[]),
    'List<NAVOrderClosePayment>': TypeInfo(TypeOf.Class, create:() => <NAVOrderClosePayment>[]),
    'List<NAVOrderCloseFee>': TypeInfo(TypeOf.Class, create:() => <NAVOrderCloseFee>[]),
    'NAVOrderCloseShipmentSku': TypeInfo(TypeOf.Class, create:() => NAVOrderCloseShipmentSku()),
    'NAVOrderCloseShipment': TypeInfo(TypeOf.Class, create:() => NAVOrderCloseShipment()),
    'List<NAVOrderCloseShipmentSku>': TypeInfo(TypeOf.Class, create:() => <NAVOrderCloseShipmentSku>[]),
    'OrderClose': TypeInfo(TypeOf.Class, create:() => OrderClose()),
    'List<NAVOrderCloseShipment>': TypeInfo(TypeOf.Class, create:() => <NAVOrderCloseShipment>[]),
});

Dart OrderClose DTOs

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

HTTP + XML

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

POST /orders/close HTTP/1.1 
Host: extensions.avon.ca 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<OrderClose xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/NAV.ServiceModel">
  <OrderCloseData>
    <AdditionalCode>String</AdditionalCode>
    <AgentId>String</AgentId>
    <BeeNumberCustomer>0</BeeNumberCustomer>
    <BeeNumberPayee>0</BeeNumberPayee>
    <CompletedDateUTC>0001-01-01T00:00:00</CompletedDateUTC>
    <CouponValue>String</CouponValue>
    <CreatedDateUTC>0001-01-01T00:00:00</CreatedDateUTC>
    <DiscountPercent>String</DiscountPercent>
    <EmailAddress>String</EmailAddress>
    <ExternalDiscountReason>String</ExternalDiscountReason>
    <ExternalOrderId>String</ExternalOrderId>
    <FundraiserId>String</FundraiserId>
    <Geocode>String</Geocode>
    <GiftMessage>String</GiftMessage>
    <GiftMessageFrom>String</GiftMessageFrom>
    <GiftMessageTo>String</GiftMessageTo>
    <MasterOrderId>String</MasterOrderId>
    <NumberOfCustomersServed>0</NumberOfCustomersServed>
    <OrderFees>
      <NAVOrderCloseFee>
        <FeeAmount>0</FeeAmount>
        <FeeSystemKeyword>String</FeeSystemKeyword>
        <FeeTotal>0</FeeTotal>
        <TaxAmount>0</TaxAmount>
      </NAVOrderCloseFee>
    </OrderFees>
    <OrderPayments>
      <NAVOrderClosePayment>
        <AmountCharged>0</AmountCharged>
        <AuthorizationCode>String</AuthorizationCode>
        <AuthorizationTime>0001-01-01T00:00:00</AuthorizationTime>
        <BillingAddress>
          <AddressLine1>String</AddressLine1>
          <AddressLine2>String</AddressLine2>
          <AddressLine3>String</AddressLine3>
          <AddressLine4>String</AddressLine4>
          <AddressLine5>String</AddressLine5>
          <City>String</City>
          <CountryCode>String</CountryCode>
          <County>String</County>
          <FirstName>String</FirstName>
          <LastName>String</LastName>
          <PostalCode>String</PostalCode>
          <StateProvinceCode>String</StateProvinceCode>
        </BillingAddress>
        <PaymentIdentifier1>String</PaymentIdentifier1>
        <PaymentIdentifier2>String</PaymentIdentifier2>
        <PaymentIdentifier3>String</PaymentIdentifier3>
        <PaymentIdentifier4>String</PaymentIdentifier4>
        <PaymentIdentifier5>String</PaymentIdentifier5>
        <PaymentToken>String</PaymentToken>
        <PaymentType>String</PaymentType>
        <TransactionId>String</TransactionId>
      </NAVOrderClosePayment>
    </OrderPayments>
    <OrderSkus>
      <NAVOrderCloseSku>
        <BuyingDiscount>0</BuyingDiscount>
        <ClosedQuantity>0</ClosedQuantity>
        <CommissionableValueEarned>0</CommissionableValueEarned>
        <CouponCode>String</CouponCode>
        <FulfillmentIndicator>String</FulfillmentIndicator>
        <GroupCVEarned>0</GroupCVEarned>
        <GroupQVEarned>0</GroupQVEarned>
        <IsAutoShip>false</IsAutoShip>
        <ItemDiscountPercent>0</ItemDiscountPercent>
        <ManualDiscountAmount>0</ManualDiscountAmount>
        <NetPrice>0</NetPrice>
        <NetSales>0</NetSales>
        <OfferId>String</OfferId>
        <OrderLineNumber>0</OrderLineNumber>
        <OrderSkuComponents>
          <NAVOrderCloseSkuComponent>
            <NetPrice>0</NetPrice>
            <OfferId>String</OfferId>
            <OrderLineNumber>0</OrderLineNumber>
            <ParentOrderLineNumber>0</ParentOrderLineNumber>
            <PricePaidPerUnit>0</PricePaidPerUnit>
            <Quantity>0</Quantity>
            <RetailPricePerUnit>0</RetailPricePerUnit>
            <SkuCode>String</SkuCode>
            <TaxAmount>0</TaxAmount>
            <TaxPercentage>0</TaxPercentage>
            <VehicleId>String</VehicleId>
            <VersionNumber>String</VersionNumber>
            <VersionYear>String</VersionYear>
          </NAVOrderCloseSkuComponent>
        </OrderSkuComponents>
        <OriginalOrderQty>0</OriginalOrderQty>
        <OverrideCVEarned>0</OverrideCVEarned>
        <OverrideCVEarnedSubmitted>0</OverrideCVEarnedSubmitted>
        <OverrideQVEarned>0</OverrideQVEarned>
        <ParentSKUCode>String</ParentSKUCode>
        <PricePaidPerUnit>0</PricePaidPerUnit>
        <QualifyingValueEarned>0</QualifyingValueEarned>
        <QualifyingValueEarnedSubmitted>0</QualifyingValueEarnedSubmitted>
        <Quantity>0</Quantity>
        <RetailPricePerUnit>0</RetailPricePerUnit>
        <SkuCode>String</SkuCode>
        <SubmittedNetPrice>0</SubmittedNetPrice>
        <SubmittedNetSales>0</SubmittedNetSales>
        <SubstituteIndicator>String</SubstituteIndicator>
        <SubstituteSkuCode>String</SubstituteSkuCode>
        <TaxAmount>0</TaxAmount>
        <TaxPercentage>0</TaxPercentage>
        <UplineCVEarned>0</UplineCVEarned>
        <UplineQVEarned>0</UplineQVEarned>
        <VehicleId>String</VehicleId>
        <VersionNumber>String</VersionNumber>
        <VersionYear>String</VersionYear>
      </NAVOrderCloseSku>
    </OrderSkus>
    <OrderSource>String</OrderSource>
    <OrderTotal>0</OrderTotal>
    <OrderTypeId>String</OrderTypeId>
    <OrderWithinTimePeriod>0</OrderWithinTimePeriod>
    <OriginalReshipExternalOrderId>String</OriginalReshipExternalOrderId>
    <PCLevel>0</PCLevel>
    <PCLevelCurrentCycle>0</PCLevelCurrentCycle>
    <PhoneNumber>String</PhoneNumber>
    <PremierLevel>String</PremierLevel>
    <PremierLevelCurrentCycle>String</PremierLevelCurrentCycle>
    <SalesCenterId>String</SalesCenterId>
    <ShippedVersionNumber>String</ShippedVersionNumber>
    <ShippedVersionYear>String</ShippedVersionYear>
    <ShippingAddress>
      <AddressLine1>String</AddressLine1>
      <AddressLine2>String</AddressLine2>
      <AddressLine3>String</AddressLine3>
      <AddressLine4>String</AddressLine4>
      <AddressLine5>String</AddressLine5>
      <City>String</City>
      <CountryCode>String</CountryCode>
      <County>String</County>
      <FirstName>String</FirstName>
      <LastName>String</LastName>
      <PostalCode>String</PostalCode>
      <StateProvinceCode>String</StateProvinceCode>
    </ShippingAddress>
    <ShippingComment>String</ShippingComment>
    <ShippingCost>0</ShippingCost>
    <ShippingMethod>String</ShippingMethod>
    <ShippingTax>0</ShippingTax>
    <SubTotal>0</SubTotal>
    <SubmittedDateUTC>0001-01-01T00:00:00</SubmittedDateUTC>
    <Tax>0</Tax>
    <TaxAreaCode>String</TaxAreaCode>
    <TaxRatePercent>String</TaxRatePercent>
    <VersionNumber>String</VersionNumber>
    <VersionYear>String</VersionYear>
    <WarehouseCode>String</WarehouseCode>
  </OrderCloseData>
  <Shipment>
    <NAVOrderCloseShipment>
      <ActualShippingCost>0</ActualShippingCost>
      <CartonWeight>0</CartonWeight>
      <Charge>0</Charge>
      <OrderShipmentSku>
        <NAVOrderCloseShipmentSku>
          <OrderLineNumber>0</OrderLineNumber>
          <QuantityShipped>0</QuantityShipped>
          <SubstituteSkuCode>String</SubstituteSkuCode>
        </NAVOrderCloseShipmentSku>
      </OrderShipmentSku>
      <ShipmentDateUTC>0001-01-01T00:00:00</ShipmentDateUTC>
      <ShipmentDetails>String</ShipmentDetails>
      <ShipmentStatus>String</ShipmentStatus>
      <ShippingCost>0</ShippingCost>
      <ShippingMethod>String</ShippingMethod>
      <ShippingSpeed>String</ShippingSpeed>
      <Tax>0</Tax>
      <TrackingNumber>String</TrackingNumber>
    </NAVOrderCloseShipment>
  </Shipment>
</OrderClose>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<OrderCloseResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/NAV.ServiceModel">
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</OrderCloseResponse>