NAV

<back to all web services

OrderClose

The following routes are available for this service:
POST/orders/close
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using NAV.ServiceModel;

namespace NAV.ServiceModel
{
    public partial class NAVOrderClose
    {
        public NAVOrderClose()
        {
            OrderSkus = new List<NAVOrderCloseSku>{};
            OrderPayments = new List<NAVOrderClosePayment>{};
            OrderFees = new List<NAVOrderCloseFee>{};
        }

        public virtual string ExternalOrderId { get; set; }
        public virtual string OrderTypeId { get; set; }
        public virtual DateTime? CreatedDateUTC { get; set; }
        public virtual DateTime? SubmittedDateUTC { get; set; }
        public virtual DateTime? CompletedDateUTC { get; set; }
        public virtual decimal? BeeNumberCustomer { get; set; }
        public virtual decimal? BeeNumberPayee { get; set; }
        public virtual string OrderSource { get; set; }
        public virtual string ShippingMethod { get; set; }
        public virtual string GiftMessage { get; set; }
        public virtual string GiftMessageFrom { get; set; }
        public virtual string GiftMessageTo { get; set; }
        public virtual string ShippingComment { get; set; }
        public virtual NAVOrderCloseAddress ShippingAddress { get; set; }
        public virtual List<NAVOrderCloseSku> OrderSkus { get; set; }
        public virtual List<NAVOrderClosePayment> OrderPayments { get; set; }
        public virtual List<NAVOrderCloseFee> OrderFees { get; set; }
        public virtual decimal? SubTotal { get; set; }
        public virtual decimal? OrderTotal { get; set; }
        public virtual decimal? ShippingCost { get; set; }
        public virtual decimal? Tax { get; set; }
        public virtual decimal? ShippingTax { get; set; }
        public virtual string ExternalDiscountReason { get; set; }
        public virtual decimal? PCLevel { get; set; }
        public virtual string AgentId { get; set; }
        public virtual decimal? NumberOfCustomersServed { get; set; }
        public virtual string VersionNumber { get; set; }
        public virtual string VersionYear { get; set; }
        public virtual string AdditionalCode { get; set; }
        public virtual string DiscountPercent { get; set; }
        public virtual string TaxRatePercent { get; set; }
        public virtual decimal? OrderWithinTimePeriod { get; set; }
        public virtual string TaxAreaCode { get; set; }
        public virtual string Geocode { get; set; }
        public virtual string FundraiserId { get; set; }
        public virtual string WarehouseCode { get; set; }
        public virtual string OriginalReshipExternalOrderId { get; set; }
        public virtual string ShippedVersionNumber { get; set; }
        public virtual string ShippedVersionYear { get; set; }
        public virtual string MasterOrderId { get; set; }
        public virtual string CouponValue { get; set; }
        public virtual string SalesCenterId { get; set; }
        public virtual string PremierLevel { get; set; }
        public virtual decimal? PCLevelCurrentCycle { get; set; }
        public virtual string PremierLevelCurrentCycle { get; set; }
        public virtual string EmailAddress { get; set; }
        public virtual string PhoneNumber { get; set; }
    }

    public partial class NAVOrderCloseAddress
    {
        public virtual string FirstName { get; set; }
        public virtual string LastName { get; set; }
        public virtual string AddressLine1 { get; set; }
        public virtual string AddressLine2 { get; set; }
        public virtual string AddressLine3 { get; set; }
        public virtual string AddressLine4 { get; set; }
        public virtual string AddressLine5 { get; set; }
        public virtual string City { get; set; }
        public virtual string StateProvinceCode { get; set; }
        public virtual string PostalCode { get; set; }
        public virtual string County { get; set; }
        public virtual string CountryCode { get; set; }
    }

    public partial class NAVOrderCloseFee
    {
        public virtual string FeeSystemKeyword { get; set; }
        public virtual decimal? FeeAmount { get; set; }
        public virtual decimal? TaxAmount { get; set; }
        public virtual decimal? FeeTotal { get; set; }
    }

    public partial class NAVOrderClosePayment
    {
        public virtual string PaymentType { get; set; }
        public virtual string PaymentIdentifier1 { get; set; }
        public virtual string PaymentIdentifier2 { get; set; }
        public virtual string PaymentIdentifier3 { get; set; }
        public virtual string PaymentIdentifier4 { get; set; }
        public virtual string PaymentIdentifier5 { get; set; }
        public virtual string PaymentToken { get; set; }
        public virtual DateTime? AuthorizationTime { get; set; }
        public virtual string AuthorizationCode { get; set; }
        public virtual string TransactionId { get; set; }
        public virtual decimal? AmountCharged { get; set; }
        public virtual NAVOrderCloseAddress BillingAddress { get; set; }
    }

