NAV

<back to all web services

OrderClose

The following routes are available for this service:
POST/orders/close
namespace NAV.ServiceModel

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type OrderCloseResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type NAVOrderCloseAddress() = 
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val AddressLine1:String = null with get,set
        member val AddressLine2:String = null with get,set
        member val AddressLine3:String = null with get,set
        member val AddressLine4:String = null with get,set
        member val AddressLine5:String = null with get,set
        member val City:String = null with get,set
        member val StateProvinceCode:String = null with get,set
        member val PostalCode:String = null with get,set
        member val County:String = null with get,set
        member val CountryCode:String = null with get,set

    [<AllowNullLiteral>]
    type NAVOrderCloseSkuComponent() = 
        member val ParentOrderLineNumber:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val OrderLineNumber:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SkuCode:String = null with get,set
        member val Quantity:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val PricePaidPerUnit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RetailPricePerUnit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val NetPrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TaxAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TaxPercentage:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val VersionNumber:String = null with get,set
        member val VersionYear:String = null with get,set
        member val VehicleId:String = null with get,set
        member val OfferId:String = null with get,set

    [<AllowNullLiteral>]
    type NAVOrderCloseSku() = 
        member val SkuCode:String = null with get,set
        member val OrderLineNumber:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Quantity:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val IsAutoShip:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val OrderSkuComponents:ResizeArray<NAVOrderCloseSkuComponent> = new ResizeArray<NAVOrderCloseSkuComponent>() with get,set
        member val PricePaidPerUnit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RetailPricePerUnit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val NetPrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val NetSales:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val SubmittedNetPrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val SubmittedNetSales:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ManualDiscountAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ItemDiscountPercent:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TaxAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TaxPercentage:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val CommissionableValueEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val QualifyingValueEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val QualifyingValueEarnedSubmitted:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OverrideCVEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OverrideCVEarnedSubmitted:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OverrideQVEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val GroupCVEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val GroupQVEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val UplineCVEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val UplineQVEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val VersionNumber:String = null with get,set
        member val VersionYear:String = null with get,set
        member val CouponCode:String = null with get,set
        member val SubstituteIndicator:String = null with get,set
        member val FulfillmentIndicator:String = null with get,set
        member val SubstituteSkuCode:String = null with get,set
        member val VehicleId:String = null with get,set
        member val OfferId:String = null with get,set
        member val BuyingDiscount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OriginalOrderQty:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ParentSKUCode:String = null with get,set
        member val ClosedQuantity:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type NAVOrderClosePayment() = 
        member val PaymentType:String = null with get,set
        member val PaymentIdentifier1:String = null with get,set
        member val PaymentIdentifier2:String = null with get,set
        member val PaymentIdentifier3:String = null with get,set
        member val PaymentIdentifier4:String = null with get,set
        member val PaymentIdentifier5:String = null with get,set
        member val PaymentToken:String = null with get,set
        member val AuthorizationTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val AuthorizationCode:String = null with get,set
        member val TransactionId:String = null with get,set
        member val AmountCharged:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val BillingAddress:NAVOrderCloseAddress = null with get,set

    [<AllowNullLiteral>]
    type NAVOrderCloseFee() = 
        member val FeeSystemKeyword:String = null with get,set
        member val FeeAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TaxAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val FeeTotal:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type NAVOrderClose() = 
        member val ExternalOrderId:String = null with get,set
        member val OrderTypeId:String = null with get,set
        member val CreatedDateUTC:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val SubmittedDateUTC:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val CompletedDateUTC:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val BeeNumberCustomer:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val BeeNumberPayee:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OrderSource:String = null with get,set
        member val ShippingMethod:String = null with get,set
        member val GiftMessage:String = null with get,set
        member val GiftMessageFrom:String = null with get,set
        member val GiftMessageTo:String = null with get,set
        member val ShippingComment:String = null with get,set
        member val ShippingAddress:NAVOrderCloseAddress = null with get,set
        member val OrderSkus:ResizeArray<NAVOrderCloseSku> = new ResizeArray<NAVOrderCloseSku>() with get,set
        member val OrderPayments:ResizeArray<NAVOrderClosePayment> = new ResizeArray<NAVOrderClosePayment>() with get,set
        member val OrderFees:ResizeArray<NAVOrderCloseFee> = new ResizeArray<NAVOrderCloseFee>() with get,set
        member val SubTotal:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OrderTotal:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ShippingCost:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Tax:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ShippingTax:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ExternalDiscountReason:String = null with get,set
        member val PCLevel:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val AgentId:String = null with get,set
        member val NumberOfCustomersServed:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val VersionNumber:String = null with get,set
        member val VersionYear:String = null with get,set
        member val AdditionalCode:String = null with get,set
        member val DiscountPercent:String = null with get,set
        member val TaxRatePercent:String = null with get,set
        member val OrderWithinTimePeriod:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TaxAreaCode:String = null with get,set
        member val Geocode:String = null with get,set
        member val FundraiserId:String = null with get,set
        member val WarehouseCode:String = null with get,set
        member val OriginalReshipExternalOrderId:String = null with get,set
        member val ShippedVersionNumber:String = null with get,set
        member val ShippedVersionYear:String = null with get,set
        member val MasterOrderId:String = null with get,set
        member val CouponValue:String = null with get,set
        member val SalesCenterId:String = null with get,set
        member val PremierLevel:String = null with get,set
        member val PCLevelCurrentCycle:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PremierLevelCurrentCycle:String = null with get,set
        member val EmailAddress:String = null with get,set
        member val PhoneNumber:String = null with get,set

    [<AllowNullLiteral>]
    type NAVOrderCloseShipmentSku() = 
        member val OrderLineNumber:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val QuantityShipped:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SubstituteSkuCode:String = null with get,set

    [<AllowNullLiteral>]
    type NAVOrderCloseShipment() = 
        member val ShipmentDateUTC:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ShippingMethod:String = null with get,set
        member val ShippingSpeed:String = null with get,set
        member val TrackingNumber:String = null with get,set
        member val ShipmentStatus:String = null with get,set
        member val ShipmentDetails:String = null with get,set
        member val ShippingCost:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Charge:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Tax:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ActualShippingCost:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val CartonWeight:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OrderShipmentSku:ResizeArray<NAVOrderCloseShipmentSku> = new ResizeArray<NAVOrderCloseShipmentSku>() with get,set

    [<AllowNullLiteral>]
    type OrderClose() = 
        interface IPost
        member val OrderCloseData:NAVOrderClose = null with get,set
        member val Shipment:ResizeArray<NAVOrderCloseShipment> = new ResizeArray<NAVOrderCloseShipment>() with get,set

F# 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
		}
	}
}