Help Centre Forum

TOTECS Forums

TOTECS Platform Release 16.02

Author
Thread

Author moderator
22nd July 2022

New Features





TOT-4142 - Set Delivery Status field against orders and send out delivery status notification emails



For orders that have been submitted there is now additional field called "Delivery Status" that can be controlled by administrator users to update where an order's products are within a delivery/dispatching process. If an administrator user changes the Delivery Status of an order, notification emails can optionally be sent out to the email address sent against the order or nominated email address advising of the delivery status change to an order. This can allow customers to know how an order is progressing, or if it has ceased to move. This awareness can provide additional customer service, and allow them to anticipate when their ordered products may or may not arrive.

An order's Delivery Status can be set to one of the following states (consistent with the Ecommerce Standards Documents delivery statuses):




  • AWAITING_PACKAGING

     The ordered goods are awaiting to be packaged up for delivery. This is the initial status by default.

  • PACKED

     The ordered goods have been packaged up and awaiting to be loaded on transport for delivery

  • LOADED

     The ordered goods have been packaged up and have been loaded on transport for delivery. The transport has not yet left with the packaged goods.

  • IN_TRANSIT

     The ordered goods have been packaged up, loaded and are in transit on transport.

  • IN_STORAGE

     The ordered goods have been packaged up and are being stored at a location for later delivery.

  • DELIVERED

     The ordered goods have been packaged up, transported and delivered to a final location.

  • UNPACKED

     The ordered goods have been packaged up, transported and delivered to a final location, then unpacked at that location.

  • DELIVERY_MISSED

     The ordered goods have been packaged up, transported to a final location, however they were not able to be received due to the authorized person(s) not being available to accept the goods.

  • RECEIVED

     The ordered goods have been packaged up, transported to a final location, delivered and able to be received by the authorised person(s).

  • LOST_IN_TRANSIT

     The ordered goods have been packaged up, and transported, however they were lost in transit. They may have been been lost in an accident, by an act of nature, or any other unforseen circumstance.

  • DAMAGED_IN_TRANSIT

     The ordered goods have been packaged up, and transported, however they were damaged in transit. They may have been been damaged in an accident, by an act of nature, or any other unforseen circumstance.

  • CANCELLED

     The delivery of the ordered goods was cancelled and will no longer be delivered.

  • AWAITING_RECEIVER_PICKUP

     The ordered goods are at a location ready to be picked up by the receiver of the goods.



Within the Stores menu, within the Order settings interface, a new section needs to be added labelled "Order Delivery". Within the section the following settings have been added:




  • Enable Order Delivery Status field: either Yes, or No. If Yes then allows the Delivery Status column to display in the Orders admin centre interface, and Order Details interface.

  • Default Order Delivery Status: Displays a drop containing all of the delivery statuses, by default set to Awaiting Packaging. Controls the Delivery Status that orders are initially set to when created.

  • Send Out Delivery Status Notification For Changes To Statuses: Contains a checkbox list of delivery statuses, that controls when delivery status notification emails should be sent out if an order's delivery status is changed to one of the selected statuses.

  • Delivery Status Message [Status Name]: Set a message for each delivery status type. This allows highly customised messages to set for each status, that may then be embedded within Delivery Notice Email notifications.

  • Delivery Status Notification Email Subject: Set the subject of the Delivery Status Email notification.

  • Delivery Status Notification Email Message Format: Set the general message displayed within every Delivery Status Email notification sent out. The format allowed order details to be embedded into the message using format hooks, similar to the "Order Confirmation Email Message Format" setting.



Within the Orders Administration Centre interface, if the "Enable Order Delivery Status" setting is set to yes then the Delivery Status column will show in the table, and contain a drop down in each row allowing admins to change the delivery status once clicked on. Additionally a search drop down will display in the search filters to allow administrator users to filter orders based on delivery status. If the delivery status is changed, then if the status the order is being changed to set within the "Send Out Delivery Status Notification For Changes To Statuses" setting, then an email notification will be sent to the email address set against the order, containing the subject, message, and status message within the email, based on the Delivery Status Notification Email Subject, Delivery Status Notification Email Message Format, and Delivery Status Message [Status Name] settings.

