Service Wizard Setup and Use Follow
Setting Up Service Wizards
Midnight uses Service Wizards to simplify and standardize job pricing. Wizards guide users through a series of configurable questions that can automatically adjust pricing and production parameters for a selected service.
For example, an Inserting service with a base price of $0.014 may prompt the user with questions such as:
- How many inserts are included?
- What size are the inserts?
- What type of envelope will be used?
- Additional job-specific questions as needed
Based on the user's responses, the wizard can modify one or more of the following service attributes:
- Price
- Run Rate
- Cost
- Setup Fee
- Setup Time
There is no limit to the number of questions that can be included in a wizard. However, for ease of use and maintenance, it is recommended to limit wizards to three to four primary questions whenever possible. Before deploying a new wizard for production use, thoroughly test it within a sample estimate or order to ensure it produces the expected results.
It is highly recommended to map out your Service Wizards in a spreadsheet before configuring them in Midnight. Documenting the wizard structure, questions, response options, and pricing adjustments helps ensure consistency, simplifies maintenance, and reduces the risk of setup errors or duplicate configurations. A spreadsheet also provides a clear reference for testing and future updates.
As a best practice, organize and number Service Wizards by service category. For example:
- 1000-1999: Data Processing
- 2000-2999: Pre-Press
- 3000-3999: Printing
- 4000-4999: Bindery
- 5000-5999: Mailing Services
- 6000-6999: Shipping
Using a consistent numbering convention makes it easier to locate, manage, and report on Service Wizards as your database grows.
It is also recommended to add a descriptive prefix to the Choice Text values within a Service Wizard. Because the selected Choice Text is often displayed on production instructions and work orders, adding a prefix provides additional clarity for production staff and helps eliminate ambiguity.
For example, instead of using:
- In Sets of 50
- In Sets of 100
Use:
- Shrink Wrap: In Sets of 50
- Shrink Wrap: In Sets of 100
This approach makes the production instructions more descriptive and easier to understand when multiple wizard selections appear on a work order. Following a consistent naming convention for Choice Text values improves communication between estimating, customer service, and production teams while reducing the risk of misinterpretation on the shop floor.
Each Service Wizard consists of two levels of configuration:
- Parent records, which define the primary questions and structure of the wizard.
- Child records, which define the available responses and the pricing or production adjustments associated with each response.
To access Service Wizards, click the Admin gear icon in the upper-right corner of the screen, then select Service Wizards from the navigation menu. This opens the Service Wizard Administration screen, where you can create and manage wizard configurations.
Service Wizard Screen
You can add additional options directly within the Wizard Detail section. When creating a new option, the fields are automatically populated with the values from the selected wizard detail record, allowing you to quickly create similar options and make any necessary adjustments.
The available fields are:
- Choice Text: The text displayed to the user during wizard selection and stored for use on printed estimates, work orders, invoices, and other production documents.
- Run Rate Expr: Specifies whether the selected option will add (+), subtract (-), multiply (*), or divide (/) the service's run rate.
- Run Rate Variance: The value used by the Run Rate Expression to adjust the run rate.
- Setup Fee Expr: Specifies whether the selected option will add (+), subtract (-), multiply (*), or divide (/) the service's setup fee.
- Setup Fee Variance: The value used by the Setup Fee Expression to adjust the setup fee.
- Setup Time Expr: Specifies whether the selected option will add (+), subtract (-), multiply (*), or divide (/) the service's setup time.
- Setup Time Variance: The value used by the Setup Time Expression to adjust the setup time.
- Text Input: Allows the user to enter a custom response while the wizard is being completed during estimate or order entry.
- Price Expr: Specifies whether the selected option will add (+), subtract (-), multiply (*), or divide (/) the service's base price. For example, to add $0.01 to the base price, select "+" as the Price Expression and enter 0.01 as the Price Variance.
- Price Variance: The value used by the Price Expression to adjust the base price.
- Cost Variance: The value used to adjust the unit cost by adding, subtracting, multiplying, or dividing the existing cost.
- Variance Input: Allows the user to enter a custom price variance while the wizard is being completed.
- Sort Order: Controls the order in which wizard options are displayed. A value of 0 displays options in the order they appear on the setup screen.
- Successor: Specifies the next wizard to display after the current option is selected. Enter 0 to end the wizard sequence. Selecting a successor wizard number allows you to view and edit that wizard's configuration.
- Edit and Delete: Standard options used to modify or remove wizard detail records.
As you add or modify wizard options, be sure to test the wizard within a sample estimate or order to confirm that pricing, setup times, run rates, and successor logic behave as expected. Proper testing helps ensure accurate estimates and clear production instructions.
Creating Your Own Wizard
If you plan to create your own Service Wizards rather than modifying the standard Midnight wizards, it is recommended that you follow an iterative design process. Taking the time to plan and test your wizard logic before building it in Midnight will help ensure accurate pricing, logical workflows, and a better user experience.
Follow these steps when developing a new wizard:
- Identify the Questions
- Create a list of the questions a Customer Service Representative (CSR) would ask a customer to accurately price the service.
- Define the Available Responses
- For each question, document all possible options or answers the customer may select.
- Establish a Base Service
- Determine the most common combination of choices and use that workflow as the basis for your service. Set the corresponding base price and base run rate on the service record.
- Assign Variances
- For each response option, define the pricing, cost, setup fee, setup time, or run rate adjustments that should be applied when that option is selected.
- Organize the Question Flow
- Arrange the questions in a logical order that supports the pricing structure and makes the wizard easy for users to complete. Typically, broader questions should appear before more specific or conditional questions.
- Test Every Pricing Path
- Create sample estimates and work through all possible wizard combinations to verify that pricing calculations, costs, and production values produce the expected results.
- Apply Run Rate Factors
- Configure any required run rate adjustments to ensure production estimates accurately reflect the complexity and requirements of each option selected.
Before deploying a new Service Wizard into production, thoroughly test all question paths and pricing scenarios. Careful planning and validation will reduce maintenance, improve estimate accuracy, and provide a more consistent experience for users entering estimates and orders.
Adding a Wizard Parent Record
To create a new Service Wizard, first add a Parent Record. The parent record defines the wizard and the question that will be presented to the user during estimate and order entry.
The available fields are:
Number: A unique identifier for the wizard. It is recommended to follow a consistent numbering convention based on service type (for example, Data Processing: 1000-1999, Pre-Press: 2000-2999, Printing: 3000-3999, etc.).
Category: A descriptive category that appears in the lower-right corner of the wizard screen while the CSR is completing the wizard.
Description: A description of the wizard. This should clearly identify the purpose of the question or service being configured.
Instruction: The question or instruction displayed at the top-left of the wizard screen that prompts the CSR for input. This should be written in a clear, customer-focused manner to guide the user through the pricing process.
After entering the required information, click Save to create the parent wizard record. Once the parent record has been saved, you can expand the wizard and begin adding Wizard Detail (Child) Records, which contain the available response options and any associated pricing, run rate, setup fee, setup time, or cost adjustments.
Using Service Wizards
Assigning a Wizard to a Standard Service
For a Service Wizard to be available during estimate or order entry, it must first be assigned to a Standard Service as a service action. This assignment is performed from the Standard Services setup screen.
To access Standard Services, click the Admin gear icon in the upper-right corner of the screen, then select Standard Services from the navigation menu. Open the service to which you want to assign the wizard.
Within the Standard Service setup screen:
- Select Launch Service Wizard from the Service Action dropdown.
- Choose the starting wizard number from the Wizard Number dropdown list.
- Save the service record.
Once assigned, the selected wizard will automatically launch whenever that service is added to an estimate or order. The wizard will then guide the user through the configured questions and apply any associated pricing, cost, run-rate, setup fee, or setup time adjustments based on the selected responses.
Note: The wizard number selected should be the starting (parent) wizard in the wizard sequence. Any successor wizards configured within the wizard structure will be displayed automatically as the user progresses through the workflow. Before making the service available to users, test the wizard thoroughly in a sample estimate or order to verify that all pricing calculations, production instructions, and successor paths behave as expected.
Standard Service Launch Action
When a user selects a Standard Service that has a Launch Action of Wizard, the associated Service Wizard will automatically open. The wizard will then guide the user through a series of predefined questions designed to gather the information needed to accurately price and configure the service.
As the user answers each question, the wizard can apply adjustments to the service's Price, Cost, Run Rate, Setup Fee, and Setup Time, based on the options selected. Once all questions have been answered, the resulting values are applied to the service and carried into the estimate or order.
When a Standard Service Wizard is launched from an estimate or order, the wizard displays the question or instruction configured for the current wizard step, along with the available response options.
To proceed through the wizard, click the appropriate Wizard Step (choice) that best matches the job requirements. Based on the selected option, the wizard may:
- Apply pricing, cost, run rate, setup fee, or setup time adjustments.
- Display the next wizard question if a Successor Wizard has been configured.
- End the wizard if the selected option has a Successor value of 0.
Continue selecting the appropriate Wizard Step options until all questions have been answered and the wizard is complete. Once finished, the calculated values and selected responses are applied to the service and become part of the estimate or order.
Service Detail Icon
Relaunching a Service Wizard
If you need to modify or reselect the options chosen in a Service Wizard, you can relaunch the wizard directly from the Service Detail screen.
To relaunch a wizard:
- Open the service detail record within the estimate or order.
- Click the Magic Wand icon located at the top of the Service Detail popup.
- The assigned Service Wizard will reopen, allowing you to step through the wizard again and update the selected options as needed.