Order Actions

Overview

Order actions are a tool in the CIMcloud platform that will allow you to control the available options displayed on the payment page. With this tool you can set up actions for your employees and customers allowing them to place an order, save an order/quote, or submit a quote to a sales rep with comments. Order actions can change order data allowing you to create custom workflows, for example: an order approval process. Your CIMcloud platform comes with a few of these configured out of the box.

The saved carts workflow gives customers access to the Save Cart order action which saves the order for future use while they work on a different shopping cart. The CRM Standard module replaces the Save Cart order action with Save Quote. Two additional order actions are added as well, they are Submit to a sales rep for help and Archive Quote. Submit to a sales rep for help sends the quote to your sales representative to take action. Archive Quote cancels the quote. Some other workflows that are configured out of the box are recurring orders and supervisor approval.

Adding Order Actions

To add an order action first find the Settings Workspace and open the Ordering heading. Under this you will find the Order Actions +, add, button. Use it to start creating a new order action.

The general info section is at the top of the add order action page and contains the order action’s status, filter mode, reference id, name, description, and its position.

The display settings are next and this includes options for whether or not the payment methods, recurring order, terms and conditions, nickname, comments, and/or notes sections are displayed. There are also options for showing a button, the buttons label text, a customer description, and message.

The Order Action Settings are where you configure what this order action does, the options are Place Order, Validate Only, and None.  Here is where you can customize the data posted based on the action taken. In the Order Update Payload field you will enter a JSON payload of order header, session, account, and/or customer fields to be updated when this order action is chosen. Below is an example of an order update payload for the Place Order action:

{
    "OrderHeader ": {
       "RecordType" : "order", 
       "LifecycleStageID" : "placed",
       "AllowContactEdits" : false,
       "AllowAccountEdits" : false,
       "AllowShaEdits" : false,
       "AllowProductAdds" : false,
       "AllowShipViaEdits" : false,
       "AllowPayMethodEdits" : false,
       "AllowCcnChanges" : false,
       "AllowPlaceOrder" : false
    }
}

This payload sets the listed fields to their corresponding value pair when this order action processes.

The last section is where you can assign order actions to Data Sets allowing you to further customize access to your platforms workflows as well as the workflows themselves.

Adding Order Action Filters

To add an order action first find the Settings Workspace and open the Ordering heading. Under this you will find the Order Action Filters +, add, button. Use it to start creating a new order action filter.

In the general info section you will find the filter’s status, reference id, name, message, position, and an option to have the site stop processing if this filter’s expression evaluates to true.

You then can use the order actions section to assign order actions to this filter.

In the filter expression input area you can use properties from the order header, user sessions, accounts, and/or customers tables to build out a expression that will determine if the actions assigned to this filter are displayed to the user. Below is an example of an expression for showing and order action to a customer if the order total is under $1,000:

(OrderHeader.OrderTotal < 1000) and ((OrderHeader.LifecycleStage = “user_saved”) or (OrderHeader.LifecycleStage = “user_queued”) or (OrderHeader.LifecycleStage = “”))

This expression checks the order total to ensure its less than $1,000 and it also checks to make sure the order’s lifecycle stage is either user_saved, user_queued, or [blank]. Order actions assigned to this filter will only show if the order total is under $1,000 and the lifecycle stage is one of the listed values.

The filter expression section also houses functionality for an expression validator, a toggle for viewing available object properties, and a link to the help center docs.