Within the Orders interface, for each order, upon clicking on the Email button, in the Send Order Email Notification dialog, an additional setting labelled "Send Delivery Status Notice" will be displayed, that if selected will allow an administrator user to send a Delivery Status notification with a custom message.



Functionality Affected: Order Submission Process, Order Settings Administration Centre interface

Impact: Normal



 



 





TOT-4155 - CXML order submission profile and order punch back from Order Checkout/Submission content managed web page areas



On a content managed webpage that contains a Order Checkout/Submission area, the area can now support allowing users to be redirected back to their own purchasing system once an order has been successfully submitted, if they originated to the website from a purchasing system that supports the Punchout purchasing workflow. This allows users to punch-back with their own system once they have selected products and have a purchase order ready for approval within their own system .

Additionally an order profile has been created to support the CXML data standard http://cxml.org/ that allows users to punch back orders to their purchasing system that support the CXML data standard. The CXML order data can either be returned in 2 different formats, either the CXML Order format, or the CXML Punchout Order format. The Order format includes delivery and billing address data, product lines with quantities, unit pricing excluding tax, unit name, product name, and optionally UNSPSC code. The Punchout Order Format only includes product lines, quantities, unit pricing. Both formats can optionally include or exclude orders surcharges in the order lines.

Within the Administration Centre, under the Stores menu, within the Order Profiles interface, a new profile type can be created called "CXML". Once a profile is created with the type the following settings can be created:




  • Product Unit Field: Controls the product field that is used to set the unit name with the cXML order line data.Product UNSPSCode Field: Controls the product field that is used to set the UNSPSC code with the cXML order line data.

  • Include Surcharges: If set to Yes then allows surcharges to be included in the cXML order line data, either ignores including surcharges.

  • Order Document Type: Either set to cXML Punchout Order, cXML Order, to set the type of cXML document that is returned to the user's purchasing system. This needs to be set to match way the purchasing system allows to receive the order data.



Once a CXML order profile has been created and configured, then the relevant customer accounts need to be assigned to the profile who associated users will utilise. Once done then when a user navigates from their purchasing system to the content managed website with the correct URL being provided from the purchasing system, then after the user has added products to basket, proceeded through the checkout process using a Order Checkout/Submission area, upon an order being successfully submitted, then the area will redirect the user back to their originating purchasing system's webpage with the order data in the CXML document standard. This then allows the order to be approved and sent from the purchasing system to the supplying organisation with a confirmed order using either EDI, email or other means to pass the order.

Within the TOTECS API an additional additional endpoint has been added labelled "setup_cxml_punchout", that will try to read in the CXML Punchout Setup Request within the body of the request, obtain login ID, password, and return URL information in the request, authenticate and create a new user session if successful, then return a CXML Punchout Setup Response containing the status, and if successful the URL to navigate to the content managed website by the purchasing user. The endpoint using the following relative URL:

dataapi/setup_cxml_punchout/[content_managed_website_id]/[content_managed_webpage_id_title]




  • content_managed_website_id: set the ID of the content managed website that purchasing users to land on to start purchasing

  • content_managed_webpage_id_title: set the ID or title of the content managed page that purchasing users to land on to start purchasing



Within the purchaser's system, the Punchout Setup Request requires that the user's login ID is set within the Identity element within the Credential element of the Sender element, and that the user's password is set within the SharedSecret element within the Credential element of the Sender element. Additionally the Credential element needs to have the "domain" attribute set to "NetworkId". Note that alternatively the user user's login ID and password can instead be set within the URL calling the API endpoint, with the URL parameters user=[user_login_id]&pass=[user_password]. If the user credentials are set in the URL then any credentials set within the body of CXML document will be ignored.

If the API endpoint is successfully able to validate the credentials given in the Punchout Setup Request then it will return a CXML Punchout Setup Response with a 200 success code and punchout URL, otherwise it will return a 406 error code with an error message .



