orders importasync (http://api.3plcentral.com/rels/orders/importasync)
Resource:
Async: import
C# Rel Const:
Rels.OrderSvc.ImportAsync
URI template:
importer/async{?skipShortOrders,skipInvalidOrders}
Obtain URI from:
Import orders asynchronously.
Success status: 202
Name Data Type Description
skipShortOrders bool true: don't create orders with insufficient inventory
skipInvalidOrders bool true: create as many as you can; false: all or nothing
a collection of OrderCreate objects
Type Description
Orders IList<Order.Models.OrderCreate>
CustomerIdentifier Generic.Models.CustomerIdentifier
ExternalId string
Name string
Id int
FacilityIdentifier Generic.Models.FacilityIdentifier
Name string
Id int
WarehouseTransactionSourceEnum Common.Enum.WarehouseTransactionSourceType how the transaction entered the system
- 0: Unknown
- 1: UiManual
- 2: UiImport
- 3: AutomatedImport
- 4: ExternalSoapApi
- 5: QuickBooksSoapApi
- 6: AutomatedSystemCharge
- 7: RestApi
TransactionEntryTypeEnum Common.Enum.TransactionEntryType the agent creating the transaction
- 0: DoangHair unknown
- 1: ManualWarehouseUser
- 2: ManualCustomerUser
- 3: Ftp
- 4: Api
ImportChannelIdentifier Generic.Models.ChannelIdentifier reference to the channel through which this order was imported; must specify Id (Name alone will fail)
Name string
Id int
ImportModuleId int? ...
ExportModuleIds string
DeferNotification bool? ... An OrderCreate notification is sent when a new order enters the "complete" state. True means the order will be created in an "incomplete" state; False means the order will be created in a "complete" state; If not specified, the order will be created in an "incomplete" state if OrderQueue is on and in a "complete" state if OrderQueue is off. Note: OrderQueue is relevant because an order's "complete"-ness also affects when allocation occurs.
OrderItems IList<Order.Models.OrderItem>
ReadOnly Order.Models.OrderItemReadOnly
OrderItemId int
FullyAllocated bool
UnitIdentifier Generic.Models.UnitOfMeasureIdentifier for convenience, referenced item's primary inventory unit
Name string
Id int
SecondaryUnitIdentifier Generic.Models.UnitOfMeasureIdentifier for convenience, referenced item's secondary inventory unit if defined
Name string
Id int
EstimatedQty decimal? ... if present, calculated from SecondaryQty and cannot confirm until Qty entered
EstimatedSecondaryQty decimal? ... if present, calculated from Qty and cannot confirm until SecondaryQty entered
OriginalPrimaryQty decimal? ... on a shorted order, specifies original quantity ordered; otherwise same as Qty
IsOrderQtySecondary bool if both Qty and SecondaryQty present, indicates whether at some point prior to shipping only SecondaryQty was present
Allocations IEnumerable<Order.Models.Allocation> supplied on GET {get;set;} ignored on PUT, POST
ReceiveItemId int
Qty decimal
ProperlyPickedPrimary decimal
ProperlyPickedSecondary decimal
LoadedOut bool
Detail Order.Models.AllocationDetail null unless requested by including AllocationsWithDetail in OrderItemChildren
ItemTraits Generic.Models.ItemTraits unique identifying characteristics of an item in a location
ItemIdentifier Generic.Models.ItemIdentifier
Sku string
Id int
Qualifier string
LotNumber string
SerialNumber string
Cost decimal? ...
ExpirationDate DateTime? ...
PalletIdentifier Generic.Models.PalletIdentifier
NameKey Generic.Models.PalletNameKey
FacilityIdentifier Generic.Models.FacilityIdentifier
Name string
Id int
Name string
Id int
LocationIdentifier Generic.Models.LocationIdentifier
NameKey Generic.Models.LocationNameKey
FacilityIdentifier Generic.Models.FacilityIdentifier
Name string
Id int
Name string
Id int
LocationSort Order.Models.LocationSort
Field1 string
Field2 string
Field3 string
Field4 string
SavedElements IEnumerable<Generic.Models.SavedElement>
Name string
Value string
PickPath int? ...
Bin string supplied on GET, ignored on PUT, POST; use pick operations to set; cleared when shipped or packaged
IsInsert bool
MaxToAllocateFromPickLine decimal? ... Represents the max amount of an item that will be allocated from a pickline location for replenishment
ItemIdentifier Generic.Models.ItemIdentifier
Sku string
Id int
Qualifier string
ExternalId string connection of this order item to the same order item on some other system
Qty decimal? ... primary inventory quantity ordered; if not specified, must specify SecondaryQty more...
SecondaryQty decimal? ... optional secondary quantity ordered; if not specified, must specify Qty more...
LotNumber string if present, used to allocate matching inventory
SerialNumber string if present, used to allocate matching inventory
ExpirationDate DateTime? ... if present, used to allocate matching inventory
WeightImperial decimal? ... ship weight of order item, imperial; if specified and metric not specified, business logic computes metric more...
WeightMetric decimal? ... ship weight of order item, metric; if specified and imperial not specified, business logic computes imperial; see WeightImperial for further explanation
Notes string
FulfillInvSalePrice decimal? ...
FulfillInvDiscountPct decimal? ...
FulfillInvDiscountAmt decimal? ...
FulfillInvNote string
SavedElements IEnumerable<Generic.Models.SavedElement>
Name string
Value string
ProposedAllocations IEnumerable<Generic.Models.ProposedAllocation> empty on GET; may be supplied on PUT, POST
Generic.Models.ProposedAllocation A manual allocation.
ReceiveItemId int
Qty decimal
OrderItemInPackages IEnumerable<Order.Models.OrderItemInPackage> declares the package arrangement, which gets translated into real packages, during order creation; empty on GET; ignored on PUT; may be supplied on POST
PackageNumber int use the same number on multiple OrderItemInPackages to add package content to the same package
Quantity decimal how much of the orderitem to pack into this package content; must be a positive number
PackageDefIdentifier Generic.Models.PackageDefIdentifier the package definition to apply to any package created as a result of this OrderItemInPackage
Name string
Id int
IsInsert bool
ReferenceNum string
Description string
PoNum string
ExternalId string connection of this order to the same order on some other system
EarliestShipDate DateTime? ...
ShipCancelDate DateTime? ...
Notes string
NumUnits1 decimal? ...
Unit1Identifier Generic.Models.UnitOfMeasureIdentifier
Name string
Id int
NumUnits2 decimal? ...
Unit2Identifier Generic.Models.UnitOfMeasureIdentifier
Name string
Id int
TotalWeight decimal? ...
TotalVolume decimal? ...
BillingCode string
AsnNumber string
UpsServiceOptionCharge decimal? ...
UpsTransportationCharge decimal? ...
AddFreightToCod bool
UpsIsResidential bool
ExportChannelIdentifier Generic.Models.ChannelIdentifier A reference to the channel used to export an Advance Shipping Notice or RoutingRequest; must specify Id (Name alone will fail)
Name string
Id int
RoutePickupDate DateTime? ...
ShippingNotes string
MasterBillOfLadingId string
InvoiceNumber string
FulfillInvInfo Order.Models.FulfillInvInfo
FulfillInvShippingAndHandling decimal? ...
FulfillInvTax decimal? ...
FulfillInvDiscountCode string
FulfillInvDiscountAmount decimal? ...
FulfillInvGiftMessage string
RoutingInfo Order.Models.RoutingInfo
IsCod bool
IsInsurance bool
RequiresDeliveryConf bool
RequiresReturnReceipt bool
ScacCode string
Carrier string
Mode string
ShipPointZip string
CapacityTypeIdentifier Generic.Models.CapacityTypeIdentifier
Name string
Id int
LoadNumber string
BillOfLading string
TrackingNumber string
TrailerNumber string
SealNumber string
DoorNumber string
PickupDate DateTime? ...
Billing Generic.Models.Billing PUT: set to null to make no changes to billing
BillingCharges ICollection<Generic.Models.BillingCharge> PUT: set to NULL or empty to delete all charges
ChargeType Common.Enum.PriceCalcFieldType charge type
- 1: Handling
- 2: Storage
- 3: PrepaidFreight
- 4: ThirdPartyFreight
- 5: SpecialCharges
- 6: Materials
- 7: AutoCalcStorage used internally for sys-gen'ed charges
- 8: AutoCalcHandling used internally for sys-gen'ed charges
- 8: MAXVAL ignore, not a real value
Subtotal decimal
Details ICollection<Generic.Models.BillingChargeDetail>
WarehouseTransactionPriceCalcId int
NumUnits decimal
ChargeLabel string
UnitDescription string
ChargePerUnit decimal
GlAcctNum string
Sku string
PtItem string
PtItemDescription string
PtArAcct string
SystemGenerated bool
TaxCode string Empty on GET. If present on POST or PUT, may create or update a "matching" PriceCalcRate record to be used while generating invoices
RecurringChargeDetails IEnumerable<Generic.Models.RecurringChargeDetail> On GET of charge Adjustments only
RecurringBillingDetailId int
ReceiveItemId int
OnHandAtBillTime decimal
ItemIdentifier Generic.Models.ItemIdentifier
Sku string
Id int
Qualifier string
LotNumber string
SerialNumber string
ExpirationDate DateTime? ...
Cost decimal? ...
SupplierIdentifier Generic.Models.ContactIdentifier
Name string
Id int
LocationIdentifier Generic.Models.LocationIdentifier
NameKey Generic.Models.LocationNameKey
FacilityIdentifier Generic.Models.FacilityIdentifier
Name string
Id int
Name string
Id int
PalletIdentifier Generic.Models.PalletIdentifier
NameKey Generic.Models.PalletNameKey
FacilityIdentifier Generic.Models.FacilityIdentifier
Name string
Id int
Name string
Id int
ShipTo Generic.Models.OrderShipToInfo if not found, creates new shipto contact
RetailerInfo Generic.Models.RetailerInfo in GETs: the retailer; in POSTs or PUTs: identifies existing retailer or properties of new retailer
NameKey Generic.Models.RetailerNameKey
CustomerIdentifier Generic.Models.CustomerIdentifier
ExternalId string
Name string
Id int
Name string
Number string
Id int
SameAs Common.Enum.ContactType? ... PUT or POST: to use same Contact as another contact on the same order; GET: always null more...
- 0: ShipTo
- 1: SoldTo
- 2: BillTo
RetailerId int? ... DEPRECATED, will be removed from model: for ShipTo, use RetailerInfo; for SoldTo and BillTo, ignored
IsQuickLookup bool
ContactId int? ... for identifying: if known specify only this; other fields are ignored
CompanyName string
Name string
Title string
Address1 string
Address2 string
City string
State string
Zip string
Country string
PhoneNumber string
Fax string
EmailAddress string
Dept string
IsAddressResidential bool
Code string for identifying: if known specify only this; if other fields also specified it is not used to identify
AddressStatus Common.Enum.AddressStatusType confirmation status
- 0: Unconfirmed
- 1: Confirmed
- 2: UserAccepted
SoldTo Generic.Models.OrderContactInfo if not found, creates new soldto contact more...
Generic.Models.OrderContactInfo in GETs: the contact; in POSTs or PUTs: identifies existing contact or properties of new contact more...
SameAs Common.Enum.ContactType? ... PUT or POST: to use same Contact as another contact on the same order; GET: always null more...
- 0: ShipTo
- 1: SoldTo
- 2: BillTo
RetailerId int? ... DEPRECATED, will be removed from model: for ShipTo, use RetailerInfo; for SoldTo and BillTo, ignored
IsQuickLookup bool
ContactId int? ... for identifying: if known specify only this; other fields are ignored
CompanyName string
Name string
Title string
Address1 string
Address2 string
City string
State string
Zip string
Country string
PhoneNumber string
Fax string
EmailAddress string
Dept string
IsAddressResidential bool
Code string for identifying: if known specify only this; if other fields also specified it is not used to identify
AddressStatus Common.Enum.AddressStatusType confirmation status
- 0: Unconfirmed
- 1: Confirmed
- 2: UserAccepted
BillTo Generic.Models.OrderContactInfo if not found, creates new billto contact more...
Generic.Models.OrderContactInfo in GETs: the contact; in POSTs or PUTs: identifies existing contact or properties of new contact more...
SameAs Common.Enum.ContactType? ... PUT or POST: to use same Contact as another contact on the same order; GET: always null more...
- 0: ShipTo
- 1: SoldTo
- 2: BillTo
RetailerId int? ... DEPRECATED, will be removed from model: for ShipTo, use RetailerInfo; for SoldTo and BillTo, ignored
IsQuickLookup bool
ContactId int? ... for identifying: if known specify only this; other fields are ignored
CompanyName string
Name string
Title string
Address1 string
Address2 string
City string
State string
Zip string
Country string
PhoneNumber string
Fax string
EmailAddress string
Dept string
IsAddressResidential bool
Code string for identifying: if known specify only this; if other fields also specified it is not used to identify
AddressStatus Common.Enum.AddressStatusType confirmation status
- 0: Unconfirmed
- 1: Confirmed
- 2: UserAccepted
SavedElements IEnumerable<Generic.Models.SavedElement>
Name string
Value string
ParcelOption Order.Models.ParcelOption
OrderId int
DeliveryConfirmationType string
DeliveredDutyPaid int
DryIceWeight decimal
InsuranceAmount decimal
InsuranceType int
InternationalContentsType string
InternationalNonDelivery string
ResidentialFlag bool
SaturdayDeliveryFlag bool
TaxIdentifiers string
CarrierAccountNumber string
CarrierSelectionV2 bool
ShipDate string
ChosenRate string
Inserts IEnumerable<Order.Models.OrderInsert> a set of so-called non-sku items inerted or to be inserted into the order packages
PackageInsertIdentifier Generic.Models.PackageInsertIdentifier
Name string
Id int
Quantity decimal
InsertedQuantity decimal? ...
Barcode string
Sample content-type: application/hal+json
{
  "_embedded": {
    "http://api.3plCentral.com/rels/orders/order": [
      {
        "customerIdentifier": {
          "externalId": "str",
          "name": "str",
          "id": 3
        },
        "facilityIdentifier": {
          "name": "str",
          "id": 2
        },
        "warehouseTransactionSourceEnum": 0,
        "transactionEntryTypeEnum": 0,
        "importChannelIdentifier": {
          "name": "str",
          "id": 2
        },
        "importModuleId": 1,
        "exportModuleIds": "str",
        "deferNotification": true,
        "referenceNum": "str",
        "description": "str",
        "poNum": "str",
        "externalId": "str",
        "earliestShipDate": "2016-12-25T23:00:00",
        "shipCancelDate": "2016-12-25T23:00:00",
        "notes": "str",
        "numUnits1": 1.0,
        "unit1Identifier": {
          "name": "str",
          "id": 2
        },
        "numUnits2": 1.0,
        "unit2Identifier": {
          "name": "str",
          "id": 2
        },
        "totalWeight": 1.0,
        "totalVolume": 1.0,
        "billingCode": "str",
        "asnNumber": "str",
        "upsServiceOptionCharge": 1.0,
        "upsTransportationCharge": 1.0,
        "addFreightToCod": true,
        "upsIsResidential": true,
        "exportChannelIdentifier": {
          "name": "str",
          "id": 2
        },
        "routePickupDate": "2016-12-25T23:00:00",
        "shippingNotes": "str",
        "masterBillOfLadingId": "str",
        "invoiceNumber": "str",
        "fulfillInvInfo": {
          "fulfillInvShippingAndHandling": 1.0,
          "fulfillInvTax": 1.0,
          "fulfillInvDiscountCode": "str",
          "fulfillInvDiscountAmount": 1.0,
          "fulfillInvGiftMessage": "str"
        },
        "routingInfo": {
          "isCod": true,
          "isInsurance": true,
          "requiresDeliveryConf": true,
          "requiresReturnReceipt": true,
          "scacCode": "str",
          "carrier": "str",
          "mode": "str",
          "account": "str",
          "shipPointZip": "str",
          "capacityTypeIdentifier": {
            "name": "str",
            "id": 2
          },
          "loadNumber": "str",
          "billOfLading": "str",
          "trackingNumber": "str",
          "trailerNumber": "str",
          "sealNumber": "str",
          "doorNumber": "str",
          "pickupDate": "2016-12-25T23:00:00"
        },
        "billing": {
          "billingCharges": [
            {
              "chargeType": 1,
              "subtotal": 1.0,
              "details": [
                {
                  "warehouseTransactionPriceCalcId": 1,
                  "numUnits": 2.0,
                  "chargeLabel": "str",
                  "unitDescription": "str",
                  "chargePerUnit": 5.0,
                  "glAcctNum": "str",
                  "sku": "str",
                  "ptItem": "str",
                  "ptItemDescription": "str",
                  "ptArAcct": "str",
                  "systemGenerated": true,
                  "taxCode": "str",
                  "recurringChargeDetails": [
                    {
                      "recurringBillingDetailId": 1,
                      "receiveItemId": 2,
                      "onHandAtBillTime": 3.0,
                      "itemIdentifier": {
                        "sku": "str",
                        "id": 2
                      },
                      "qualifier": "str",
                      "lotNumber": "str",
                      "serialNumber": "str",
                      "expirationDate": "2016-12-25T23:00:00",
                      "cost": 1.0,
                      "supplierIdentifier": {
                        "name": "str",
                        "id": 2
                      },
                      "locationIdentifier": {
                        "nameKey": {
                          "facilityIdentifier": {
                            "name": "str",
                            "id": 2
                          },
                          "name": "str"
                        },
                        "id": 1
                      },
                      "palletIdentifier": {
                        "nameKey": {
                          "facilityIdentifier": {
                            "name": "str",
                            "id": 2
                          },
                          "name": "str"
                        },
                        "id": 1
                      }
                    }
                  ]
                }
              ]
            }
          ]
        },
        "shipTo": {
          "retailerInfo": {
            "nameKey": {
              "customerIdentifier": {
                "externalId": "str",
                "name": "str",
                "id": 3
              },
              "name": "str",
              "number": "str"
            },
            "id": 1
          },
          "sameAs": 0,
          "retailerId": 1,
          "isQuickLookup": true,
          "contactId": 1,
          "companyName": "str",
          "name": "str",
          "title": "str",
          "address1": "str",
          "address2": "str",
          "city": "str",
          "state": "str",
          "zip": "str",
          "country": "str",
          "phoneNumber": "str",
          "fax": "str",
          "emailAddress": "str",
          "dept": "str",
          "isAddressResidential": true,
          "code": "str",
          "addressStatus": 0
        },
        "soldTo": {
          "sameAs": 0,
          "retailerId": 1,
          "isQuickLookup": true,
          "contactId": 1,
          "companyName": "str",
          "name": "str",
          "title": "str",
          "address1": "str",
          "address2": "str",
          "city": "str",
          "state": "str",
          "zip": "str",
          "country": "str",
          "phoneNumber": "str",
          "fax": "str",
          "emailAddress": "str",
          "dept": "str",
          "isAddressResidential": true,
          "code": "str",
          "addressStatus": 0
        },
        "billTo": {
          "sameAs": 0,
          "retailerId": 1,
          "isQuickLookup": true,
          "contactId": 1,
          "companyName": "str",
          "name": "str",
          "title": "str",
          "address1": "str",
          "address2": "str",
          "city": "str",
          "state": "str",
          "zip": "str",
          "country": "str",
          "phoneNumber": "str",
          "fax": "str",
          "emailAddress": "str",
          "dept": "str",
          "isAddressResidential": true,
          "code": "str",
          "addressStatus": 0
        },
        "savedElements": [
          {
            "name": "str",
            "value": "str"
          }
        ],
        "parcelOption": {
          "orderId": 1,
          "deliveryConfirmationType": "str",
          "deliveredDutyPaid": 3,
          "dryIceWeight": 4.0,
          "insuranceAmount": 5.0,
          "insuranceType": 6,
          "internationalContentsType": "str",
          "internationalNonDelivery": "str",
          "residentialFlag": true,
          "saturdayDeliveryFlag": true,
          "taxIdentifiers": "str",
          "carrierAccountNumber": "str",
          "carrierSelectionV2": true,
          "shipDate": "str",
          "chosenRate": "str"
        },
        "inserts": [
          {
            "packageInsertIdentifier": {
              "name": "str",
              "id": 2
            },
            "quantity": 1.0,
            "insertedQuantity": 1.0,
            "barcode": "str"
          }
        ],
        "_embedded": {
          "http://api.3plCentral.com/rels/orders/item": [
            {
              "readOnly": {
                "orderItemId": 1,
                "fullyAllocated": true,
                "unitIdentifier": {
                  "name": "str",
                  "id": 2
                },
                "secondaryUnitIdentifier": {
                  "name": "str",
                  "id": 2
                },
                "estimatedQty": 1.0,
                "estimatedSecondaryQty": 1.0,
                "originalPrimaryQty": 1.0,
                "isOrderQtySecondary": true,
                "allocations": [
                  {
                    "receiveItemId": 1,
                    "qty": 2.0,
                    "properlyPickedPrimary": 3.0,
                    "properlyPickedSecondary": 4.0,
                    "loadedOut": true,
                    "rowVersion": "str",
                    "detail": {
                      "itemTraits": {
                        "itemIdentifier": {
                          "sku": "str",
                          "id": 2
                        },
                        "qualifier": "str",
                        "lotNumber": "str",
                        "serialNumber": "str",
                        "cost": 1.0,
                        "expirationDate": "2016-12-25T23:00:00",
                        "palletIdentifier": {
                          "nameKey": {
                            "facilityIdentifier": {
                              "name": "str",
                              "id": 2
                            },
                            "name": "str"
                          },
                          "id": 1
                        }
                      },
                      "locationIdentifier": {
                        "nameKey": {
                          "facilityIdentifier": {
                            "name": "str",
                            "id": 2
                          },
                          "name": "str"
                        },
                        "id": 1
                      },
                      "locationSort": {
                        "field1": "str",
                        "field2": "str",
                        "field3": "str",
                        "field4": "str"
                      },
                      "savedElements": [
                        {
                          "name": "str",
                          "value": "str"
                        }
                      ],
                      "pickPath": 1
                    }
                  }
                ],
                "bin": "str",
                "isInsert": true,
                "maxToAllocateFromPickLine": 1.0,
                "rowVersion": "str"
              },
              "itemIdentifier": {
                "sku": "str",
                "id": 2
              },
              "qualifier": "str",
              "externalId": "str",
              "qty": 1.0,
              "secondaryQty": 1.0,
              "lotNumber": "str",
              "serialNumber": "str",
              "expirationDate": "2016-12-25T23:00:00",
              "weightImperial": 1.0,
              "weightMetric": 1.0,
              "notes": "str",
              "fulfillInvSalePrice": 1.0,
              "fulfillInvDiscountPct": 1.0,
              "fulfillInvDiscountAmt": 1.0,
              "fulfillInvNote": "str",
              "savedElements": [
                {
                  "name": "str",
                  "value": "str"
                }
              ],
              "proposedAllocations": [
                {
                  "receiveItemId": 1,
                  "qty": 2.0
                }
              ],
              "orderItemInPackages": [
                {
                  "packageNumber": 1,
                  "quantity": 2.0,
                  "packageDefIdentifier": {
                    "name": "str",
                    "id": 2
                  }
                }
              ],
              "isInsert": true
            }
          ]
        }
      }
    ]
  }
}
if skip... is true, see SkippedOrders in the response
Type Description
OrderCreationsAttempted int
OrdersToCreate int
OrderCreateListResults Order.Models.OrderCreateListResults Links to each newly created order
FaultedOrders Generic.Models.Exceptions.ListException container of WmsExceptionBase-derived exceptions occuring during actions on lists, such as import or mass ops
Message string
Faults IList<Generic.Models.Exceptions.ListEntryFault>
EntryNumber int 1-indexed position in the source list
WmsException Generic.Models.Exceptions.WmsExceptionBase for more details at runtime see which WmsExceptionBase-derived exception it is
ErrorCode string could have been a number, but is a short string for human readability; not to be localized
Hint string helpful word or two if the thrower happens to know more things; not to be localized
Message string
InnerException System.Exception
OrderIdentifiers IEnumerable<Generic.Models.OrderIdentifier>
Id int
Sample accept: application/hal+json
{
  "orderCreationsAttempted": 1,
  "ordersToCreate": 2,
  "_embedded": {
    "http://api.3plCentral.com/rels/orders/import": {
      "faultedOrders": {
        "message": "ListException: Faults [{EntryNumber 1, }]",
        "faults": [
          {
            "entryNumber": 1,
            "entryInfo": "str"
          }
        ],
        "data": {},
        "helpLink": "str",
        "source": "str",
        "hResult": 3
      },
      "orderIdentifiers": [
        {
          "id": 1
        }
      ]
    }
  }
}

This documentation is subject to change, and is updated often and without warning. The models documented may or may not be available to users now or in the future. Use this documentation at your own risk.
Contact api@3plcentral.com with any questions about this documentation.