Microsoft has made it easier than ever to integrate a web site or application with the OnTime API Webhook feature. This makes efficient, real-time, two-way communication a reality for anyone using the OnTime API.
What are webhooks?
A webhook is like an API endpoint, but reversed, allowing web sites, apps, and software systems to receive output from OnTime. Instead of making a call to the OnTime API, users define a callback URL that OnTime will HTTP POST information to as events occur. That callback URL can then execute code based on those POSTs. Webhooks are compatible with virtually any programming language, website, or software system.
What can this do for your business?
Acting on changes quickly can be important to your business and open up new opportunities. Imagine a potential customer who offers you the contract if you have the technology to update their software system immediately when a change occurs in your OnTime account. A webhook makes that possible.
ASP.NET WebHooks Receivers
Microsoft has introduced a new library on GitHub that makes interacting with webhooks simple, on-premises or in the cloud. ASP.NET WebHooks Receivers are open source and work with ASP.NET Web API 2 and ASP.NET MVC 5.
These tools make some seriously powerful scenarios possible. Learn more about using these free tools from Microsoft.
Using price modifiers, OnTime courier software can complete complex, yet flexible, calculations. By grouping your price modifiers, you can create even more advanced pricing structures that calculate automatically and in the background. Each individual price modifier and its calculation can be used as a building block to create the advanced pricing that you and your customers require.
Grouped price modifiers are frequently used when a charge requires multiple calculations to determine. In these situations, it can be awkward to present the multiple calculations when charging the customer. If the modifiers are grouped, they will appear to the customer under the group’s name, with the final figure listed.
You may put as many modifiers in a single group as you like. When a group is calculated, OnTime evaluates each modifier in the group, one-by-one, and then uses these results to calculate a final result based on the desired behavior. The Behavior for the group may be set to Use the highest priced modifier, Use the lowest priced modifier, or Use the sum of all modifiers. Groups can be placed within other groups, allowing you to create the pricing structure that you need.
How to group price modifiers
- Create a new group by right-clicking inside the price modifiers list and selecting New Group.
- Click-and-drag each modifier that you wish to group together from the list on the right to the list on the left.
- Enter the desired Name for the group. Be sure to enter a descriptive name because the calculations completed within this group will be listed under the group’s name. Individual modifiers within the group will not appear.
- Select the desired Type for the group to tell OnTime where the modifier should be used when creating orders.
- Select the desired Behavior for the group. Because OnTime calculates each modifier in the group separately, the question remains what to do with those calculations in the end. The Behavior list allows you to select from three actions:
- Use the highest priced modifier: After calculating all applicable modifiers in the group, the amount of the highest modifier will be returned.
- Use the lowest priced modifier: After calculating all applicable modifiers in the group, the amount of the lowest modifier will be returned.
- Use the sum of all modifiers: After calculating all applicable modifiers in the group, the amounts of all modifiers are added up and returned.
- If appropriate, adjust the Percent eligible for commission. Setting this value to less than 100% will mean that the user will get a lesser amount than normal from this price modifier.
See page 97 of the OnTime User Guide for more details and instruction about grouping price modifiers.
What is a Zone Based Lookup Table?
If you use Zone Based pricing in OnTime, you may use Zone Based Lookup Tables to offer complex rates based on the zones involved. Most price modifiers have a single, fixed value that calculations evaluate against. If the value of a price modifier should change depending on the zones being serviced, use Zone Based Lookup Tables to achieve your desired results.
For example, if you charge a flat amount for delivery in some zones, but a per-mile rate for other zones, the Zone Based Lookup Table is a simple solution.
When viewing a Zone Based Lookup Table, you will see the names of all of the zones that you service listed both along the top and down the side. If you type a number into a cell, that number will be used when the two corresponding zones match a shipment. If you have reciprocal pricing enabled, this value will copy itself into the other cell that joins those two zones on the grid.
You may quickly fill all of your cells by using the Additional Action option, Fill Empty Cells. If you wish to adjust all of the prices for all of your zones at once, the Additional Action Adjust All Values can be used. These tools help to make Zone Based Lookup Tables an excellent tool for quickly working with a large number of prices.
How to setup a Zone Based Lookup Table
- Click on the Zone Lookup Tables button in the ribbon under the Home tab.
- From the Zone Lookup Table management window, click the New button.
- In the resulting window, assign a Name to the table. You may now begin filling out rates by selecting the cell in the grid where two desired zones intersect and entering your rate. When an order is entered with those two zones, the intersecting rate will be returned from the lookup table.
- Click the Save & Close button.
How to link a Zone Based Lookup Table to a Price Modifier
- While editing the desired price modifier, change the Multiply by field to Zone Based Lookup Table.
- Choose the appropriate Zone Based Lookup Table from the drop-down menu that appears.
- If desired, adjust the Zone lookup default value. The value entered will be used when zone matches are not found or return blank.
- Save and close the price modifier.
More information about Zone Based Lookup Tables can be found starting on page 95 in the OnTime User Guide.
You always want to make sure that your price modifiers are calculating as you expect before making them available to customers. Without proper testing, you could provide your customers with a broken pricing structure that could affect your business’s productivity and reputation.
To verify that your system is acting the way that you intend, always test your modifiers and check the arithmetic.
How to test a price modifier
- While viewing a price modifier in the price modifier editor, click Show Testing Area at the bottom of the window to reveal the testing area.
- Fill in the appropriate fields for your calculation. Available fields include Base price, Distance, Quantity, Weight, Dimensions, and Declared value.
- Click the Test Modifier button at the bottom of the window to run your test.
- View your results on the right. If a green checkmark appears next to the first line, the price modifier applied to the values that you entered in your test. Other details about the calculations performed will be color coded to show how the numbers are used.
- Experiment with different values. If appropriate, try entering values that should return no result to ensure that your price modifier is working correctly. In this case, a red X will appear next to the first line instead of a green checkmark.
More information about testing modifiers can be found beginning on page 99 of the OnTime User Guide.
The Start calculating after field becomes available when creating a price modifier with an overage action type. The value entered into this field specifies the starting point for calculations. Unlike the range, which determines when a price modifier should be used, the Start calculating after field determines when a price modifier should begin calculating.
This feature is especially useful if you wish to have an additional charges retroactively applied to orders when certain criteria are met. For example, if you wanted to create a price modifier that charged $5 for every 10 miles over 100, you would use a range. However, if you wanted that price modifier to charge $5 for every 10 miles above and below 100, but only if 100 miles is travelled, you would use the Start calculating after field. This way, if less than 100 miles were travelled, no additional charges would be added, but if more than 100 miles were travelled, OnTime would automatically go back and calculate a charge of $5 for every 10 miles up to and after the 100.
If you see this post it means that BlogEngine.NET is running and the hard part of creating your own blog is done. There is only a few things left to do.
To be able to log in, write posts and customize blog, you need to enable write permissions on the App_Data and Custom folders. If your blog is hosted at a hosting provider, you can either log into your account’s admin page or call the support.
If you wish to use a database to store your blog data, we still encourage you to enable this write access for an images you may wish to store for your blog posts. If you are interested in using Microsoft SQL Server, MySQL, SQL CE, or other databases, please see the BlogEngine docs to get started.
When you`ve got write permissions set, you need to change the username and password. Find the sign-in link located either at the bottom or top of the page depending on your current theme and click it. Now enter "admin" in both the username and password fields and click the button. You will now see an admin menu appear. It has a link to the "Users" admin page. From there you can change password, create new users and set roles and permissions. Passwords are hashed by default so you better configure email in settings for password recovery to work or learn how to do it manually.
Configuration and Profile
Now that you have your blog secured, take a look through the settings and give your new blog a title. BlogEngine.NET is set up to take full advantage of many semantic formats and technologies such as FOAF, SIOC and APML. It means that the content stored in your BlogEngine.NET installation will be fully portable and auto-discoverable. Be sure to fill in your author profile to take better advantage of this.
Themes and Plugins
One last thing to consider is customizing the look and behavior of your blog. We have themes and plugins available right out of the box. You can install more right from admin panel under Custom.
On the web
You can find news about BlogEngine.NET on the official website. For tutorials, documentation, tips and tricks visit our docs site. The ongoing development of BlogEngine.NET can be followed at Github. You can also subscribe to our Youtube channel.
Good luck and happy writing.
The BlogEngine.NET team
What is the Value?
The value is one of the most essential components of every price modifier. The value represents the amount that will eventually be used to calculate a price, usually the amount to charge for the price modifier. The value is, in most cast, an amount of money and can be a positive or negative number and may contain decimal places.
Using the Value field
Depending on the action of your price modifier, you may wish to use the value field to achieve different results. If the action is a Flat Amount, you may be charging a flat rate of $2 for this price modifier. If you are using an Incremental Overage Amount, you may be charging $2 for every 10 pounds on shipments using this price modifier. In both cases, the value entered should be 2.
When using some actions, the value will be represented by a percentage. In these cases, the value should be entered as a whole number, not as a fraction of one. For example, if you are using an action type of Flat Percentage to calculate and charge a flat 10% in tax, you would enter a value of 10.
What is a Range?
When using an overage type action in a price modifier, a range can be specified using thresholds to indicate when the price modifier should be used and when it should be ignored. The range can be positive or negative numeric values and may contain decimal places.
The range will be compared against whatever you have chosen for the watch value to determine if the price modifier applies. Ranges are especially useful when you wish to create a modifier that only generates a price on orders when certain criteria are met.
Using Ranges to Set up Tiered Pricing
As mentioned above, ranges can be used to create modifiers that have certain requirements to apply to a shipment. If you wish to create a tiered pricing structure, you can use ranges to help achieve your desired results.
For example, if you wish to have an advanced tier of pricing and service, you can create multiple price modifiers. When using this tier, you may wish for certain charges and services to apply, such as white glove service or insurance. You may also wish to ensure that this option is only applicable if the Declared Value is over $100. Using this method in conjunction with groups can allow you to create complex, tiered pricing structures that automatically calculate in the background.
What is the increment field?
Increments can help you to create a lot of flexibility within your pricing structures. The increment field becomes available when you are creating a price modifier that uses an incremental overage action type. By default, the increment will usually be one, but can be changed to any value you require, including a positive, a negative, or one containing up to three decimal places. The value entered into this field defines the amount by which to count the watch value, which means that you can tell OnTime which field to look at and gather information from.
When to use an increment?
When you wish to have OnTime look at a certain value in an order and adjust the price of the order based on that value, you will want to use an increment. Additional charges can be created with an increment based on the price modifier’s chosen watch value. Possible watch value choices include weight, quantity, distance, height, width, depth, cubic dimensions, declared value, base price, and custom amount.
Using the watch value in conjunction with increments allows you to create virtually any incremental price modifier that you need. Charges for additional weight, mileage, value, volume, and more can be made. Because increments can be any value, you can create specific incremental price modifiers that best suit your business. For example, if you ship large freight you can create an additional weight charge for $10 for every 100 pounds. But, if you ship small freight you may wish to create an additional weight charge for $0.10 for every 5 pounds.
Utilizing other features of price modifiers such as Ranges, Start Calculating at, and groups with incremental modifiers can allow you to create complex, layered pricing structures with various tiers.
Actions are different types of arithmetic that OnTime delivery software uses when calculating a price modifier to determine a price.
Types of action include Flat Amount, Flat Percentage, Flat Overage Amount, Flat Overage Percentage, Incremental Overage Amount, and Incremental Overage Percentage. All of these actions can be positive numbers, negative numbers, or contain decimal places.
Flat Amount and Flat Percentage Actions
These actions will perform simple equations using a specific amount or percentage and apply to the base price of an order. These action types are useful when you want to apply an unchanging charge, such as a $5 delivery fee or 10% commission.
Flat Overage Amount and Flat Overage Percentage Actions
Based on a price modifier’s watch value and thresholds, these actions can be used to apply to an order when certain criteria are met. Charges calculated by these actions will only be applied when the specified threshold is exceeded on an order. You may wish to use these actions when applying additional fees, such as rates for orders with exceptional weight or mileage.
Incremental Overage Amount and Incremental Overage Percentage Actions
Like Flat Overage Amount and Percentage actions, these actions use a price modifier’s watch value and thresholds to determine if the modifier should apply to an order based on the outlined criteria. Incremental action types also use the increment field to determine if charges calculated should be applied to an order. These modifier actions will apply every time the threshold is exceeded. These actions can be used when applying fees that should be charged again and again, such as per-mile or per-pound rates.
Welcome to the first in our eight post Price Modifiers series. In courier businesses, prices often need to vary from shipment to shipment based on a variety of diverse factors and OnTime has streamlined this process to make it simple to setup and use. Whether you are new to OnTime courier software or simply looking for a recap, there will be something in this series for all users. We will start by breaking price modifiers down.
What is a Price Modifier?
Simply put, price modifiers adjust (or modify) the cost of an order up or down.
Price modifiers are the way that OnTime creates accessorial or optional charges on orders. Modifiers can be used to automatically calculate and apply charges such as a fuel surcharge or an additional weight charge to your orders.
Price modifiers can be made to perform various functions and can be grouped to create complex, flexible pricing structures. Modifiers will automatically run in the background when they are applied to orders,so OnTime calculates your prices on-the-fly.
Modifiers are created at a global level; once the modifier is created in OnTime it can be used anywhere and applied to any customer without having to re-create the same modifier. OnTime allows the modifiers to change across multiple price sets, allowing flexibility.
Classification of Modifiers
Modifiers can be classified into two categories: customer and driver. Both categories are used in a similar manner to change pricing, but the driver category is designed to work with employee/sub-contractor pay and the customer category for customer billing.
Types of Modifiers
Different types of modifiers accomplish different tasks. Below you will find a breakdown of our 4 modifiers.
- General Option
- Signature Capture
- Collect on Delivery (C.O.D.)
- Distance base price
Over the next several weeks, we will go in-depth into each section of price modifiers. Below you will find a breakdown of the series:
- What is a Price Modifier?
- Adjusting Prices with Actions
- Defining an Increment
- Importance of Values and Ranges
- Where to Start Calculating
- How to Test a Price Modifier
- Zone Based Lookup Tables
- How to Group Modifiers