Functionality Affected: Order Checkout/Submission content managed web page area, TOTECS API, Order Profiles Administration Centre interface

Impact: Normal



 



 





Improvements





TOT-4156 - Format hooks to show initial product pricing and stock level for Google Shopping crawler in Product Detail content managed web page area



On a content managed web page displaying a Product Detail area, additional format hooks have been added to the area that can be embedded within meta tags for Google's Shopping Crawler, allowing it to find pricing and stock level data used for its Google Shopping search engine. The hooks that have been added are:




  • product_stock_level_google: Stock level of the product that indicates if the product is in stock or out of stock, in language for Google shopping crawler. Has either the value OutOfStock or InStock

  • _P_PriceEx_initial: Unit price of product initially shown in the area, exclusive of tax amount.

  • _P_PriceInc_initial': Unit price of product initially shown in the area, inclusive of tax amount.

  • _P_Price_initial', 'Unit price of product initially shown in the area, either including or excluding tax amount based on the tax format setting of the user.

  • _P_PriceExProjectCurrency_initial', 'Unit price of product initially shown in the area in the currency the user is assigned to view, exclusive of tax amount.

  • _P_PriceIncProjectCurrency_initial', 'Unit price of product initially shown in the area in the currency the user is assigned to view, inclusive of tax amount.

  • _P_PriceProjectCurrency_initial', 'Unit price of product initially shown in the area in the currency the user is assigned to view, either including or excluding tax amount based on the tax format setting of the user.





Functionality Affected: Product Detail content managed web page area

Impact: Normal



 



 





TOT-4157 - Import Meta Description, Meta Keywords, and Meta Title fields in Products Connector data import



Within the Administration Centre, under the Data menu, within the Data Imports interface, under the Connector Data Imports tab, when a Products data import is run, for each product record imported there is now the ability to set the Meta Description, Meta Keywords, and Meta Title fields for each product that is being imported. Additionally for the Categories Text File Data Import it too also allows the Meta Description, Meta Keywords, and Meta Title fields to be included the uploaded CSV text file spreadsheet data.



Functionality Affected: Products Connector Data Import

Impact: Normal



 





TOT-4158 - Data fields to change codes and key identifiers for customer accounts, products and categories within CSV text file spreadsheet data imports



Within the Administration Centre, under the Data menu, within the Data Imports interface, under the Text File Imports tab, when running either a Customer Account, Products, or Categories data imports, there needs to be the ability to change the codes of customer accounts, products, or categories in each data import, as well as update the key record identifiers. This makes it possible for administrator users to update these codes, and the references to these codes in associated entities, such as in orders, or against users. This may be needed if these identifiers are updated in linked business systems, and need to be updated to avoid new customer account, product or category records being created in Connector data imports.

For the Customer Account Text File data import the following fields can be set in the CSV spreadsheet file:




  • KeyCustomerAccountID: Set the key identifier of customer account records that links it back an account record from an external system. Avoid setting multiple customer accounts with the same Key Customer Account ID otherwise only 1 of the accounts would get updated if an Customer Account Connector data import was run.

  • New Account Code: Set the new code of the customer account. This code will be updated across all linked entities (including baskets, users, orders, content managed website regions) but excludes for log tables and order surcharge rules,



For the Products Text File data import the following fields can be set in the CSV spreadsheet file:




  • Key Product ID: Set the key identifier of product records that links it back to a product record from an external system. Avoid setting multiple products with the same Key Product ID otherwise only 1 of the products would get updated if an Products Connector data import was run.

  • New Product Code: Set the new code of the product. This code will be updated across all linked entities (including baskets, orders, favourites, shopping lists, related products etc...) but excludes log tables, order surcharge rules, inventory permission rules, or settings that reference product codes. This will need to be updated manually.



