...
- Update Order Shipped System Settings
- Update Integrator Settings
- Edit Customise the Order Shipped Email Template
...
Open the Integrator client.
Click the 'Settings' icon.
Select the 'Advanced' tab.
Enter the Pronto status code in the field labelled 'Order Shipped Statuses' (generally status 80).
Click 'OK'.
Stop, then restart the Integrator. (See Integrator - Stop and Start for instructions)
...
3. Customise the Order Shipped Email Template
- Login to the CMS.
- Navigate to Content→ Emails.
- Select the Order Shipped Email template.
- Configure, add, or disable widgets as required.
- Click 'Test Email...' to send yourself a sample (using a valid sales order number with the correct status).
Classic CSS Sites
Websites not using the BPD framework may need to create an Order Shipped email template. To do this:
- Login as an Administrator.
- Navigate to Content --> Content Editor (/zTemplateSwitch.aspx).
- Click 'New'; the Content Editor dialogue window will display, with the 'Properties' tab pre-selected.
- In the Template Type drop-down list, select 'Email Template'.
- Enter 'Order Shipped Email Template' in the Template Name field.
- In the Version drop-down list, select 'Razor'.
- Enter an appropriate description in the Template Description field.
- Select the 'Code Editor' tab; a blank code window will be displayed.
- On this page, click the 'Expand source' link (below) and copy the sample code contained within.
- Paste the code into the Code Editor window.
- Update custom content as required (e.g. logo image references, company contact details).
Click 'Save & Close'.
Info The Order Shipped email notification can be tested via 'Settings' --> 'Email Test'. Enter an order number for a sales order matching the required status, your email address, and select 'Order Shipped' from the 'Email Type' drop-down list. Then click 'Send Test Email'.
Code Block
language xml theme RDark title Sample Source Code linenumbers true collapse true @{ var webroot = @Model.TemplateUtil.SystemControl("WebsiteURL").ToString(); string picture1 = ""; decimal freightCharges = 0; decimal totalextax = 0; } @{ foreach (var psol in Model.ProntoSalesOrderLine) { if (psol.SolLineType == "SC") { freightCharges += psol.LineAmountExTax; } if (psol.SolLineType != "SC") { totalextax += psol.LineAmountExTax; } } } <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>EMAIL TEMPLATE</title> <style type="text/css"> /* Client-specific Styles */ #outlook a { padding:0;} /* Force Outlook to provide a "view in browser" button. */ body { width:100% !important; } .ReadMsgBody { width:100%; } .ExternalClass { width:100%; } /* Force Hotmail to display emails at full width */ body { -webkit-text-size-adjust:none; } /* Prevent Webkit platforms from changing default text sizes. */ /* Reset Styles */ body { margin:0; padding:0; } img { border:0; height:auto; line-height:100%; outline:none; text-decoration:none; } table td { border-collapse:collapse; } #backgroundTable { height:100% !important; margin:0; padding:0; width:100% !important; } /* Generic Template Styles */ body, #backgroundTable { background-color: #FAFAFA; } #templateContainer { border: 1px solid #DDDDDD; } h1, .h1 { color:#202020; display:block; font-family: Arial, Helvetica, sans-serif; font-size:34px; font-weight:bold; line-height:100%; margin-top:0; margin-right:0; margin-bottom:10px; margin-left:0; text-align:left; } h2, .h2 { color:#202020; display:block; font-family: Arial, Helvetica, sans-serif; font-size:30px; font-weight:bold; line-height:100%; margin-top:0; margin-right:0; margin-bottom:10px; margin-left:0; text-align:left; } h3, .h3 { color:#202020; display:block; font-family: Arial, Helvetica, sans-serif; font-size:26px; font-weight:bold; line-height:100%; margin-top:0; margin-right:0; margin-bottom:10px; margin-left:0; text-align:left; } h4, .h4 { color:#202020; display:block; font-family: Arial, Helvetica, sans-serif; font-size:22px; font-weight:bold; line-height:100%; margin-top:0; margin-right:0; margin-bottom:10px; margin-left:0; text-align:left; } h5, .h5 { color:#202020; display:block; font-family: Arial, Helvetica, sans-serif; font-size:14px; font-weight:bold; line-height:100%; margin-top:0; margin-right:0; margin-bottom:3px; margin-left:0; text-align:left; } /* Pre Header */ #templatePreheader { background-color:#FAFAFA; } .preheaderContent div { color:#505050; font-family: Arial, Helvetica, sans-serif; font-size:10px; line-height:100%; text-align:left; } .preheaderContent div a:link, .preheaderContent div a:visited, /* Yahoo! Mail Override */ .preheaderContent div a .yshortcuts /* Yahoo! Mail Override */ { color:#BADA; font-weight:normal; text-decoration:underline; } /* Header */ #templateHeader { background-color:#FFF; border-bottom:0; padding: 15px; } .headerContent { color:#202020; font-family: Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; line-height:100%; padding: 0px; text-align:left; vertical-align:middle; border-bottom: 1px solid #dddddd; } .headerContent a:link, .headerContent a:visited, /* Yahoo! Mail Override */ .headerContent a .yshortcuts /* Yahoo! Mail Override */ { color:#336699; font-weight:normal; text-decoration:underline; } #headerImage { height:auto; max-width:600px !important; } /* Header Main Logo */ #main-logo { text-align: left; margin-left: 10px; } /* Header - Social Bar */ #social { text-align: right; margin-right: 10px; } #social img { margin-left: 5px; } /* Main Body */ #templateContainer, .bodyContent { background-color:#FFFFFF; } .bodyContent div { color:#505050; font-family: Arial, Helvetica, sans-serif; font-size:14px; line-height:150%; text-align:left; } .bodyContent div a:link, .bodyContent div a:visited, /* Yahoo! Mail Override */ .bodyContent div a .yshortcuts /* Yahoo! Mail Override */ { color:#336699; font-weight:normal; text-decoration:underline; } .bodyContent img { display:inline; height:auto; } /* Order Table */ #orderTable, ul, li { border: 1px solid #e0e0e0; color:#505050; font-family: Arial, Helvetica, sans-serif; font-size: 11px; } #orderTable td { padding: 5px 10px; } .orderTableHeader { background: #fafafa; font-weight: bold; font-size: 12px; border-bottom: 1px solid #dddddd; } .priceRightAlign { text-align: right; } li { list-style: none; } /* 2 Columns - Left */ .leftMidColumnContent { background-color:#FFFFFF; } .leftMidColumnContent div { color:#505050; font-family: Arial, Helvetica, sans-serif; font-size:14px; line-height:150%; text-align:left; } .leftMidColumnContent div a:link, .leftMidColumnContent div a:visited, /* Yahoo! Mail Override */ .leftMidColumnContent div a .yshortcuts /* Yahoo! Mail Override */ { color:#336699; font-weight:normal; text-decoration:underline; } .leftMidColumnContent img { display:inline; height:auto; } /* 2 Columns - Right */ .rightMidColumnContent { background-color:#FFFFFF; } .rightMidColumnContent div { color:#505050; font-family: Arial, Helvetica, sans-serif; font-size:14px; line-height:150%; text-align:left; } .rightMidColumnContent div a:link, .rightMidColumnContent div a:visited, /* Yahoo! Mail Override */ .rightMidColumnContent div a .yshortcuts /* Yahoo! Mail Override */ { color:#336699; font-weight:normal; text-decoration:underline; } .rightMidColumnContent img { display:inline; height:auto; } /* 3 Columns - Left */ .leftLowerColumnContent { background-color:#FFFFFF; } .leftLowerColumnContent div { color:#505050; font-family: Arial, Helvetica, sans-serif; font-size:14px; line-height:150%; text-align:left; } .leftLowerColumnContent div a:link, .leftLowerColumnContent div a:visited, /* Yahoo! Mail Override */ .leftLowerColumnContent div a .yshortcuts /* Yahoo! Mail Override */ { color:#336699; font-weight:normal; text-decoration:underline; } .leftLowerColumnContent img { display:inline; height:auto; } /* 3 Columns - Middle */ .centerLowerColumnContent { background-color:#FFFFFF; } .centerLowerColumnContent div { color:#505050; font-family: Arial, Helvetica, sans-serif; font-size:14px; line-height:150%; text-align:left; } .centerLowerColumnContent div a:link, .centerLowerColumnContent div a:visited, /* Yahoo! Mail Override */ .centerLowerColumnContent div a .yshortcuts /* Yahoo! Mail Override */ { color:#336699; font-family: Arial, Helvetica, sans-serif; text-decoration:underline; } .centerLowerColumnContent img { display:inline; height:auto; } /* 3 Columns - Right */ .rightLowerColumnContent { background-color:#FFFFFF; } .rightLowerColumnContent div{ color:#505050; font-family: Arial, Helvetica, sans-serif; font-size:14px; line-height:150%; text-align:left; } .rightLowerColumnContent div a:link, .rightLowerColumnContent div a:visited, /* Yahoo! Mail Override */ .rightLowerColumnContent div a .yshortcuts /* Yahoo! Mail Override */ { color:#336699; font-weight:normal; text-decoration:underline; } .rightLowerColumnContent img{ display:inline; height:auto; } /* Footer */ #templateFooter { background-color:#f1f1f1; border-top:1px solid #e5e5e5; margin-top: 50px; } .footerContent div { color:#252525; font-family: Arial, Helvetica, sans-serif; font-size:12px; line-height:100%; text-align:left; } .footer-left { } .footer-left span { width: 55px; display: inline-block; } .footer-right { } .footer-right span { display: block; font-size: 10px; color: #484848; margin-bottom: 5px; } .footerContent div a:link, .footerContent div a:visited, /* Yahoo! Mail Override */ .footerContent div a .yshortcuts /* Yahoo! Mail Override */ { color:#336699; font-weight:normal; text-decoration:underline; } </style> </head> <body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0"> <center> <table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="backgroundTable"> <tr> <td align="center" valign="top"> <table border="0" cellpadding="0" cellspacing="0" width="600" id="templateContainer"> <tr> <td align="center" valign="top"> <table border="0" cellpadding="0" cellspacing="0" width="600" id="templateHeader"> <tr> <td width="400" class="headerContent" valign="middle"> <div id="main-logo"> <img src="https://www.yoursite.com.au/images/TemplateImages/logo.png" style="border: 0;" border="0" height="75" width="214" title="client" alt="client"> </div> </td> </tr> </table> </td> </tr> <tr> <td align="center" valign="top"> <table border="0" cellpadding="0" cellspacing="0" width="600" id="templateBody"> <tr> <td valign="top"> <table border="0" cellpadding="0" cellspacing="0" width="600"> <tr> <td valign="top" class="bodyContent"> <table border="0" cellpadding="10" cellspacing="0" width="100%" > <tr> <td valign="top"> <div> <h3 class="h3">Order Shipped Notification - #@Model.ProntoSalesOrder.SoOrderNo</h3> </div> </td> </tr> </table> <table border="0" cellpadding="10" cellspacing="0" width="100%"> <tr> <td valign="top"> <h5>Your order has been shipped!</h5> <table id="orderTable" width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="orderTableHeader" colspan="2">Item</td> <td width="10%" class="orderTableHeader priceRightAlign">Qty</td> <td width="13%" class="orderTableHeader priceRightAlign">Price</td> <td width="15%" class="orderTableHeader priceRightAlign">Total ex GST</td> </tr> @foreach (var orderline in Model.ProntoSalesOrderLine) { if (orderline.SolLineType == "SS" || orderline.SolLineType == "KN" || (orderline.SolLineType == "SN" && orderline.SolChgType != "D")) { <tr> <td width="48%"> <b>@orderline.ProductDescription.ToString()</b><br /> @orderline["StockCode"].ToString() </td> <td class="priceRightAlign"> @orderline.OrderedQtyString </td> <td class="priceRightAlign" colspan="2"> @orderline.ItemPriceString </td> <td class="priceRightAlign">$@orderline.LineAmountExTax</td> </tr> } else if (orderline.SolLineType == "DN") { <tr> <td width="48%"> <b>@orderline.ProductDescription.ToString()</b> </td> <td colspan="3"> </td> </tr> } } @if (Model.ProntoSalesOrder["SoPromotionalDiscountAmountExGST"].ToString().Length > 0) { <tr> <td> </td> <td> </td> <td colspan="2">Sub-total Before Discount:</td> <td class="priceRightAlign">$@String.Format("{0:0.00}", (Model.ProntoSalesOrder.OrderTotalAmount - Model.ProntoSalesOrder.SoOrderTotalCharges))</td> </tr> <tr> <td> </td> <td> </td> <td colspan="2">Coupon Discount:</td> <td class="priceRightAlign">$@Model.ProntoSalesOrder["SoPromotionalDiscountAmountExGST"].ToString()</td> </tr> } <tr> <td> </td> <td> </td> <td colspan="2">TOTAL EX GST:</td> <td class="priceRightAlign">@totalextax.ToString("C2")</td> </tr> <tr> <td> </td> <td> </td> <td colspan="2">GST:</td> <td class="priceRightAlign">$@Model.ProntoSalesOrder.OrderTotalTax.ToString("0.00")</td> </tr> <tr> <td> </td> <td> </td> <td colspan="2"><b>TOTAL INC GST:</b></td> <td class="priceRightAlign"><b>$@Model.ProntoSalesOrder.OrderTotalAmount</b></td> </tr> </table> </td> </tr> </table> </td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="600"> <tr> <td valign="top" width="280" class="leftMidColumnContent"> <table border="0" cellpadding="20" cellspacing="0" width="100%"> <tr> <td valign="top"> <div> <h5 class="h5">Delivery Instructions:</h5> @if(@Model.ProntoSalesOrder.SoDelIns.ToString().Length > 0) { @Model.ProntoSalesOrder.SoDelIns.ToString() } else { @Raw("N/A") } </div> </td> </tr> </table> </td> <td valign="top" width="280" class="rightMidColumnContent"> <table border="0" cellpadding="20" cellspacing="0" width="100%"> <tr> <td valign="top"> <div> <h5 class='h5'>Delivery Address:</h5> @if (Model.ProntoSalesOrder.SoDelAddr1.ToString().Length > 0) { <div class="delivery-address-line">@Model.ProntoSalesOrder.SoDelAddr1</div> } @if (Model.ProntoSalesOrder.SoDelAddr2.ToString().Length > 0) { <div class="delivery-address-line">@Model.ProntoSalesOrder.SoDelAddr2</div> } @if(Model.ProntoSalesOrder.SoDelAddr3.ToString().Length > 0) { <div class="delivery-address-line">@Model.ProntoSalesOrder.SoDelAddr3</div> } @if(Model.ProntoSalesOrder.SoDelAddr4.ToString().Length > 0) { <div class="delivery-address-line">@Model.ProntoSalesOrder.SoDelAddr4</div> } @if(Model.ProntoSalesOrder.SoDelAddr5.ToString().Length > 0) { <div class="delivery-address-line">@Model.ProntoSalesOrder.SoDelAddr5</div> } @if(Model.ProntoSalesOrder.SoDelAddr6.ToString().Length > 0) { <div class="delivery-address-line">@Model.ProntoSalesOrder.SoDelAddr6</div> } @if(Model.ProntoSalesOrder.SoDelPostcode.ToString().Length > 0) { <div class="delivery-address-line">@Model.ProntoSalesOrder.SoDelPostcode</div> } </div> </td> </tr> </table> </td> </tr> </table> </td> </tr> <tr> <td valign="top"> <table border="0" cellpadding="0" cellspacing="0" width="600"> <tr> <td valign="top" class="bodyContent"> <table border="0" cellpadding="20" cellspacing="0" width="100%"> <tr> <td valign="top"> <div> <h5 class="h5">Thank you for your purchase with @Model.TemplateUtil.CompanyName. Please phone 1234 567 890 for any queries.</h5> </div> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </center> </body> </html>
...