While I am on holidays I thought I would write an example of using the product catalog for a holiday tour operator in Dynamics 365 sales module. This blog post discusses how I would implement the product catalog for a business that provides guided tours and scuba diving trips for tourists.
In this sample we discuss
Price lists and price list items,
Units and unit groups,
Firstly, the requirements; D365 Freelancing Tour Operator is a business that provides guided tours and scuba diving excursions to tourists.
D365 Freelancing Tour Operator has 4 guided tours which are;
$50 - Tour 1 - Mountain Viewpoint,
$45 - Tour 2 - Museum,
$30 - Tour 3 - Wildlife Safari,
$25 - Tour 4 - Market Place,
D365 Freelancing Tour Operator has 2 all-day tour packages
$90 - All day Packaged Tour 1; which consists of lunch as well as Tour 1 - Mountain Viewpoint, Tour 3 - Wildlife Safari and Tour 4 - Market Place.
$100 - All day Packaged Tour 2; which consists of lunch as well as Tour 1 - Mountain Viewpoint, Tour 2 - Museum and Tour 4 - Market Place.
All tours and packages have the following business rules
All tours include entry fees and transport costs.
Discounts can apply at the tour operators discretion.
Each tour has a different start and returns times.
The scuba diving excursions includes two dives per day and lunch. The scuba diving excursions can be purchased with equipment hire or without equipment hire. The costs are;
$100 - Scuba Diving Excursion with Equipment Hire
$80 - Scuba Diving Excursion.
Additionally, a discount of 5% per scuba diving excursions applies when the customer books more than 1 excursion, limited to 20% eg;
5% discount for 2 Scuba Diving Excursions
10% discount for 3 Scuba Diving Excursions
15% discount for 4 Scuba Diving Excursions
20% discount for 5 Scuba Diving Excursions
20% discount for 6 Scuba Diving Excursions
20% discount for 7 Scuba Diving Excursions
All excursions include lunch
All excursions start at 8 am and return to the store at 12:30 pm
A customer can rent various pieces of equipment if required;
$10 - BCD
$10 - Weight Belt and Weights
$20 - Go Pro
$10 - Fins
$5 - Snorkel and Mask
low season guided tour prices are reduced by a flat 12%.
Unit Groups and Units
For simplicity, in real life, I would have one unit of per person for all guided tours and scuba diving excursions but for demo purposes, I have a Per Person unit and a Per Couple unit under a Tours unit group. Future enhancements could be by adult and by child.
Unit Group: Tours
Units: Per Person (Base), Per Couple
The product family hierarchy has been set up to be future proof.
The D365 Freelancing Tour Operator is set up as the root of the hierarchy, allowing new product lines (eg. additional child product families other than guided tours and scuba diving such as a restaurant or kiosk) or to allow another business by adding a new root product family with no parent.
The scuba diving product family has been broken down into additional equipment and excursions family. This is so that products under the guided tours and scuba diving excursions product families can inherit the product properties of; departure time, return time, lunch included and all fees included.
Product Families: D365 Freelancing Tour Operator, Guided Tours, Scuba Diving, Scuba Diving Excursions and Scuba Diving Equipment.
Why create a product family hierarchy? Because it makes reporting easier. We can report on products that are under a certain product family. Additionally, you can restrict lookup fields to only include products under a specific product family. This is very useful when/if customising the quote, invoice, line item forms. The images below demonstrate an advanced find view that shows products under the D365 Freelancing Tour Operator family.
The below diagram demonstrates the full product hierarchy for this blog.
Price Lists and Price List Items
As prices vary by high and low season. We will create two price lists one for high season and 1 for low season. This will future proof the solution by allowing D365 Freelancing Tour Operator, to set, should they need to, any price per high and low season rather than the flat 12%.
Price Lists: High Season and Low Season
Price List Items: High Season - Each product, Low Season - Guided tour products only.
Even though scuba diving excursions and equipment products are the same prices for high and low season price lists, they need to be added to both the high and low season price list item. This is to ensure scuba diving equipment can be added to a quote or invoice when either the low season or high season price list is selected.
When generating a quote, invoice or opportunity the salesperson can choose between the high or low season price list. Generating an invoice with the same products and a different price list results in an invoice with different prices. This is a great way of creating a price list for special promotions or seasonal sales. Eg your end of financial sales or a Christmas promotion. The two images below show the two invoices for the same product from different price lists.
Consider the complexity of multiple units, as a price list item needs to be created for every combination of product and unit group. This can get complex quick!
I would not recommend multiple unit groups unless you are going to customise the quote line item sub-grid on invoices, opportunities and ect.
Why? Because, unless customised, the quote and opportunity form does not display the unit used and therefore the salesperson does not understand why the product line item is a different price to the default unit. Additionally, customers will not understand why two identical out of the box quote or invoice reports have a different price for the same product because the unit is not included in the reports.
A percentage discount has been created for the Scuba Diving Excursion. A 5% discount is applied for every Scuba Diving Excursion the customer purchase.
The discount is automatically applied to when saving a line item. The below images show the discount for a Scuba Diving Excursion when the qty is 1,2 and 7. Notice the discount is 20% when the qty is 7.
I added the same product properties of; 1. All Fees Included, 2. Departure Time, 3. Lunch Included and 4. Return Time to the Scuba Diving Excursions and the Guided Tours product families.
All of the properties are read-only. If for instance the departure and return time could change day to day then the tour operator could edit these properties for every invoice line item as the create the invoice. The product properties could then be included on the invoice or in an email notification to the client.
For this scenario, the product properties are not very useful however I included the product properties for demo purposes.