For the Categories Text File data import the following fields can be set in the CSV spreadsheet file:




  • Key Category ID: Set the key identifier of category records that links it back to a category record from an external system. Avoid setting multiple categories with the same Key Category ID otherwise only 1 of the categories would get updated if a Categories Connector data import was run.

  • New Category Code: Set the new code of the category. This code will be updated across the category tree. Note that any references to the category code in order surcharges, or inventory role rules will not be updated. This will need to be done manually. Note that when setting New Category Code column in spreadsheet file, avoid including the Parent Category Code, since when each category row is processed if a proceeding row has a reference to a parent category code that no longer exists then the import will report an error and skip the record.



For the Customer Accounts, Products and Categories text file data imports, it will first check if an existing record can be found with the old code, if not it will ignore trying to update the record and report an error message within the Error Log that the existing record could not be found.

Updating the codes of certain records may cause the import to take a long time to complete, such as when a customer account code is referenced against millions of baskets or orders, and products that are in many orders. When this is the case it's advisable to reduce the amount of records being imported in the spreadsheet file at a time.



Functionality Affected: Customer Account, Products, and Categories Connector Data Imports

Impact: Normal



 



 





TOT-4161 - Display flags assigned to each product within a Basket Products Listing content managed web page area



Within a content managed web page containing a Basket Products Listing area, for each product listed in the area, with the area's Basket Product Record format there is now the ability to show flags assigned to each product that is listed within the basket.Within the area's Basket Product Record format the following hooks can be embedded:




  • basket_product_flag_class_names: Contains a list of space delimited flag names assigned to each product. The hook could be embedded within a HTML element's "class" attribute, allowing CSS styling rules to be setup to determine how each flag appears in the format

  • basket_product_flag_image_elements: Displays sequential flag image elements, with each image element containing an image tag with the path to the flag's image. This allows flag images to directly show in the area as the small image size.

  • basket_product_flags_assigned: Displays either Y or N, depending on if the product has one or more flags assigned to it.



Additionally the Basket Product Listing area now contains a setting labelled "Show Product Flags" that controls if product flag data should be determined or not for all products in the area. This setting should be left set to No to avoid making additional server processing if no flag data is needed to be shown in the formats. If the setting is set to Yes then the flag format hooks above will then populate if a product is assigned to one or more flags.



Functionality Affected: Basket Products Listing content managed web page area

Impact: Normal



 



 





TOT-4170 - Calculate and display freight unit data for basket products within Basket Summary and Basket Product Listing content managed web page areas



On a content managed web page area that contains Basket Summary or Basket Product Listing areas, within the area's Basket Summary format, additional format hooks can now be embedded within the areas, that can display information about the freight unit that may be used to package and deliver all the product quantities in the basket, based on using existing freight unit calculations defined within the Administration Centre, under the Stores menu, within the Freight Providers interface, under the Freight Units section. This allows the indicated freight unit to be shown to the user based on the products currently in their basket, how many freight units would be required to deliver the products, and how much space is partially taken up on the final freight unit. This may lead to users putting more product quantities in their basket, to maximise a freight delivery space and reduce the freight delivery cost.

Note that the freight unit calculations are based on overall basket volume or weight. The feature cannot calculate the exact freight unit quantity required since it does not look at product shapes or other logistics limitations (such as hazardous materials, or oversized issues). As such it is useful only as a general indicator, and any freight unit information updated by dispatch staff when orders land.

Within the Basket Summary's area, the following hooks are available to embed within its format:




  • cart_TotalVolume: Total volume that all product quantities in the basket take up in space. The volume is calculated based on the rounded depth, width and height dimensions for each product, multiplied by quantity, and summed together across all products.

  • cart_freight_unit_label: Label of the freight unit chosen to package up and deliver all the product quantities in the basket

  • cart_freight_unit_amount: The number of freight units required to package up and delivery all the product quantities in the basket

  • cart_freight_unit_partial_filled_weight: The amount of weight that has filled up the remaining freight unit used to deliver the product quantities in the basket. Number is rounded to specified number of places in Product Settings.

  • cart_freight_unit_partial_filled_volume: The amount of volume that has filled up the remaining freight unit used to deliver the product quantities in the basket. Number is rounded to specified number of places in Product Settings.

  • cart_freight_unit_partial_filled_percent: The percentage of space that has filled up the remaining freight unit used to deliver the product quantities in the basket. Number is rounded to integer.



