Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
top
top

Search Optifacts User Documentation

Live Search
spaceKeyOPPUB
placeholderEnter search keyword(s) here


Table of Contents (on this page)

Table of Contents
outlinetrue
indent20px
stylenone

Introduction

This document provides instructions for setting Campaigns.

Procedure

Custom Configurations

From the Optifacts main menu:

Select Option 3 - Editor Utilities and press enter.

Select Option 6 - Configuration Editor and press enter.

Select Option 6 – Edit Custom Configuration and press enter.

  • Press “Q” to Query the table.
  • Enter some search criteria in any of the fields.
  • Press Escape to perform the search.

If the table does not exist:

  • Press “A” - Add a new record.
  • Enter all the information as required. (Refer to the field definitions below)
  • Press Escape to save the data.
  • Press “E” to exit the screen.

Save Group Names

Enable the following custom configuration to see which routing group names are assigned to the job. This helps when debugging campaign set-up.

Image Added

Campaign SubTotal

Enable the following custom configuration if you wish the campaign discount to be split out on the invoice after the Subtotal line.


Example Invoice Total:


Debug Campaigns (Optional)

Enabling the following custom configuration will output extra information into the daemon logs regarding how campaigns are applied.


Cancellation Ability

If the below custom configuration is enabled, we will allow the cancellation of a job used for a campaign.


Apply Campaign Last

If the following custom configuration is enabled, we will apply the campaign price list after any job-triggered price lists. Otherwise, they get applied at the same time.


If the above configuration is enabled, we will apply any Add pricing for the Campaign Commercial Price List after any other commercial price list pricing. This also affects any Add pricing for HIPAA PLAN (job-triggered) commercial pricing, regardless of the above custom configuration.

Separate Commercial Pricing Discounts

If the following custom configuration is enabled, we will only accumulate percent discounts within the same pass – so, ca_custom_plan pass, then HIPAA PLAN pass, then Campaign pass. This is configurable. If the “SEPARATE CA PERCENTS” custom configuration is enabled, then we will split the commercial pricing percent discounts if the passes do not match. Otherwise, we will accumulate the discounts. However, if the “APPLY CAMPAIGN LAST” custom configuration is enabled, we will specifically not accumulate the percentages across pass levels for campaign price list percent discounts.


Always Price Campaigns (Optional)

Campaign defaults are to not apply any campaign discounts until either mailout or drop-ship time. If, instead, the desire is always to price campaigns, starting at Feasibility showing the best-estimated campaign price, and then officially applying campaign discounts at the pick ticket stage and subsequent stages, enable the below custom configuration.


BOGO Price on Hold (Optional)

Suppose, in a BOGO situation, Optifacts receive the job to be discounted before the job(s) that qualify as the purchased jobs. In that case, you can add the configuration below to put the to-be-discounted job on hold. These jobs will not price. Instead, they get put in a queue with the INVALID reason of “BOGO CAMPAIGN - WAITING FOR MATCHING JOB.” Once the required number of matching purchased jobs come in, the on-hold jobs will be kicked automatically and continue processing as usual.


BOGO On Hold - Queue (Optional)

The on-hold BOGO jobs will be available on the Queue Release screen. (Refer to Queue Rx Ticket Printing Setup documentation for details) with the queue name “CAMPAIGN BOGO ON HOLD.” When kicked from the queue, the ofdemon will try to process the jobs. If the job is still waiting for enough purchased jobs for the campaign to be fulfilled, the job will go back to the on-hold queue status.


BOGO On Hold - Invalid (Optional)

The on-hold BOGO jobs will also be available in the Invalid Report screen, menu 5-11, if the below configuration is enabled. If no other reason for the job is present, it will have the “BOGO CAMPAIGN - WAITING FOR MATCHING JOB” invalid reason. The jobs can be recalled in layout through this report screen by hitting “E” on the line for the job that will be recalled.


Invalid Report Example


Campaigns Configuration

From the Optifacts main menu:

Select Option 3 - Editor Utilities and press enter.

Select Option 15 – Commercial Pricing Editor and press enter.

Select Option 9 - Campaign Editor and press enter.

Campaign Master

There are two tables: campaign_mst is the Master table. This table holds the overall campaign name, description, and date range.

  • Enter all pertinent information.
  • Press Enter to save the data.
Info

The dates can be empty, allowing the campaign to run indefinitely.


Campaign Detail

Add a Detail record for each account, account group, or discount job type. The dates can be empty or specific per account or discount type.

  • Press “D” to access the detail section of the Campaign table.
  • Press “A” to add a new record or “U” to update an existing one.
    • Enter all pertinent information and press Enter past the Business Type field to move to the second Detail screen.
  • Press Escape to save the data.


Campaign Assignment

Account

Account Number – If the campaign is available to all accounts, leave this field blank.

Notice that the Account field is larger than our 6-character account number. This is because this field can accept either a specific bill-to-account number (ensure to type in the correct number of leading spaces, if applicable) or an account group from the routing groups in menu 3-11-14-4.


Segment

You can also assign Campaigns based on Account Segment or Account Sub-Segment from menu 3-1–15.