    public partial class NAVOrderCloseShipment
    {
        public NAVOrderCloseShipment()
        {
            OrderShipmentSku = new List<NAVOrderCloseShipmentSku>{};
        }

        public virtual DateTime? ShipmentDateUTC { get; set; }
        public virtual string ShippingMethod { get; set; }
        public virtual string ShippingSpeed { get; set; }
        public virtual string TrackingNumber { get; set; }
        public virtual string ShipmentStatus { get; set; }
        public virtual string ShipmentDetails { get; set; }
        public virtual decimal? ShippingCost { get; set; }
        public virtual decimal? Charge { get; set; }
        public virtual decimal? Tax { get; set; }
        public virtual decimal? ActualShippingCost { get; set; }
        public virtual decimal? CartonWeight { get; set; }
        public virtual List<NAVOrderCloseShipmentSku> OrderShipmentSku { get; set; }
    }

    public partial class NAVOrderCloseShipmentSku
    {
        public virtual int? OrderLineNumber { get; set; }
        public virtual int? QuantityShipped { get; set; }
        public virtual string SubstituteSkuCode { get; set; }
    }

    public partial class NAVOrderCloseSku
    {
        public NAVOrderCloseSku()
        {
            OrderSkuComponents = new List<NAVOrderCloseSkuComponent>{};
        }

        public virtual string SkuCode { get; set; }
        public virtual int? OrderLineNumber { get; set; }
        public virtual int? Quantity { get; set; }
        public virtual bool? IsAutoShip { get; set; }
        public virtual List<NAVOrderCloseSkuComponent> OrderSkuComponents { get; set; }
        public virtual decimal? PricePaidPerUnit { get; set; }
        public virtual decimal? RetailPricePerUnit { get; set; }
        public virtual decimal? NetPrice { get; set; }
        public virtual decimal? NetSales { get; set; }
        public virtual decimal? SubmittedNetPrice { get; set; }
        public virtual decimal? SubmittedNetSales { get; set; }
        public virtual decimal? ManualDiscountAmount { get; set; }
        public virtual decimal? ItemDiscountPercent { get; set; }
        public virtual decimal? TaxAmount { get; set; }
        public virtual decimal? TaxPercentage { get; set; }
        public virtual decimal? CommissionableValueEarned { get; set; }
        public virtual decimal? QualifyingValueEarned { get; set; }
        public virtual decimal? QualifyingValueEarnedSubmitted { get; set; }
        public virtual decimal? OverrideCVEarned { get; set; }
        public virtual decimal? OverrideCVEarnedSubmitted { get; set; }
        public virtual decimal? OverrideQVEarned { get; set; }
        public virtual decimal? GroupCVEarned { get; set; }
        public virtual decimal? GroupQVEarned { get; set; }
        public virtual decimal? UplineCVEarned { get; set; }
        public virtual decimal? UplineQVEarned { get; set; }
        public virtual string VersionNumber { get; set; }
        public virtual string VersionYear { get; set; }
        public virtual string CouponCode { get; set; }
        public virtual string SubstituteIndicator { get; set; }
        public virtual string FulfillmentIndicator { get; set; }
        public virtual string SubstituteSkuCode { get; set; }
        public virtual string VehicleId { get; set; }
        public virtual string OfferId { get; set; }
        public virtual decimal? BuyingDiscount { get; set; }
        public virtual decimal? OriginalOrderQty { get; set; }
        public virtual string ParentSKUCode { get; set; }
        public virtual decimal? ClosedQuantity { get; set; }
    }

    public partial class NAVOrderCloseSkuComponent
    {
        public virtual int? ParentOrderLineNumber { get; set; }
        public virtual int? OrderLineNumber { get; set; }
        public virtual string SkuCode { get; set; }
        public virtual int? Quantity { get; set; }
        public virtual decimal? PricePaidPerUnit { get; set; }
        public virtual decimal? RetailPricePerUnit { get; set; }
        public virtual decimal? NetPrice { get; set; }
        public virtual decimal? TaxAmount { get; set; }
        public virtual decimal? TaxPercentage { get; set; }
        public virtual string VersionNumber { get; set; }
        public virtual string VersionYear { get; set; }
        public virtual string VehicleId { get; set; }
        public virtual string OfferId { get; set; }
    }

    public partial class OrderClose
        : IPost
    {
        public OrderClose()
        {
            Shipment = new List<NAVOrderCloseShipment>{};
        }

        public virtual NAVOrderClose OrderCloseData { get; set; }
        public virtual List<NAVOrderCloseShipment> Shipment { get; set; }
    }