Available object properties:
  • Order Header
    • Transactions (List)
    • Customer (cCustomer)
    • SessionCustomer (cCustomer)
    • Account (Account)
    • BillToAccount (Account)
    • BillToAccountId (String)
    • ShippingAddress (ShippingAddress)
    • Comments (String)
    • ErrorMessages (String)
    • Errors (List`1)
    • o_key (String)
    • ReferenceId (String)
    • OrderNumber (String)
    • PoNumber (String)
    • OrderCreateDate (DateTime)
    • ws_id (String)
    • l_ws_id (String)
    • SessionId (String)
    • Opt1 (String)
    • Opt2 (String)
    • Opt3 (String)
    • Opt4 (String)
    • Opt5 (String)
    • Opt6 (String)
    • Opt7 (String)
    • Opt8 (String)
    • Opt9 (String)
    • Opt10 (String)
    • Opt11 (String)
    • Opt12 (String)
    • Nickname (String)
    • ProductTotal (Decimal)
    • CouponDiscountTotals (CouponDiscountTotals)
    • ProductTotalAfterCoupon (Decimal)
    • TaxSubtotalProducts (Decimal)
    • ShippingTotal (Decimal)
    • ShippingTotalAfterCoupon (Decimal)
    • TaxSubtotalShipping (Decimal)
    • TaxTotal (Decimal)
    • OrderTotal (Decimal)
    • OrderTotalBeforeDiscount (Decimal)
    • GiftCertAmount (Decimal)
    • PaidByOtherAmount (Decimal)
    • OrderBalance (Decimal)
    • AmountToChargeCC (Decimal)
    • FinalOrderTotalDue (Decimal)
    • DutyTotal (Decimal)
    • SpendAllowanceUsed (Decimal)
    • SpendAllowanceBefore (Decimal)
    • SpendAllowanceAfter (Decimal)
    • ProductSubTotalBeforeDiscount (Decimal)
    • ProductDiscountTotal (Decimal)
    • HandlingTotal (Decimal)
    • Initialized (Boolean)
    • Completed (Boolean)
    • DirtyCompletion (Boolean)
    • RecordType (String)
    • EmailSent (Boolean)
    • CouponCode (String)
    • CoupId (String)
    • GiftCertBalanceBefore (Decimal)
    • GiftCertId (String)
    • GiftCertCode (String)
    • GiftCertApplied (DateTime)
    • CustomerId (String)
    • ShippingAddressId (String)
    • parent_c_id (String)
    • AccountId (String)
    • pw_id (String)
    • PaymentType (String)
    • Type (String)
    • OrdType (String)
    • Status (String)
    • OrderSource (String)
    • TaxSubtotalHandling (Decimal)
    • CheapestShippingAvailable (Decimal)
    • ResetPaymentMethods (Boolean)
    • Shipments (List`1)
    • DetailLines (List`1)
    • PayMethods (List`1)
    • PaymentMethod (PaymentMethod)
    • PM_ID (String)
    • ccn_id (String)
    • Deleted (Boolean)
    • CreditStatus (enumCreditStatus)
    • CreditStatus2 (HashSet`1)
    • PromoSaveData (Boolean)
    • PromoMappings (List`1)
    • PromoDetails (List`1)
    • ImportHealth (String)
    • UseMultipleShipments (Boolean)
    • LegalResponse (String)
    • Legal (String)
    • OrderActions (List`1)
    • ProcessingOrderAction (Boolean)
    • RestrictionMessages (List`1)
    • LifecycleStages (List`1)
    • LifecycleStageID (String)
    • SuperUserData (SuperUser)
    • SendWaitingOnApprovalEmail (Boolean)
    • SendStatusChangeEmail (Boolean)
    • Tracked (String)
    • DropshipStatus (String)
    • effective_order_date (DateTime)
    • Session (Sessions)
    • ROParentO_Id (String)
    • RORunDate (DateTime)
    • RORecCase (String)
    • RORecQty (Int32)
    • RONickname (String)
    • LifecycleStage (String)
    • LoaderHasProcessed (Boolean)
    • VaultedPayment (cVaultedPayment)
    • LastTransaction (cTransaction)
    • OrderPayments (List`1)
    • ApprovalStage (String)
    • AllowAccountEdits (Boolean)
    • AllowContactEdits (Boolean)
    • AllowPayMethodEdits (Boolean)
    • AllowProductAdds (Boolean)
    • AllowShaEdits (Boolean)
    • AllowShipViaEdits (Boolean)
    • AllowPlaceOrder (Boolean)
    • AllowCcnChanges (Boolean)
    • ShipViaDetails (List`1)
    • QuoteExpirationDate (DateTime)
    • QuoteCreateDate (DateTime)
    • TradeAdjustment (Decimal)
    • cur_id (String)
    • CreatedByCId (String)
    • PlacedByCId (String)
  • Session
    • S_Key (String)
    • PriceGroup (String)
    • PriceGroupB (String)
    • PriceGroupC (String)
    • PriceGroupD (String)
    • PriceGroupE (String)
    • PriceSheetField (String)
    • LoggedIn (Boolean)
    • IsGuest (Boolean)
    • A_ID (String)
    • AliasGroup (String)
    • AliasJoinType (String)
    • Account (Account)
    • Customer (cCustomer)
    • C_ID (String)
    • PW_ID (String)
    • PM_ID (String)
    • SHA_ID (String)
    • CCN_ID (String)
    • SV_ID (String)
    • Currency (String)
    • CUR_ID (String)
    • L_WS_ID (String)
    • ShowPrice (String)
    • ShowAtc (String)
    • User_Settings_XML (String)
    • SC_ID (String)
    • IsSuperUser (Boolean)
    • CartTotalBeforeFinalOverride (Decimal)
    • CartTotal (Decimal)
    • TradeAdjustment (Decimal)
    • SuperUserSessionId (String)
    • SuperUserC_ID (String)
    • ViewingAsSuperUser (Boolean)
    • ShipPriceFilterTo (Decimal)
    • ShipPriceFilterFrom (Decimal)
    • SuperUserWorkflow (String)
    • QuoteId (String)
  • Account
    • Key (String)
    • Number (String)
    • RefId (String)
    • Company (String)
    • Address1 (String)
    • Address2 (String)
    • Address3 (String)
    • Address4 (String)
    • Address5 (String)
    • City (String)
    • County (String)
    • State (String)
    • ZipCode (String)
    • Country (String)
    • DefaultCustomerId (String)
    • DefaultShipViaId (String)
    • DefaultShipViaCode (String)
    • DefaultShippingAddressId (String)
    • PaymentTerms (String)
    • PaymentMethod (String)
    • AllowOrdering (Boolean)
    • AvaTaxCode (String)
    • AvaTaxUsage (String)
    • ExemptionNumber (String)
    • TaxExempt (Boolean)
    • TaxScheduleId (String)
    • CreditLimit (Double)
    • CreditHold (Boolean)
    • CurrentBalance (Double)
    • TradeAdjustment (Decimal)
    • GatewayId (String)
    • GatewayUserId (String)
    • Fields (Dictionary`2)
    • BillToAccountId (String)
  • Customer
    • Key (String)
    • FirstName (String)
    • LastName (String)
    • Cell (String)
    • LanguageId (String)
    • TaxExempt (Boolean)
    • TaxScheduleId (String)
    • UseSpendAllowance (Boolean)
    • SpendAllowanceBalance (Decimal)
    • UserName (String)
    • Fax (String)
    • Phone (String)
    • Email (String)
    • CustomerNumber (String)
    • AccountId (String)
    • GatewayId (String)
    • GatewayUserId (String)
    • IsSupervisor (Boolean)
    • RequireOrderApproval (Boolean)
    • CompanyName (String)
    • Opt1 (String)
    • Opt2 (String)
    • Opt3 (String)

Was this article helpful?

Related Articles