NAV

<back to all web services

ReturnGet

The following routes are available for this service:
GET/returns/{RMANumber}
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AddressViewModel:
    first_name: Optional[str] = None
    last_name: Optional[str] = None
    house_number: Optional[str] = None
    address_line1: Optional[str] = None
    address_line2: Optional[str] = None
    address_line3: Optional[str] = None
    address_line4: Optional[str] = None
    address_line5: Optional[str] = None
    city: Optional[str] = None
    locality_level_i_d1: Optional[str] = None
    locality_level_i_d2: Optional[str] = None
    locality_level_i_d3: Optional[str] = None
    locality_level_i_d4: Optional[str] = None
    locality_level_i_d5: Optional[str] = None
    state_code: Optional[str] = None
    postal_code: Optional[str] = None
    country_code: Optional[str] = None
    address_good_date: Optional[datetime.datetime] = None
    latitude: Optional[Decimal] = None
    longitude: Optional[Decimal] = None
    address_id: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnOutboundSkuViewModel:
    entity_sku_id: Optional[int] = None
    created_date: Optional[datetime.datetime] = None
    updated_date: Optional[datetime.datetime] = None
    line_number: Optional[int] = None
    sku_id: Optional[int] = None
    sku_code: Optional[str] = None
    warehouse_sku_code: Optional[str] = None
    quantity: Optional[int] = None
    price: Optional[Decimal] = None
    extended_price: Optional[Decimal] = None
    price_override: Optional[Decimal] = None
    taxable_price: Optional[Decimal] = None
    tax_amount: Optional[Decimal] = None
    ordered_quantity: Optional[int] = None
    return_taxable_price: Optional[Decimal] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnFeeViewModel:
    rma_fee_id: Optional[int] = None
    created_date: Optional[datetime.datetime] = None
    updated_date: Optional[datetime.datetime] = None
    is_fee_waived: Optional[bool] = None
    username_fee_waived: Optional[str] = None
    waived_note: Optional[str] = None
    fee_id: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnInboundSkuViewModel(ReturnOutboundSkuViewModel):
    rma_type: Optional[str] = None
    return_quantity: Optional[int] = None
    auto_received_quantity: Optional[int] = None
    original_quantity: Optional[int] = None
    return_quantity_on_clone: Optional[int] = None
    reason_type: Optional[str] = None
    sku_note: Optional[str] = None
    order_id: Optional[int] = None
    order_number: Optional[str] = None
    order_sku_id: Optional[int] = None
    order_line_number: Optional[int] = None
    fee_amount: Optional[Decimal] = None
    extended_fee_amount: Optional[Decimal] = None
    return_tax_amount: Optional[Decimal] = None
    return_extended_fee_amount: Optional[Decimal] = None
    return_extended_price: Optional[Decimal] = None
    fees: Optional[List[ReturnFeeViewModel]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnShipmentIssueSkuViewModel:
    rma_shipment_issue_sku_id: Optional[int] = None
    created_date: Optional[datetime.datetime] = None
    updated_date: Optional[datetime.datetime] = None
    line_number: Optional[int] = None
    sku_id: Optional[int] = None
    sku_code: Optional[str] = None
    warehouse_sku_code: Optional[str] = None
    quantity: Optional[int] = None
    price: Optional[Decimal] = None
    extended_price: Optional[Decimal] = None
    price_override: Optional[Decimal] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnPaymentViewModel:
    payment_id: Optional[int] = None
    payment_type: Optional[str] = None
    credit_card_type: Optional[str] = None
    credit_card_name: Optional[str] = None
    credit_card_number: Optional[str] = None
    credit_card_token: Optional[str] = None
    payment_guid: Optional[str] = None
    credit_card_expired: Optional[str] = None
    authorization_code: Optional[str] = None
    bank_account_number: Optional[str] = None
    bank_routing_number: Optional[str] = None
    bank_account_type: Optional[str] = None
    bank_name: Optional[str] = None
    bank_account_name: Optional[str] = None
    license_number: Optional[str] = None
    license_d_o_b: Optional[str] = None
    license_state: Optional[str] = None
    check_number: Optional[str] = None
    savings_club: Optional[str] = None
    charge: Optional[Decimal] = None
    rma_entered_refund: Optional[Decimal] = None
    text_response: Optional[str] = None
    processed: Optional[bool] = None
    confirmation_code: Optional[str] = None
    authorization_time: Optional[datetime.datetime] = None
    billing_address: Optional[AddressViewModel] = None
    transaction_id: Optional[str] = None
    avs: Optional[str] = None
    balancing_payment: Optional[bool] = None
    serial_number: Optional[str] = None
    payment_export_keyword: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnHoldViewModel:
    rma_hold_id: Optional[int] = None
    created_date: Optional[datetime.datetime] = None
    updated_date: Optional[datetime.datetime] = None
    release_date: Optional[datetime.datetime] = None
    username_release: Optional[str] = None
    hold_reason: Optional[str] = None
    hold_note: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnViewModel:
    bee_number: Optional[Decimal] = None
    bee_number_customer: Optional[Decimal] = None
    event_id: Optional[int] = None
    event_start_date: Optional[datetime.datetime] = None
    master_order_id: Optional[int] = None
    master_order_id_parent: Optional[int] = None
    master_order_id_related: Optional[int] = None
    order_id_outbound: Optional[int] = None
    created_date: Optional[datetime.datetime] = None
    updated_date: Optional[datetime.datetime] = None
    rma_number: Optional[str] = None
    bee_business_guid: Optional[Decimal] = None
    is_submitted: Optional[bool] = None
    submitted_date: Optional[datetime.datetime] = None
    export_date: Optional[datetime.datetime] = None
    rma_status: Optional[str] = None
    inbound_return_total: Optional[Decimal] = None
    outbound_total: Optional[Decimal] = None
    tax_amount: Optional[Decimal] = None
    shipping_tax_amount: Optional[Decimal] = None
    fee_total: Optional[Decimal] = None
    total: Optional[Decimal] = None
    shipping_method: Optional[str] = None
    master_order_id_outbound: Optional[int] = None
    rma_note: Optional[str] = None
    sub_total: Optional[Decimal] = None
    shipping_amount: Optional[Decimal] = None
    payment_total: Optional[Decimal] = None
    credit_not_applied_to_product_amount: Optional[Decimal] = None
    fee_total_waived: Optional[Decimal] = None
    outbound_order_savings_club_amount: Optional[Decimal] = None
    inbound_replacement_total: Optional[Decimal] = None
    inbound_tax_amount: Optional[Decimal] = None
    outbound_tax_amount: Optional[Decimal] = None
    outbound_order_total: Optional[Decimal] = None
    outbound_order_credit_card_amount: Optional[Decimal] = None
    order_created_date: Optional[datetime.datetime] = None
    closed_date: Optional[datetime.datetime] = None
    actual_shipping_tax_amount: Optional[Decimal] = None
    actual_shipping_amount: Optional[Decimal] = None
    actual_tax_amount: Optional[Decimal] = None
    actual_inbound_tax_amount: Optional[Decimal] = None
    rma_credit_card_amount: Optional[Decimal] = None
    rma_savings_club_amount: Optional[Decimal] = None
    actual_fee_total: Optional[Decimal] = None
    actual_fee_total_waived: Optional[Decimal] = None
    actual_total: Optional[Decimal] = None
    actual_sub_total: Optional[Decimal] = None
    actual_inbound_return_total: Optional[Decimal] = None
    actual_inbound_replacement_total: Optional[Decimal] = None
    actual_credit_not_applied_to_product_amount: Optional[Decimal] = None
    tax_export_date: Optional[datetime.datetime] = None
    tax_transaction_time: Optional[datetime.datetime] = None
    tax_transaction_id: Optional[str] = None
    reverse_tax_export_date: Optional[datetime.datetime] = None
    reverse_tax_transaction_time: Optional[datetime.datetime] = None
    reverse_tax_transaction_id: Optional[str] = None
    final_tax: Optional[Decimal] = None
    reverse_final_tax: Optional[Decimal] = None
    reuseable_inbound_tax_transaction_id: Optional[str] = None
    reuseable_outbound_tax_transaction_id: Optional[str] = None
    order_id: Optional[int] = None
    order_number: Optional[str] = None
    note: Optional[str] = None
    clawback_c_v_override: Optional[bool] = None
    clawback_q_v_override: Optional[bool] = None
    issue_gift_card: Optional[bool] = None
    rma_gift_card_amount: Optional[Decimal] = None
    bee_savings_serial_guid: Optional[Decimal] = None
    serial_number: Optional[str] = None
    gift_card_email: Optional[str] = None
    order_created_during_submit: Optional[bool] = None
    total_qualifying_value: Optional[Decimal] = None
    total_commissionable_value: Optional[Decimal] = None
    bee_savings_club_guid: Optional[Decimal] = None
    is_cancel_order: Optional[bool] = None
    created_by: Optional[str] = None
    rma_severity: Optional[str] = None
    reference: Optional[str] = None
    user_name: Optional[str] = None
    total_override_c_v: Optional[Decimal] = None
    total_override_q_v: Optional[Decimal] = None
    total_upline_c_v: Optional[Decimal] = None
    total_upline_q_v: Optional[Decimal] = None
    total_group_c_v: Optional[Decimal] = None
    total_group_q_v: Optional[Decimal] = None
    override_c_v: Optional[Decimal] = None
    override_q_v: Optional[Decimal] = None
    upline_c_v: Optional[Decimal] = None
    upline_q_v: Optional[Decimal] = None
    group_c_v: Optional[Decimal] = None
    group_q_v: Optional[Decimal] = None
    issue_check: Optional[bool] = None
    rma_check_amount: Optional[Decimal] = None
    shipping_address: Optional[AddressViewModel] = None
    inbound_skus: Optional[List[ReturnInboundSkuViewModel]] = None
    outbound_skus: Optional[List[ReturnOutboundSkuViewModel]] = None
    shipment_issue_skus: Optional[List[ReturnShipmentIssueSkuViewModel]] = None
    payments: Optional[List[ReturnPaymentViewModel]] = None
    holds: Optional[List[ReturnHoldViewModel]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnGetResponse(GetResponse[ReturnViewModel]):
    pass


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnGet(IGet):
    rma_number: Optional[str] = None


TEntity = TypeVar('TEntity')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetResponse(Generic[TEntity]):
    item: Optional[TEntity] = None
    response_status: Optional[ResponseStatus] = None

Python ReturnGet 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.

GET /returns/{RMANumber} HTTP/1.1 
Host: extensions.avon.ca 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	item: 
	{
		beeNumber: 0,
		beeNumberCustomer: 0,
		eventId: 0,
		eventStartDate: 0001-01-01T00:00:00,
		masterOrderId: 0,
		masterOrderIdParent: 0,
		masterOrderIdRelated: 0,
		orderIdOutbound: 0,
		createdDate: 0001-01-01T00:00:00,
		updatedDate: 0001-01-01T00:00:00,
		rmaNumber: String,
		beeBusinessGuid: 0,
		isSubmitted: False,
		submittedDate: 0001-01-01T00:00:00,
		exportDate: 0001-01-01T00:00:00,
		rmaStatus: String,
		inboundReturnTotal: 0,
		outboundTotal: 0,
		taxAmount: 0,
		shippingTaxAmount: 0,
		feeTotal: 0,
		total: 0,
		shippingMethod: String,
		masterOrderIdOutbound: 0,
		rmaNote: String,
		subTotal: 0,
		shippingAmount: 0,
		paymentTotal: 0,
		creditNotAppliedToProductAmount: 0,
		feeTotalWaived: 0,
		outboundOrderSavingsClubAmount: 0,
		inboundReplacementTotal: 0,
		inboundTaxAmount: 0,
		outboundTaxAmount: 0,
		outboundOrderTotal: 0,
		outboundOrderCreditCardAmount: 0,
		orderCreatedDate: 0001-01-01T00:00:00,
		closedDate: 0001-01-01T00:00:00,
		actualShippingTaxAmount: 0,
		actualShippingAmount: 0,
		actualTaxAmount: 0,
		actualInboundTaxAmount: 0,
		rmaCreditCardAmount: 0,
		rmaSavingsClubAmount: 0,
		actualFeeTotal: 0,
		actualFeeTotalWaived: 0,
		actualTotal: 0,
		actualSubTotal: 0,
		actualInboundReturnTotal: 0,
		actualInboundReplacementTotal: 0,
		actualCreditNotAppliedToProductAmount: 0,
		taxExportDate: 0001-01-01T00:00:00,
		taxTransactionTime: 0001-01-01T00:00:00,
		taxTransactionId: String,
		reverseTaxExportDate: 0001-01-01T00:00:00,
		reverseTaxTransactionTime: 0001-01-01T00:00:00,
		reverseTaxTransactionId: String,
		finalTax: 0,
		reverseFinalTax: 0,
		reuseableInboundTaxTransactionId: String,
		reuseableOutboundTaxTransactionId: String,
		orderId: 0,
		orderNumber: String,
		note: String,
		clawbackCVOverride: False,
		clawbackQVOverride: False,
		issueGiftCard: False,
		rmaGiftCardAmount: 0,
		beeSavingsSerialGuid: 0,
		serialNumber: String,
		giftCardEmail: String,
		orderCreatedDuringSubmit: False,
		totalQualifyingValue: 0,
		totalCommissionableValue: 0,
		beeSavingsClubGuid: 0,
		isCancelOrder: False,
		createdBy: String,
		rmaSeverity: String,
		reference: String,
		userName: String,
		totalOverrideCV: 0,
		totalOverrideQV: 0,
		totalUplineCV: 0,
		totalUplineQV: 0,
		totalGroupCV: 0,
		totalGroupQV: 0,
		overrideCV: 0,
		overrideQV: 0,
		uplineCV: 0,
		uplineQV: 0,
		groupCV: 0,
		groupQV: 0,
		issueCheck: False,
		rmaCheckAmount: 0,
		shippingAddress: 
		{
			firstName: String,
			lastName: String,
			houseNumber: String,
			addressLine1: String,
			addressLine2: String,
			addressLine3: String,
			addressLine4: String,
			addressLine5: String,
			city: String,
			localityLevelID1: String,
			localityLevelID2: String,
			localityLevelID3: String,
			localityLevelID4: String,
			localityLevelID5: String,
			stateCode: String,
			postalCode: String,
			countryCode: String,
			addressGoodDate: 0001-01-01T00:00:00,
			latitude: 0,
			longitude: 0,
			addressId: 0
		},
		inboundSkus: 
		[
			{
				rmaType: String,
				returnQuantity: 0,
				autoReceivedQuantity: 0,
				originalQuantity: 0,
				returnQuantityOnClone: 0,
				reasonType: String,
				skuNote: String,
				orderId: 0,
				orderNumber: String,
				orderSkuId: 0,
				orderLineNumber: 0,
				feeAmount: 0,
				extendedFeeAmount: 0,
				returnTaxAmount: 0,
				returnExtendedFeeAmount: 0,
				returnExtendedPrice: 0,
				fees: 
				[
					{
						rmaFeeId: 0,
						createdDate: 0001-01-01T00:00:00,
						updatedDate: 0001-01-01T00:00:00,
						isFeeWaived: False,
						usernameFeeWaived: String,
						waivedNote: String,
						feeId: String
					}
				],
				entitySkuId: 0,
				createdDate: 0001-01-01T00:00:00,
				updatedDate: 0001-01-01T00:00:00,
				lineNumber: 0,
				skuId: 0,
				skuCode: String,
				warehouseSkuCode: String,
				quantity: 0,
				price: 0,
				extendedPrice: 0,
				priceOverride: 0,
				taxablePrice: 0,
				taxAmount: 0,
				orderedQuantity: 0,
				returnTaxablePrice: 0
			}
		],
		outboundSkus: 
		[
			{
				entitySkuId: 0,
				createdDate: 0001-01-01T00:00:00,
				updatedDate: 0001-01-01T00:00:00,
				lineNumber: 0,
				skuId: 0,
				skuCode: String,
				warehouseSkuCode: String,
				quantity: 0,
				price: 0,
				extendedPrice: 0,
				priceOverride: 0,
				taxablePrice: 0,
				taxAmount: 0,
				orderedQuantity: 0,
				returnTaxablePrice: 0
			}
		],
		shipmentIssueSkus: 
		[
			{
				rmaShipmentIssueSkuId: 0,
				createdDate: 0001-01-01T00:00:00,
				updatedDate: 0001-01-01T00:00:00,
				lineNumber: 0,
				skuId: 0,
				skuCode: String,
				warehouseSkuCode: String,
				quantity: 0,
				price: 0,
				extendedPrice: 0,
				priceOverride: 0
			}
		],
		payments: 
		[
			{
				paymentId: 0,
				paymentType: String,
				creditCardType: String,
				creditCardName: String,
				creditCardNumber: String,
				creditCardToken: String,
				paymentGuid: String,
				creditCardExpired: String,
				authorizationCode: String,
				bankAccountNumber: String,
				bankRoutingNumber: String,
				bankAccountType: String,
				bankName: String,
				bankAccountName: String,
				licenseNumber: String,
				licenseDOB: String,
				licenseState: String,
				checkNumber: String,
				savingsClub: String,
				charge: 0,
				rmaEnteredRefund: 0,
				textResponse: String,
				processed: False,
				confirmationCode: String,
				authorizationTime: 0001-01-01T00:00:00,
				billingAddress: 
				{
					firstName: String,
					lastName: String,
					houseNumber: String,
					addressLine1: String,
					addressLine2: String,
					addressLine3: String,
					addressLine4: String,
					addressLine5: String,
					city: String,
					localityLevelID1: String,
					localityLevelID2: String,
					localityLevelID3: String,
					localityLevelID4: String,
					localityLevelID5: String,
					stateCode: String,
					postalCode: String,
					countryCode: String,
					addressGoodDate: 0001-01-01T00:00:00,
					latitude: 0,
					longitude: 0,
					addressId: 0
				},
				transactionId: String,
				avs: String,
				balancingPayment: False,
				serialNumber: String,
				paymentExportKeyword: String
			}
		],
		holds: 
		[
			{
				rmaHoldId: 0,
				createdDate: 0001-01-01T00:00:00,
				updatedDate: 0001-01-01T00:00:00,
				releaseDate: 0001-01-01T00:00:00,
				usernameRelease: String,
				holdReason: String,
				holdNote: String
			}
		]
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}