Within the Basket Product Listing area, the following hooks are available to embed within its Basket Header and Basket Products Footer format:




  • cart_view_TotalVolume', "Total volume that all product quantities in the basket take up in space. The volume is calculated based on the rounded depth, width and height dimensions for each product, multipled by quantity, and summed together across all products.

  • cart_view_freight_unit_label', 'Label of the freight unit chosen to package up and deliver all the product quantities in the basket.

  • cart_view_freight_unit_amount', 'The number of freight units required to package up and delivery all the product quantities in the basket

  • cart_view_freight_unit_partial_filled_weight', 'The amount of weight that has filled up the remaining freight unit used to deliver the product quantities in the basket. Number is rounded to specified number of places in Product Settings.

  • cart_view_freight_unit_partial_filled_volume', 'The amount of volume that has filled up the remaining freight unit used to deliver the product quantities in the basket. Number is rounded to specified number of places in Product Settings.

  • cart_view_freight_unit_partial_filled_percent', 'The percentage of space that has filled up the remaining freight unit used to deliver the product quantities in the basket. Number is rounded to integer.





Functionality Affected: Basket Summary and Basket Product Listing content managed web page areas

Impact: Normal



 



 





TOT-4174 - Display stock availability for each back order line in a Customer Account Back Order content managed web page area



On a content managed web page displaying a Customer Account Back Order area, for each item line of a back order loaded into the area from a connected business system, there is now the ability to show the product stock availability, allowing users to be aware of the product lines in the back order where stock may now be available, or how much stock is still unavailable. This can either be shown as a percentage amount, the available stock quantity amount, or as a stock level indicator (such as high, low, none).

Within the Customer Account Back Order's content managed web page area the "Customer Account Back Order Line Item" format can now have the following hooks embedded:




  • back_order_line_stock_level: Displays the level of stock available for the product associated to the back order line. Displays either 'high', 'low', or 'none'. This level is based on the available stock quantity amount given in the back order line data being compared against the match product's stock levels. If no available stock data is given the back order line data, then the level shown is based on only the amount of available stock set against the product in general.

  • back_order_line_stock_available_quantity: Displays the quantity of stock available for the product associated to the back order line. This either displays the available stock quantity amount set within the back order line, or else if not provided then shows the amount of available stock quantity set generally against the matched products.back_order_line_stock_available_percent: Displays the percentage of stock available to cover the product stock quantity set in the back order line. This is calculated based on looking at the back order line's ordered quantity minus the delivered quantity amount, and then compared either to available stock quantity amount set in the back order line, or else if not provided then based on the available stock quantity amount set in general against the matched product.

  • Within Customer Account Back Order area's settings editor, an additional setting labelled "Show Back Order Line Product Stock Data" has been created, only if this setting is set to Yes will each of the back order lines try to be matched up with existing products, and the stock format hooks above be calculated. It's best to leave this setting as No if no stock availability data needs to show in the area, since it avoids additional processing occurring on the server.





Functionality Affected: Customer Account Back Order content managed web page area

Impact: Normal



 



 





TOT-4202 - Express Order Checkout in Order Checkout/Submission content managed web page areas



Within a content managed webpage containing an Order Checkout/Submission area, there is now the ability for users to proceed through the Order Checkout process and skip the Order Details step, if they are assigned to an Express Order Checkout profile. If they are assigned to a profile then on a web page containing a Basket Products Listing area, when the user clicks on a button containing the checkout link, the area will call the server to validate and automatically create an order, using the predefined settings configured for the order based on the Express Checkout profile the user is assigned to. If successful the user will be redirected to the web page containing the Order Checkout/Submission area showing its review format. This allows the user to verify the order and submit it.



Within the Order Checkout/Submission area's Order Review format the following hooks have been added that allow the Order ID/Code and Terms and Conditions checkbox/link to hide or show, based on if the Express Checkout profile the user is assigned to requires this order information to be seen:




  • order_review_display_order_id: Displays either Y or N depending if the the user is allowed to see the order ID.

  • order_review_display_terms_conditions: Displays either Y or N depending if the the user is required to select the Terms and Conditions checkbox and see associated information or not.