    public partial class OrderCloseResponse
    {
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

}

C# OrderClose 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 /orders/close HTTP/1.1 
Host: extensions.avon.ca 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	orderCloseData: 
	{
		externalOrderId: String,
		orderTypeId: String,
		createdDateUTC: 0001-01-01T00:00:00,
		submittedDateUTC: 0001-01-01T00:00:00,
		completedDateUTC: 0001-01-01T00:00:00,
		beeNumberCustomer: 0,
		beeNumberPayee: 0,
		orderSource: String,
		shippingMethod: String,
		giftMessage: String,
		giftMessageFrom: String,
		giftMessageTo: String,
		shippingComment: String,
		shippingAddress: 
		{
			firstName: String,
			lastName: String,
			addressLine1: String,
			addressLine2: String,
			addressLine3: String,
			addressLine4: String,
			addressLine5: String,
			city: String,
			stateProvinceCode: String,
			postalCode: String,
			county: String,
			countryCode: String
		},
		orderSkus: 
		[
			{
				skuCode: String,
				orderLineNumber: 0,
				quantity: 0,
				isAutoShip: False,
				orderSkuComponents: 
				[
					{
						parentOrderLineNumber: 0,
						orderLineNumber: 0,
						skuCode: String,
						quantity: 0,
						pricePaidPerUnit: 0,
						retailPricePerUnit: 0,
						netPrice: 0,
						taxAmount: 0,
						taxPercentage: 0,
						versionNumber: String,
						versionYear: String,
						vehicleId: String,
						offerId: String
					}
				],
				pricePaidPerUnit: 0,
				retailPricePerUnit: 0,
				netPrice: 0,
				netSales: 0,
				submittedNetPrice: 0,
				submittedNetSales: 0,
				manualDiscountAmount: 0,
				itemDiscountPercent: 0,
				taxAmount: 0,
				taxPercentage: 0,
				commissionableValueEarned: 0,
				qualifyingValueEarned: 0,
				qualifyingValueEarnedSubmitted: 0,
				overrideCVEarned: 0,
				overrideCVEarnedSubmitted: 0,
				overrideQVEarned: 0,
				groupCVEarned: 0,
				groupQVEarned: 0,
				uplineCVEarned: 0,
				uplineQVEarned: 0,
				versionNumber: String,
				versionYear: String,
				couponCode: String,
				substituteIndicator: String,
				fulfillmentIndicator: String,
				substituteSkuCode: String,
				vehicleId: String,
				offerId: String,
				buyingDiscount: 0,
				originalOrderQty: 0,
				parentSKUCode: String,
				closedQuantity: 0
			}
		],
		orderPayments: 
		[
			{
				paymentType: String,
				paymentIdentifier1: String,
				paymentIdentifier2: String,
				paymentIdentifier3: String,
				paymentIdentifier4: String,
				paymentIdentifier5: String,
				paymentToken: String,
				authorizationTime: 0001-01-01T00:00:00,
				authorizationCode: String,
				transactionId: String,
				amountCharged: 0,
				billingAddress: 
				{
					firstName: String,
					lastName: String,
					addressLine1: String,
					addressLine2: String,
					addressLine3: String,
					addressLine4: String,
					addressLine5: String,
					city: String,
					stateProvinceCode: String,
					postalCode: String,
					county: String,
					countryCode: String
				}
			}
		],
		orderFees: 
		[
			{
				feeSystemKeyword: String,
				feeAmount: 0,
				taxAmount: 0,
				feeTotal: 0
			}
		],
		subTotal: 0,
		orderTotal: 0,
		shippingCost: 0,
		tax: 0,
		shippingTax: 0,
		externalDiscountReason: String,
		pcLevel: 0,
		agentId: String,
		numberOfCustomersServed: 0,
		versionNumber: String,
		versionYear: String,
		additionalCode: String,
		discountPercent: String,
		taxRatePercent: String,
		orderWithinTimePeriod: 0,
		taxAreaCode: String,
		geocode: String,
		fundraiserId: String,
		warehouseCode: String,
		originalReshipExternalOrderId: String,
		shippedVersionNumber: String,
		shippedVersionYear: String,
		masterOrderId: String,
		couponValue: String,
		salesCenterId: String,
		premierLevel: String,
		pcLevelCurrentCycle: 0,
		premierLevelCurrentCycle: String,
		emailAddress: String,
		phoneNumber: String
	},
	shipment: 
	[
		{
			shipmentDateUTC: 0001-01-01T00:00:00,
			shippingMethod: String,
			shippingSpeed: String,
			trackingNumber: String,
			shipmentStatus: String,
			shipmentDetails: String,
			shippingCost: 0,
			charge: 0,
			tax: 0,
			actualShippingCost: 0,
			cartonWeight: 0,
			orderShipmentSku: 
			[
				{
					orderLineNumber: 0,
					quantityShipped: 0,
					substituteSkuCode: String
				}
			]
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}