Group

Or by Buying Group, Sales Group, Chain Group, or Business Type from menu 3-1-13.


Campaign Job Type

The job criteria fields are available on the second Detail screen. These are routing group names (menu 3-11-14). The Purchase Group Name indicates the types of jobs we count to apply for a campaign. For example, suppose the campaign is to buy 3 Progressive lenses and get a Single Vision for 50% off. In that case, the Purchase Group Name will hold the routing group for eligible progressive lens jobs, and the Discounted Group Name will hold the routing group for eligible single vision jobs.


In the above example, we will count up to three pairs of active or mailed jobs with the qualifying “PROGRESSIVE” routing group. Then, the next qualifying single vision job with the routing group “SV ONLY” that gets mailed will get 50% off.

Info

The discount will only appear on the final mailed-out or drop-shipped invoice.

Jobs with any hand-priced values, Special Discounts, No Charge, or Dr. Redo lite-ups and credits get excluded from qualifying for any campaigns.

 Campaign Discount Type

The discount gets applied when the qualifying discount job is either mailed out or drop-shipped.

There are three ways to add the pricing or discount for the campaign.

Campaign-Specific Commercial Price List

Assign a commercial price list. If different amounts are discounted by product, coating, etc., we use the hpa_hcpc table to create a commercial price list. Once the price list is created, add the Plan Identifier’s name as the Commerical Price List.


You must define the commercial price list in menu 3-15-2  with a valid or empty date range.


It also needs to have records defined in 3-15-4 for the many types of discounts that can be applied.


Percent Discount on Whole Job

You can apply a percentage discount to the whole job (minus any special account handling fee or miscellaneous prices).


Override Entire Job Total

You can override the job’s total price as a single price. The example below prices the job at $10.00.

Info

This does not include any special account handling fees or miscellaneous prices.


Job Data Record to Match (job_data_match field)

Fields have been added to the campaign table: job_data_match and check_for_lowest. An option for campaigns is to match jobs based on the same job_data value. The job_data name goes in this field, Job Data Record to Match. The example shows the job_data name of “CAMPAIGN MATCH,” but this could be the VisionWeb number, the Full Patient Name, the PO Number, or any other job_data record. All jobs in the Purchase Group and the Discounted Group need this field to match for the campaign to apply.

You must define the job_data name in the job_def table in menus 3 - 6 - 7.


Compare Job Totals (check_for_lowest field)

This field only applies to jobs that have the job_data match requirement at this time. The default is “N,” meaning that we will apply the campaign discount to the Discount job regardless of the final job price of the jobs. The other two options are “Y” and “F.”

“Y” is where we will compare the Discounted job’s total (before the campaign discount) to the smallest of the Purchased jobs, and if it is not the smaller, we will only apply the cheapest discount.

So, for the example above, if the cheapest PROG ONLY job was $55 and the SV ONLY job was $60, we will only give a $30 discount to the $60 job. $55 (cheapest job) - $25 (the final campaign price) = $30 (the cheapest discount). So the SV ONLY in this example would have a final campaign price of $30 ($60 - 30) even though the campaign says we should override the job total to be $25.

Similarly, if the campaign said to apply a 50% discount to the whole job, $55 x 50% = $27.50, for the cheapest discount.. $27.50 / $60 = 45.83% discount to be applied to the SV ONLY job.

“F” in this field indicates that we, again, compare the Discounted job’s total (before the campaign discount) to the smallest of the Purchased jobs and, if it is not less than or equal to it, fail the discounted pricing for the SV ONLY job. However, we will still mark it and the PROG ONLY jobs used for the campaign. Therefore, the SV ONLY job will not receive any campaign pricing discounts.

Limitations

Due to the flexibility of commercial price lists, we cannot allow a “Y” in the Compare job totals field along with a commercial price list. It would be too complicated at this time to calculate the cheapest discount when using commercial price lists.

If not matching based on a job_data field, and the purchased group and discounted group are the same, a job can apply towards itself - as in previous versions of campaign functionality. With the new BOGO On-Hold functionality, a job can apply towards itself when there is a match field. The custom configuration is not required, but the logic will now handle it.

Order Entry

Enter jobs as usual through Order Entry or via Retail Transfer. Any jobs entered or recalled before Verify (pick ticket stage) after a valid campaign gets added will be checked if it qualifies as a Purchased job type. Jobs after verification, including any unmailed or uncancelled jobs, will not be checked if they qualify as a Purchased job type.

Clearing an On-Hold BOGO Job

  • Recall the job. This can be through the Invalid Report screen, Quick Lookup, or Order Entry. At the job_data collection screen, put spaces in the value to clear it out for the line that holds the BOGO matching field. The job will then process and price as usual, with no BOGO campaign pricing.
  • Or Cancel the job.

Mail Out or Drop-Ship

Mail out or drop-ship orders as usual. Any jobs mailed out or processed to drop-ship after a valid campaign gets added will be checked if it qualifies as a Discounted job type. If it does qualify and there are the appropriate number of Purchased jobs in the system, the discount is shown on the invoice.


To view and download these instructions as a PDF file, click on the following document image.