Note that if the user is required to see the Terms and Conditions then its checkbox will be automatically selected.Also a part of this improvement the web page URL links have modified to display simpler URLs to reduce complexity in the browser's address bar.



Functionality Affected: Order Checkout/Submission content managed web page area

Impact: Normal



 



 





Bug Fixes





TOT-4154 - Products deals are not being applied to products in basket when Calculate Volume Discounts For All Products In Basket setting set to Yes



On a content managed website, if a product was added to basket and a deal was applicable to the product, and the project's "Calculate Volume Discounts For All Products In Basket" setting was set to Yes, then during the Product Add To Basket process the deal being applied to the product was removed when the each of the basket's products are being recalculated to factor in the total quantity of products in the basket. This only affected deals containing offer types that are not based on the total price of the basket.

Now if a product is added to basket and a deal is applicable to the product, and the project's "Calculate Volume Discounts For All Products In Basket" setting is set to Yes, then during the Product Add To Basket process the deal applicable to the product will be recalculated after each product in the basket has been repriced after factor in total product quantity and volume discounts. Note that this only affects deals containing offer types that are not based on the total price of the basket, and it's important to be aware that this fix then once again allows double discounting of product prices.



Functionality Affected: Product Add To Basket process

Impact: Normal



 





TOT-4167 - Content managed website failing to clone when child web pages exist within Websites Administration Centre interface



After a administrator user logged into the Administration Centre, after clicking on the Websites menu button, then clicking on the Websites menu item, within the Websites interface if they expanded the Web Area Format Libraries tree node, then navigated to a format for any content managed web page area, after opening the Edit Web Page Area Format dialog and changing any of the format settings, then upon clicking the Save button, closing the dialog and reopening it again for the same format, the settings of the format incorrectly did not show the previously saved settings. This occurred for all area formats.

Now closing the dialog and reopening it again for the same format, the settings of the format now correctly load again within the dialog again.



Functionality Affected: Websites Administration Centre interface

Impact: Normal



 





TOT-4184 - Edit Web Page Area Format dialog not loading previously saved settings for content managed web page area formats when reloaded within the Websites Administration Centre interface



After a administrator user logged into the Administration Centre, after clicking on the Websites menu button, then clicking on the Websites menu item, within the Websites interface if they expanded the Web Area Format Libraries tree node, then navigated to a format for any content managed web page area, after opening the Edit Web Page Area Format dialog and changing any of the format settings, then upon clicking the Save button, closing the dialog and reopening it again for the same format, the settings of the format incorrectly did not show the previously saved settings. This occurred for all area formats.

Now closing the dialog and reopening it again for the same format, the settings of the format now correctly load again within the dialog again.



Functionality Affected: Websites Administration Centre interface

Impact: Normal



 





TOT-4187 - Unable save settings within the General tab of Store Settings Administration Centre interface



If a user logged into the Administration Centre, clicked on the Stores menu button, then clicked on the General settings link, then within the Store Settings interface, under the General tab if the user then clicked on the Save button then an error dialog appeared with the a non-specified error "An Error Occurred while updating settings". Now if the user then Clicks on the Save button the settings now correctly are saved if there are no validation issues with the setting values.



Functionality Affected: Stores Administration Centre interface

Impact: Normal



 





TOT-4190 - Model records not appearing when users paginate through the Model Search Listing content managed web page area



Within a content managed web page containing a Model Search Listing area, when the user clicked on the any of the paginator links embedded within the format hook "$search_page_list$" of the header and footer formats, the area would update and incorrectly show no model records.

Now within a Model Search Listing area, when the user clicks on the any of the paginator links embedded within the format hook "$search_page_list$" of the header and footer formats, the area will correctly update and show the next page of model records retrieved from the server.



Functionality Affected: Model Search Listing content managed web page area

Impact: Normal