System and method for vehicle service scheduler

Methods and systems pertaining to generating a set of appointments for a vehicle shop schedule are described. A method can comprise outputting a first vehicle shop schedule for displaying on a display. The first vehicle shop schedule comprises a first set of appointments. The method further comprises receiving a first new appointment that comprises first temporal data and first customer data. Furthermore, the method comprises generating a second set of appointments by aggregating the first new appointment with the first set of appointments and outputting a second vehicle shop schedule for displaying on the display instead of displaying the first vehicle shop schedule. The second vehicle shop schedule comprises the second set of appointments. One or more appointments can include technician data and shop resource data, such as a vehicle bay or scan tool identifier, for providing schedule views based on technicians or shop resources.

BACKGROUND

Most vehicles are serviced at least once during their useful life. In many instances, a vehicle is serviced at a service shop with professional mechanics (e.g., technicians). The service shop may be referred to by various names such as a repair shop, a vehicle shop, or more simply a shop.

The technicians at a service shop may use any of a variety of hand tools to service (e.g., repair) any of the wide variety of mechanical components on a vehicle. The technicians may also use electronic diagnostic equipment to service (e.g., diagnose) any of the wide variety of electrical components on a vehicle. The technicians may use other resources and equipment at the service shop to service a vehicle. In some instances, the technician demand for tools, equipment or shop resources may be greater than the available supply of the tools, equipment or shop resources at the shop where the technicians needing the tools, equipment or shop resources are located.

When the tools, equipment or shop resources needed to service a vehicle are unavailable to a technician, the technician may turn to working on another vehicle. In some instances, the vehicle not being worked on may need to be moved out of the technician's service bay so that a different vehicle may worked on within the service bay. Movement of vehicles for such purposes may be considered a waste of time. Furthermore, an owner of the vehicle moved out of the service bay may need to wait longer at the service shop before servicing of the vehicle is complete or otherwise may not receive the vehicle at a promised completion time.

Managers of shop resources, technicians, and vehicle service appointments could benefit from a scheduler device and actions performable by a scheduler device or components of a scheduler device to schedule appointment for servicing vehicles, and even more so, if the scheduler device schedules appointments with respect to technicians working at a repair shop and/or the resources available to the technicians at the repair shop for servicing vehicles.

Overview

Several example embodiments that relate to generating, modifying, and/or reconfiguring a vehicle shop schedule or an appointment within the vehicle shop schedule are described. A vehicle shop schedule can comprise one or more appointments. A processor can output a vehicle shop schedule for displaying in one or more different schedule views.

Viewed from one aspect, an example embodiment takes the form of a method comprising (i) outputting, by at least one processor, a first vehicle shop schedule for displaying on a display, wherein the first vehicle shop schedule comprises a first set of appointments, (ii) receiving, by the at least one processor, a first new appointment, wherein the first new appointment comprises first temporal data and first customer data, (iii) generating, by the at least one processor, a second set of appointments by aggregating the first new appointment with the first set of appointments, and (iv) outputting, by the at least one processor, a second vehicle shop schedule for displaying on the display instead of displaying the first vehicle shop schedule, wherein the second vehicle shop schedule comprises the second set of appointments.

Viewed from another aspect, an example embodiment takes the form of a computing system comprising: a computer-readable medium having stored thereon a first vehicle shop schedule, and at least one processor coupled to the computer-readable medium and programmed to: (i) output a first vehicle shop schedule for displaying on a display, wherein the first vehicle shop schedule comprises a first set of appointments, (ii) receive a first new appointment, wherein the first new appointment comprises first temporal data and first customer data, (iii) generate a second set of appointments by aggregating the first new appointment with the first set of appointments, and (iv) output a second vehicle shop schedule for displaying on the display instead of displaying the first vehicle shop schedule, wherein the second vehicle shop schedule comprises the second set of appointments.

Viewed from yet another aspect, an example embodiment takes the form of a computer readable medium having stored thereon instructions executable by at least one processor to cause a computing system to perform functions comprising: outputting, by at least one processor, a first vehicle shop schedule for displaying on a display, wherein the first vehicle shop schedule comprises a first set of appointments, receiving, by the at least one processor, a first new appointment, wherein the first new appointment comprises first temporal data and first customer data, generating, by the at least one processor, a second set of appointments by aggregating the first new appointment with the first set of appointments, and outputting, by the at least one processor, a second vehicle shop schedule for displaying on the display instead of displaying the first vehicle shop schedule, wherein the second vehicle shop schedule comprises the second set of appointments.

These as well as other aspects and advantages will become apparent to those of ordinary skill in the art by reading the following detailed description, with reference where appropriate to the accompanying drawings. Further, it should be understood that the embodiments described in this overview and elsewhere are intended to be examples only and do not necessarily limit the scope of the invention.

DETAILED DESCRIPTION

This description describes several example embodiments including example embodiments pertaining to a vehicle shop scheduler (or more simply “shop scheduler” or “scheduler.”) The scheduler of the example embodiments may enable a shop to improve its management of workflow within the shop including scheduling technician time, service appointments, and shop resources.

The scheduler may include scheduling for shop events that keep the shop open for a reason other than servicing a vehicle. As an example, a shop event may include a shop event in which a contractor or vendor changes oil in the shop's air compressor, replaces filters in the shop's air conditioning unit, cleans or paints the shop's floor, or performs inventory in the shop's parts department.

The scheduler may enable a user to schedule for events in which the shop is closed such as holidays or a shop party. The scheduler may include program logic to perform conflict management for scheduling work to be performed by humans (e.g., employees at a shop) or using shop resources.

The scheduler may provide for displaying notifications of possible schedule conflicts. The scheduler may provide for displaying multiple aspects of a shop's day, week or month and may allow for easily changing of services appointments from one time to another time, or from one day to another day. As an example, the scheduler may display service appointments on a calendar and allow a service appointment scheduled for a first date, a first time, and a first technician to be dragged and dropped to a different location within the calendar to change at least one of the first date, the first time, and the first technician to a second date, a second time, and a second technician, respectively, for the service appointment. The calendar described herein may be referred to as a schedule calendar and the scheduler may include a calendar view in which the schedule calendar is displayed in a GUI.

The diagrams and other data shown in the figures are provided merely as examples and are not intended to be limiting. Many of the elements illustrated in the figures or described herein are functional elements that may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. Those skilled in the art will appreciate that other arrangements and elements (e.g., machines, interfaces, functions, orders, or groupings of functions) may be used instead. Furthermore, various functions described as being performed by one or more elements may be carried out by a processor executing computer-readable program instructions (CRPI) or by a combination of hardware, firmware, or software. Furthermore still, identical reference numbers used in the same or different figures, if any, denote elements that are identical to other elements referred to by the same reference number, but those denoted elements and the other elements are no so limited.

II. Example Scheduler GUI

One or more processors of an example system can be programmed to provide a vehicle shop schedule in accordance with the example embodiments. In particular, the one or more processors can be programmed to provide a vehicle shop schedule that includes any of the features shown inFIG. 1toFIG. 44. The one or more processors may be programmed to provide the vehicle shop schedule by operating a schedule application. The schedule application may be selected via a menu of selectable applications.

FIG. 11shows a graphical user interface (GUI)120provided by the one or more processors of a system that provides a menu including a schedule application127selection. The menu may provide for selecting other applications. As an example, those other applications may include one or more of a work-in-process application121, a quoting application122, a new appointment application123, a counter application124, a purchase order application125, an inventory application126, a users application128, a reports application129, a forum application130, a setup application131, a help application132, a repair information application133, and a social CRM report application134.

Providing a schedule may include one or more of the following functions: providing for entry of shop resource data, providing for entry of service personnel data (e.g., technician data), providing for entry of vehicle identification data, providing for entry of customer data (e.g., vehicle owner identification data), providing for entry of service appointment data, and providing for entry of default shop data. Providing for entry of any of that data may include outputting a GUI into which the data may be entered; receiving the entered data at one or more processors, and storing the entered data within a computer readable medium. As an example, storing the entered data may include storing the entered data into a schedule database414(shown inFIG. 31). Storing the data can comprise aggregating the entered data into an appointment and/or a schedule. The appointment or schedule may have been generated previously or may be generated in response to receiving the data. The computer-readable medium and the schedule database may be used by a single service shop. Alternatively, the computer-readable medium may include multiple schedule databases, one for each service shop of a group of multiple service shops. Outputting a GUI may include transmitting the GUI or the data to display in the GUI to a schedule display device. Outputting a GUI may include displaying a GUI on a display of a schedule display device.

Providing the schedule may include providing for entry of schedule options via a graphical user interface.FIG. 1shows an example GUI10for entering an example set of schedule options. GUI10includes a regular business hours definition segment12for defining regular business hours for a service shop, a schedule length definition segment14, and a holiday definition selection20. The schedule length definition segment14provides data entry boxes16to enter start time data, end time data, and days-data to define what times and a quantity of days are displayable on a schedule. The days-data may indicate a number of prior days or a number of future days. The regular business hours definition segment12may include data entry boxes18to enter start time data indicating when a service shop opens for business on each day of the week and end time data indicating when a service shop closes for business on each day of the week.

In accordance with an example embodiment, each day of the week may be set up as closed or with start and end times. To set a start or end time for a day of the week (e.g., Monday), a day of week box for the start time to be set may be selected from within GUI10. In response to selecting the day of week box (e.g., the Monday box), initial start and end times may be displayed in the start and end boxes associated with the selected day of week. As an example, the initial start time may be 8:00 AM for a time zone at which the service shop is located and the initial end time may be 5:00 PM for the time zone at which the service shop is located. The day of week box currently selected may be highlighted (e.g., by changing color of the box outline). The start and end boxes for each day of the week (as well as any other data shown or described as being displayed on a display and/or within a GUI) may be selected with a computer pointing device (e.g., a computing mouse). Selection of the start and end boxes for each day of the week can result in revealing a menu of times selectable to change the start or end time for the day of week to a time other than the initial time. The start or end times for a day of week may be entered by selecting a time from the menu of time for a start or end box without having to select the day of week box.

The visible hours for a calendar view of a schedule may be set from within the schedule length definition segment14. As an example, the start visible hour might be set to a time one hour earlier than the earliest start time set within the regular business hours definition segment12, and the end visible hour might be set to a time one hour later than the latest end time set within the regular business hours definition segment12. For a service shop open 24 hours a day, the start and stop times within the regular business hours definition segment12could be set to the same time or otherwise set to times indicating 24 hours per day are to be displayed in the calendar view of the displayed schedule.

The days-data may be set from within the schedule length definition segment14. The days-data may indicate a number of days to display in the schedule calendar from the current date. As an example, the days-data may be set to a value of 15 or 30 days or a number of days less than 15 days, a number of days greater than 15 days but less than 30 days, or a number of days greater than 30 days. The days-data may indicate a number of past days, future days, past and future days. One day of the days-data may represent the current day. If the service shop has a relatively large number of appointments per day, it may be advantageous to the set the days-data to a relatively low number of days such as 15 days.

Selection of the holiday definition selection20may result in the one or more processors of a scheduler displaying a holiday setup GUI30as shown inFIG. 2. Holiday setup GUI30includes a holiday definition segment32at which data indicating a holiday name, occurrence type, and date(s) may be entered. The holiday setup GUI30also includes a defined holiday segment34to indicate the holidays or events defined thus far for a schedule calendar.

The holiday setup GUI30includes a reoccurring selection option if a defined holiday reoccurs. The holiday setup GUI30includes an import button36to present a list of standard holidays for a particular country to be automatically entered into the schedule calendar. The holiday setup GUI30includes an add button38to add a holiday or event not yet shown in the defined holiday segment34.

To add a holiday or event, a holiday name or event may be entered into the name field46, and an occurrence type may be set to a specific date or a pattern, such as the fourth Wednesday of October. Examples of occurrence options include first, second, third, fourth, and last, and days of the week (i.e., Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday), and months of the year. Other examples of occurrence options are also possible.

To cancel any holiday or event being added, a cancel button42may be selected. To delete any holiday or event or already added to the defined holiday segment34, the holiday or event desired to be deleted may be selected and then a delete button40may be selected. A save button44may be selected to save or holidays or events entered into the defined holiday segment34. An indication of the holiday or events listed in the defined holiday segment34can appear on the schedule calendar while displaying a date range in which the holiday or event occurs.FIG. 12shows a holiday setup GUI31with a different set of holidays entered for the schedule calendar.

Next,FIG. 3shows an example appointment states GUI60that the one or more processors of a scheduler may provide for defining appointment statuses (or more simply “appointment states”). The defined appointment statuses may be selected for service appointments entered into the schedule. Appointment statuses represent a state of a service appointment. One or more appointment statuses may be predefined for a schedule. In one respect, the predefined appointment statuses are unalterable. In another respect, one or more of the predefined appointment statuses may be altered. As an example, the predefined appointment statuses may include one or more of the following appointment statuses: Waiting, Arrived, Awaiting Parts, Call and Remind, Call Customer, Cancelled, Closed, Finished, No Show, Open, and Waiting. Other examples of a predefined appointment status are also possible. Custom statuses may be added by clicking on the add button61, entering a status name in the status name field62, a code in a status code field63, and clicking a save button65. The status defined in the status name field62and the status code field63may be displayed in the field box64.FIG. 3shows an “Inspection Complete” appointment status is being added. Any custom statuses created for the schedule will be active by default; they may be marked inactive to eliminate selection in the schedule editor.

Next,FIG. 4shows an example scheduler resource editor GUI70that the one or more processors of a scheduler may provide for cataloging resources (e.g., equipment) within the service shop using the schedule. As an example, the resources within a shop may include one or more of each of the following example resources: service shop bay, scan tool, vehicle lift, tire machine, alignment machine, a location, or other item specifically needed for certain types of service appointments.

The scheduler resource editor GUI70may be used to define resources in a service shop that are required for specific jobs. For example, a service appointment to perform a wheel alignment of a vehicle may need an alignment machine and a service shop bay. As another example, a specific service shop bay may include special equipment used for vehicle emission testing.

Each resource may be defined with one or more of the following resource descriptors: a name, a color, a brand name, a nickname, a size, a serial number, a location, a description, warranty information, and notes. The color defined for a resource may define how the resource or an appointment requiring the resource is displayed for easier identification of the resource on the schedule. Cataloging and color-coding resources allow for a user to better visualize what resources are available or not available for a particular time slot on the schedule calendar. The scheduler resource editor GUI70allows for entering data regarding a particular resource, such as service or warranty information regarding the resource. Cataloging new or additional resources may occur in response to selecting an add button71, entering the appropriate data within one or more of the fields of the scheduler resource editor GUI70and then selecting a save button72.

The data entered via the scheduler resource editor GUI70may be stored within a computer-readable medium (CRM) storing the schedule information. In one respect, one resource may be associated with a service appointment. In another respect, more than one resource may be associated with a service appointment.FIG. 17shows a scheduler resource editor GUI178with a different set of data entered for cataloging another shop resource.

Next,FIG. 5shows an example technician setup GUI80that the one or more processors of a scheduler may provide to show which employees have been entered for showing on the schedule. The technician setup GUI80provides for entering and editing background details pertaining to an employee at the service shop, such as a technician or a service advisor. As an example, a technician by the name of Irving Ibanez whose details have already been entered for the scheduler may be selected and then an edit button81may be selected to cause the one or more processors to provide an employee data editor GUI. The background details may be stored as, or as part of, an employee record stored in the CRM.FIG. 14shows an example technician setup GUI175with a different set of employee records established in the scheduler.

Next,FIG. 6shows an example employee data editor GUI85that the one or more processors of a scheduler may provide to edit or enter the background details for an employee selected from the technician setup GUI80. A type of employee (e.g., advisor or technician) may be entered at an employee type field86. An hourly or salary wage and number of hours in a pay period (e.g., 80 hours for two weeks) may be entered into a wage information field87. A type and rate of a technician's commission on parts, if any, or a percentage of profit or sales of parts, if any, may be entered into a parts commission field88. A type and rate of a technician's commission on labor, if any, or a percentage of profit or sale of labor, if any, may be entered into a labor commission field89. A type and rate of a technician's commission on sublet operations, if any, or a percentage of profit or sale of sublet operations, if any, may be entered into a sublet commission field90.

In some instance, an employee may work as both a service advisor and a technician. The employee may be entered twice from technician setup GUI80, once as a service advisor and once as a technician. The scheduler will allow the employee's name to be listed in and selected from a service advisor list and a technician list in order to place the employee's name on assignments in which the employee will work as a service advisor and assignments in which the employee will work as a technician.

When creating or editing an employee record, a color may be associated with an employee by selecting the color from a color field91. The color associated with a technician may provide visual clues when viewing a calendar of the scheduler.

The technician setup GUI80provides a way to enter other background details regarding an employee such as a date of hire, a discharge date, and a pay increase date. The technician setup GUI80includes a field92to mark the employee record as active or inactive. A scheduler may be configured to prevent employees associated with inactive records to be associated with appointments being added to a schedule.

After entering or editing background details via the technician setup GUI80for an employee, an OK button93may be selected to save the employee record based on the entered or edited background details.FIG. 15shows an example employee data editor GUI176with a different set of employee background details for the employee named Irving Ibanez.

The technician setup GUI80includes an hours tab94that may be selected to cause the one or more processors to display additional hours details101for the employee as shown inFIG. 7. The hours details101are shown in a technician setup GUI100. Within the hours details101, a start time and end time for the employee may be entered. The scheduler may include default times (e.g., an 8:00 AM start time and a 4:00 PM end time). Selection of the day of week selector102for Wednesday may result in the one or more processors displaying the default start and end times for the employee. A user may modify one or both of the start and end times for each day of the week. The employee hours entered into the employee record may be used to alert a user of the scheduler if the employee (e.g., a technician) is overbooked (e.g., scheduled to do more work during the employee's scheduled hours based on a labor time guide).FIG. 16shows a technician setup GUI177with a different set of hours details for the employee named Irving Ibanez.

The technician setup GUI80and GUI100include an address tab103that may be selected to cause the one or more processors to display address details106for the employee as shown inFIG. 8. The address details106are shown in a technician setup GUI105. Within the address details105, details regarding the employee's address, an e-mail address, birthday may be entered.

Next,FIG. 9shows an auto scheduling GUI110that the one or more processors of a scheduler may provide to allow a user to select whether service appointment information entered via the scheduler may be populated into other computing applications managed by the one or more processors. The user selection may be entered via the selection window111. The auto scheduling selections may include a never selection, an always selection, and a prompt selection. Selection of the never selection may result in the scheduler never prompting the user to create a new appointment when posting an invoice. Selection of the always selection may result in the scheduler automatically starting a scheduler editor when posting an invoice. Selection of the prompt selection may result in the scheduler asking a user to start the scheduler editor when posting an invoice. The user may select yes to start the scheduler editor or no to dismiss opening the scheduler editor.

The selection window111includes options for selecting whether to auto-include quotes in a schedule and whether to auto-include estimates in the schedule. The quotes and estimates may pertain to each service appointment.

Next,FIG. 10shows a GUI115from which a configuration option of one or more the applications provided by the example system may be selected. For example, the GUI115includes a menu116and within the menu116a configurations selector117. The configurations selector117includes a scheduler setup selection from which a scheduler options, schedule statuses, or scheduler resources may be selected to configure various features of the scheduler.

Next,FIG. 11shows the GUI120. The GUI120may be displayed in response to the one or more processors of the scheduler receiving a selection of the scheduler options from the configuration selector117shown inFIG. 10. The GUI120displays a GUI140for entering schedule options similar to the GUI10shown inFIG. 1.

Next,FIG. 13shows a GUI142that may be displayed in response to the one or more processors of the scheduler receiving a selection of the schedule statuses from the configuration selector shown inFIG. 10.FIG. 13shows the GUI142overlaid upon a vehicle shop schedule143displayed in a GUI144. The vehicle shop schedule143includes customer information vehicle information, schedule times, promised time, and status information, among other data. The processor of the scheduler device can cause the GUI142to be displayed with other schedules for selecting and/or changing a status of an appointment. An appointment status selector can be configured like the GUI142or in another manner to allow inputting an appointment status selection to a processor of the scheduler device.

Any data entered into any example field shown within any ofFIG. 1toFIG. 26andFIG. 35may be stored within a CRM as the data the one or more processors of a scheduler use to provide a service schedule. The data entered into any displayed field may be deleted from a scheduler record by hitting a delete key on a keyboard when the field or the data within the field is selected.

Next,FIG. 18shows an example GUI200that may be displayed while the one or more processors of a scheduler are executing program instructions to provide a schedule. The GUI200shows new appointment selector201selectable to transition to a GUI for entering a new service appointment, a new shop event selector202selectable to transition to a GUI for entering a new shop event, a backward selector203to move backward in time relative to a current view displayed by scheduler, a forward selector204to move forward in time relative to the current view displayed by the scheduler, a go-to-today selector205to cause the scheduler to display the schedule for the date on which the go-to-today selector205is selected, a zoom-in selector206to display less of the schedule currently being displayed, a zoom-out selector207to display more of the schedule currently being displayed, a day view selector208to cause the scheduler to display a single day of the schedule, a work week view selector209to cause the scheduler to display a single work week of the schedule, a week view selector210to cause the scheduler to display a single week of the schedule, a full week view selector211to cause the scheduler to display a single full week of the schedule, and a month view selector212to cause the scheduler to display a single month of the schedule.

The GUI200includes a resource view mode selector213from which a user may select from one or more view modes a view mode to be displayed by the scheduler. As an example, the one or more view modes may include a normal view mode to display service appointments within the calendar, a technician view mode to display a schedule for one or more employees associated with an active employee data record, and a shop resource view to display a schedule for one or more shop resources associated with an active shop resource record.

Next,FIG. 19shows a GUI225to display a vehicle shop schedule214in a work week view. The vehicle shop schedule214can be displayed in response to a processor receiving an input indicating selection of the work week view selector209has occurred. The vehicle shop schedule214, similar to other vehicle shop schedules shown in the figures, comprises a schedule matrix with multiple columns and multiple rows. The schedule matrix (or more simply, “matrix”) comprises multiple columns, each column representing a different date, and multiple rows, each row representing a different time. In an alternative arrangement, the columns can represent the times and the rows can represent the dates.

The vehicle shop schedule214comprises a service appointment226scheduled for October 27, service appointments (or more simply, “appointments”)227,228,229, and231scheduled for October 29, and a shop event230scheduled for October 29. The service appointments226,227,228,229and231shown on the GUI225indicate a type of service to be performed and a customer name (e.g., a vehicle owner name, or a fleet owner name). The day on which the GUI225is being displayed may be highlighted to indicate the current date. InFIG. 19, the column for October 29 can be highlighted to gray or another color to indicate the current date. If a user of the scheduler desires to see more information about an appointment shown on the displayed vehicle shop schedule214, the user may move a computer pointing device to hover (e.g., be positioned) above or in proximity to the service appointment.

Next,FIG. 20shows an example GUI240in which a computer pointing device is hovering above or in proximity to the service appointment227such that a GUI241is displayed upon the GUI240. The GUI241includes additional information pertaining to the service appointment227. Movement of the computer pointing device away from the service appointment227and the other displayed appointments may cause the scheduler to revert to displaying the GUI249shown inFIG. 23. The GUI240is displaying the vehicle shop schedule215.

Next,FIG. 21shows an example GUI245that the one or more processors of the scheduler may display in response to selecting the service appointment227. The GUI245includes various fields pertaining to the service appointment227. The data within the fields may be edited or deleted. New data may be entered into any field without any data. The GUI245includes a time246for the service appointment. In one respect, the time246may be selected by a user based on prior experience of how long it took to perform a service operation similar to the service operation to be performed or expected to be performed during the service appointment. In this example, the service appointment is for servicing the air conditioning system of a 2009 Volkswagen Jetta. In another respect, the time246may be determined by the one or more processors of the scheduler referring to a labor time guide listing expected times for servicing the air conditioning system of a 2009 Volkswagen Jetta. In yet another respect, the time246may represent an expected arrival time (e.g., 9:00 AM) of the customer's vehicle and a promised completion time (e.g., 11:30 AM) at which point the customer may pick up the vehicle.

Next,FIG. 22shows an example GUI250including the vehicle shop schedule214with the service appointment226pertaining to performing a vehicle alignment for a customer named Marina Taff. The GUI250shows the service appointment226is scheduled for October 27 from 9:50 AM to 11:15 AM. For any of a number of reasons, the service appointment226may need to be changed to October 28 to a different time period, and/or for a different length of time. The scheduler system allows for moving the service appointment226by selecting the service appointment226with a computer pointing device while the service appointment226is shown scheduled for October 27 and dragging the selected service appointment to the desired time and date (e.g., 11:00 to 12:30 on October 28).FIG. 23shows an example GUI249that shows a vehicle shop schedule215resulting from selecting and dragging the service appointment226to the desired time and date. Modifying the time, date, and or time period for the service appointment226results in a modified service appointment232being generated and displayed on the GUI249.

Next,FIG. 24shows an example GUI255that the one or more processors of the scheduler may display in response to selecting the technician view from the resource view mode selector213. The GUI255includes a vehicle shop schedule216. The vehicle shop schedule216comprises a schedule matrix with multiple columns, each column representing a different technician, and multiple rows, each row representing a different time. In an alternative arrangement, the columns can represent the times and the rows can represent the technicians.

Upon selecting the technician view, names of technicians associated with active employee records may appear in a list of technicians260. The list of technicians260may include selectors to select a technician if the technician's schedule is presently hidden from the calendar view261or to hide a technician's schedule from the calendar view261if the technician's schedule is presently displayed in the calendar view261.

The calendar view261shows schedule256for technician Irving Ibanez, schedule257for technician Rich Redeker, schedule258for technician Ricardo Riddell, and a schedule259for presently unassigned appointments. The schedules256,257,258, and259with the GUI255can be displayed using different colors. A service appointment from one of the displayed schedules256,257,258, and259may be dragged and dropped from a first of those schedules to a second of those schedules so as to assign, reassign, or cancel assignment of a service appointment presently shown on the GUI255. The schedules256,257, and258show a technician's workload relative to committed time.

Next,FIG. 25shows an example GUI260that the one or more processors of the scheduler may display to notify a user of a conflict. The conflict may arise if the user attempts to assign a service appointment to a technician that is not available or currently scheduled to perform another service appointment at the same time. For example, the technician named Rich Redeker may be unavailable to handle another service appointment scheduled to arrive at9:00AM on October 29thand completed by 11:30 AM on the same date. The GUI260shows a message261indicating the technician is unavailable during the appointment time. Other messages regarding conflicts may be displayed when a conflict exists for a shop resource or if the user is attempting to schedule the service appointment at a time the shop is closed. The one or more processors of the scheduler may determine the conflict.

Next,FIG. 26shows an example GUI270that the one or more processors of the scheduler may display in response to selecting the resource view from the resource view mode selector213. The GUI270includes a vehicle shop schedule217. The vehicle shop schedule217comprises a schedule matrix with multiple columns, each column representing a different shop resource, and multiple rows, each row representing a different time. In an alternative arrangement, the columns can represent the times and the rows can represent the shop resources.

Upon selecting the resource view, names of resources associated with active resource records may appear in a list of shop resources271. The list of shop resources271may include selectors to select a shop resource if the shop resource's schedule is currently hidden from the calendar view275or to hide a shop resource's schedule from the calendar view275if the shop resource's schedule is presently displayed in the calendar view275.

The calendar view275shows schedule272for a shop resource referred to as alignment bay1by a vehicle bay identifier277, schedule273for a shop resource referred to as alignment bay2by a vehicle bay identifier278, and a schedule274for service appointment presently not assigned to any shop resources. The schedules272,273, and274in the GUI270can be displayed using different colors. A service appointment from one of the displayed schedules272,273, and274may be dragged and dropped from a first of those schedules to a second of those schedules so as to assign, reassign, or cancel assignment of a service appointment presently shown on the GUI270. The schedules272,273, and274show commitment of a shop resource relative to available time for the shop resource.

The at least one processor of the scheduler can modify the appointment227to be associated with a shop resource such that the appointment227is moved from the unassigned schedule274to a schedule for the shop resource associated with the appointment227. As an example, the processor can associate an air conditioning recovery and recharge (ACRR) station with the appointment227. The processor(s) can determine that there is no conflict with scheduling the appointment227from 9:00 to 11:00 AM on Oct. 29, 2015 before modifying the appointment227to be associated with the ACRR station. Modifying the appointment227can include reconfiguring the GUI270such that the appointment227is not shown in the schedule274and reconfiguring the GUI270to include a column showing a schedule for use of the ACRR station. The schedule for use of the ACRR station can include an identifier of the ACRR station the appointment227.

The at least one processor of the scheduler can modify the shop appointment230to be associated with a shop resource such that the appointment227moved from the unassigned schedule274to a schedule for the shop resource associated with the shop appointment230. As an example, the at least one processor can associate the alignment bay2with the shop appointment230. The processor(s) can determine that there is no conflict with scheduling the appointment230from 1:00 PM to 2:30 PM on Oct. 29, 2015 before modifying the appointment230to be associated with the alignment bay2.

Modifying the appointments227and230can include reconfiguring the display353to display a GUI280(as shown inFIG. 35) such that the appointments227and230are not shown in the schedule274, reconfiguring the display353to display a schedule279pertaining to use of the ACRR station including the appointment281(which results from associating the appointment227with the ACRR station), and reconfiguring the display353to display a schedule283for the alignment bay2including the appointment228and the shop appointment282(which results from associating the shop appointment230with the alignment bay2). The schedule for use of the ACRR station can include an identifier of the ACRR station the appointment227. The GUI280includes a shop tool identifier284for the ACRR station of the schedule279. The GUI280includes a vehicle shop schedule218. The vehicle shop schedule218comprises a schedule matrix with multiple columns each column representing a different shop resource, and multiple rows, each row representing a different time. In an alternative arrangement, the columns can represent the times and the rows can represent the shop resources.

III. Example Systems and Devices

FIG. 27is a block diagram300showing components and locations of a system in accordance with an example embodiment. The components and locations shown inFIG. 27include a service shop301, a service shop302, a communication network303, and a scheduler304.FIG. 27shows an ellipse307between service shops301and302to represent that the system300may include one or more other service shops. As an example, the service shops301and302may include a vehicle transmission repair shop, a manufacturer's dealer repair shop, an independent repair shop, a vehicle oil change service shop, or some other type of service shop at which a vehicle may be taken for servicing.

A vehicle is a mobile machine that may be used to transport a person, people, or cargo. As an example, any vehicle described herein may be driven or otherwise guided along a path (e.g., a paved road or otherwise) on land, in water, or in the air or outer space. As another example, any vehicle described herein may be wheeled, tracked, railed or skied. As yet another example, any vehicle described herein may include an automobile, a motorcycle, an all-terrain vehicle (ATV) defined by ANSI/SVIA-1-2007, a snowmobile, a personal watercraft (e.g., a JET SKI® personal watercraft), a light-duty truck, a medium-duty truck, a heavy-duty truck, a semi-tractor, or a farm machine. As still yet another example, any vehicle described herein may include or use any appropriate voltage or current source, such as a battery, an alternator, a fuel cell, and the like, providing any appropriate current or voltage, such as about 12 volts, about 42 volts, and the like. As still yet another example, any of the vehicles described herein may include or use any desired system or engine. Those systems or engines may include items that use fossil fuels, such as gasoline, natural gas, propane, and the like, electricity, such as that generated by a battery, magneto, fuel cell, solar cell and the like, wind and hybrids or combinations thereof. As still yet another example, any vehicle described herein may include an electronic control unit (ECU), a data link connector (DLC), and a vehicle communication link that connects the DLC to the ECU.

The service shop301includes at least one schedule display device305having at least one display308to display the GUI that the scheduler304(e.g., the one or more processors of the scheduler304) may provide to the service shop301over the communication network303. Similarly, the service shop302includes at least one schedule display device306having at least one display309to display the GUI that the scheduler304(e.g., the one or more processors of the scheduler304) may provide to the service shop302over the communication network303. Each of the one or more other service shops represented by the ellipse307may each include one or more schedule display devices.

FIG. 28is a block diagram320showing components and locations of a system in accordance with an example embodiment. The components and locations shown inFIG. 28include a service shop321, and the following components within the service shop321: a schedule display device322, a schedule display device323, a communication network324, and a scheduler325.FIG. 28shows an ellipse326between schedule display devices322and323to represent that the service shop321may include one or more other schedule display devices. As an example, the service shop321may include a vehicle transmission repair shop, a manufacturer's dealer repair shop, an independent repair shop, a vehicle oil change service shop, or some other type of service shop at which a vehicle may be taken for servicing.

A communication network, such as communication network303or324, may include a computing device that connects components of the communication network to another computing device, such as a schedule display device or a scheduler. As an example, a communication network may include a router, a modem, a communication link, an access point, a wiring hub, an Ethernet switch to allow devices at various locations of the communication network to connect to one another. A communication network may include a wireless communication link, such as a Wi-Fi® communication link, or a wired communication link, such as an Integrated Service Digital Network, a Digital Subscriber Link, a coaxial cable, or a fiber optic cable. A communication network may include a local area network (LAN), a metropolitan area network (MAN), or a wide area network (WAN). A communication network may include the Internet or a portion thereof.

Next,FIG. 29is a block diagram of a schedule display device350. A schedule display device may include all of the components shown inFIG. 29or any proper subset of the components shown within the schedule display device350. For example, the schedule display device350may include a processor351, a communication network transceiver352, a display353, a user input device354, and a computer-readable medium355. Two or more of the aforementioned components shown inFIG. 29may be communicatively coupled or linked together via a system bus, network, or other connection mechanism356. A schedule display device (e.g., schedule display device301,302,322, or323) shown inFIG. 27andFIG. 28may include, or may be configured as, the schedule display device350. The schedule display devices shown inFIG. 27andFIG. 28may include all or any proper subset of the components of the schedule display device350. Two or more of the components shown within the schedule display device350may be located within a single housing. Two or more of the components shown within the schedule display device350may be located remotely from each other in different housings or otherwise.

A processor, such as the processor351or any other processor discussed in this description or included within a device or system described in this description may include one or more processors, such as one or more general purpose processors (e.g., INTEL® single core microprocessors or INTEL® multicore microprocessors) or one or more special purpose processors (e.g., digital signal processors or graphics processors). A graphics processor may be configured to access and use the CRM357for creating, or retrieving GUI to display on the display353. Additionally or alternatively, a processor may include an application specific integrated circuit (ASIC). A processor may be configured to execute computer-readable program instructions (CRPI), such as CRPI357stored in the CRM355. A processor may be configured to execute hard-coded functionality in addition to or as an alternative to software-coded functionality (e.g., via CRPI).

A computer-readable medium, such as the CRM355or any other CRM discussed in this description or included within a device or system described in this description, may include a non-transitory CRM, a transitory CRM, or both a non-transitory CRM and a transitory CRM. In one respect, a non-transitory CRM may be integrated in whole or in part with a processor. In another respect, a non-transitory CRM, or a portion thereof, may be separate and distinct from a processor.

A non-transitory CRM may include, for example, a volatile or non-volatile storage component, such as an optical, magnetic, organic or other memory or disc storage. Additionally or alternatively, a non-transitory CRM may include, for example, a random-access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a compact disk read-only memory (CD-ROM), or another memory device that is configured to provide data or CRPI to a processor.

A transitory CRM may include, for example, CRPI provided over a communication link, such as a communication link which is connected to or is part of the communication network. The communication link may include a digital or analog communication link. The communication link may include a wired communication link or a wireless communication link.

A CRM may be referred to by other terms such as a “computer-readable storage medium,” a “data storage device,” a “memory device,” a “memory,” or a “computer-readable database.” Any of those alternative terms may be preceded with the prefix “transitory” or “non-transitory.”

The communication network transceiver352may include one or more components for communicatively coupling the schedule display device350to a communication network, such as the communication network303or324. The communication network transceiver352may include component(s) for wireless or wired communications via the communication network. The communication network transceiver352may include a modem or a network interface card.

The communication network transceiver352may include the communication interfaces425shown inFIG. 32or some portion thereof. The communication network transceiver352may include one or more transmitters and one or more receivers.

The communication network transceiver352may transmit various messages over the communication network. As an example, a message transmitted by the communication network transceiver352may include a message comprising data input by the user input device354, such as any of the data input via the GUI shown inFIG. 1toFIG. 26andFIG. 35.

The communication network transceiver352may receive various messages transmitted over a communication network. As an example, the communication network transceiver352may receive a message that includes data for displaying a GUI, such as any GUI shown inFIG. 1toFIG. 26andFIG. 35. As another example, the communication network transceiver may receive a message indicating a scheduler conflict exists.

The display353may display a GUI or any aspect of a GUI described herein. The display353may be configured like display371,373,375, or377(shown inFIG. 30) or any other example display described herein. The display353may display any visually-presentable data provided by the processor351or the CRM357. The display353may display a GUI, such as GUI or a portion of any GUI described herein. The display353may be configured for a user to input schedule data and employee background details, as well as other data described herein as being input via a GUI.

The user input device354may include user-input elements configured so that a user of schedule display device350may input data for use by the processor351or by another element of the schedule display device350. As an example, the user-input elements may include a connection to the display353in an embodiment in which the display353includes a touch display. As another example, the user-input elements may include a user input section having one or more input keys. As another example, the user-input elements may include a pointing device such as a computing device mouse, a keyboard (e.g., a QWERTY keyboard), a joystick, a display pointer (e.g. the pointing device381shown inFIG. 30), or a microphone for receiving spoken inputs.

In general, CRPI, such as the CRPI357or any other CRPI described herein, include program instructions executable by a processor. Further, and in general, CRPI may include various structures, modules, routines, or some other computer-readable logic. Further, and in general, CRPI may be written using a computer-programming language such as C++ or some other programming language.

In particular, the CRPI357may include program instructions executable by the processor351to carry out any one or more functions described herein or represented by the figures as being performed, at least in part, by the schedule display device350or a component of the schedule display device350, or any other schedule display device described herein.

As an example, the CRPI357may include program instructions executable to cause the display353to display a GUI, such as any GUI shown inFIG. 1toFIG. 26andFIG. 35or a GUI showing any portion of a GUI shown inFIG. 1toFIG. 26andFIG. 35.

As another example, the CRPI357may include program instructions that cause the processor351to detect data input using the user input device354and to cause the input data to be provided to the communication network transceiver352for transmission to a scheduler.

The schedule display device350may operate within the system300or320in place of one of the schedule display device301,302,322and323, or in addition to any or each of the schedule display devices301,302,322or323. One or more of the schedule display devices301,302,322and323shown inFIG. 27andFIG. 28may include or be arranged like the schedule display device350or may include all or any proper subset of the components of the schedule display device350. One or more of the components of the schedule display device350may be arranged as a device or a system. A device or system may include one or more of the components of the schedule display device350.

The schedule display devices301,302,322,323, and350are computing devices and may be arranged as or comprise the computing device401shown inFIG. 32or any portion thereof. The CRPI357may be included as part of the program instructions455within a computer program product, such as the computer program product shown inFIG. 33.

Next,FIG. 30shows a plurality of example schedule display devices having a display screen. A first example schedule display device shown inFIG. 30is a schedule display device370that includes a display371. The schedule display device370may include, or may be configured to operate as a vehicle diagnostic device. A vehicle diagnostic device may connect to a vehicle by a communication link. As an example, the schedule display device370may include, or may be configured as, a hand-held vehicle diagnostic device, such as a MODIS™ ultra integrated diagnostic system (reference number EEMS328 W) available from Snap-on Incorporated of Kenosha, Wis.

Another example schedule display device shown inFIG. 30is a display device374. The schedule display device374may include a display375and may include a keyboard382. The schedule display device374may include, or may be configured as, a laptop computing system, such as the Dell Chromebook11desktop computing system available from Dell Computer Corporation, or some other laptop computing system.

The display screens371,373,375, and377may include, or may be configured as, any example display described herein or some other type of display configured for displaying the displayable aspects described herein, such as the GUIs. A first example display includes or is configured as a capacitive touch display. A second example display includes or is configured as a resistive touch display. A third example display includes or is configured as a plasma display. A fourth example display includes or is configured as a light emitting diode (LED) display. A fifth example display includes or is configured as a cathode ray tube display. A sixth example display includes or is configured as an organic light-emitting diode (OLED) display, such as an active-matrix OLED or a passive-matrix OLED. A seventh example display includes or is configured as a touch-display such as a color touch used on a MODIS™ ultra integrated diagnostic system. An eighth example display includes or is configured as a backlit color liquid crystal display (LCD) having a resistive touch or panel.

Next,FIG. 31is a block diagram of a scheduler400. A scheduler of the example embodiments may include all of the components shown inFIG. 31or any proper subset of the components shown within the scheduler400. For example, a scheduler may include a processor402, a communication network transceiver404, a user input device406, and a CRM408. Two or more of the aforementioned components shown inFIG. 31may be communicatively coupled or linked together via a system bus, network, or other connection mechanism410. The scheduler304shown inFIG. 27and the scheduler325shown inFIG. 28may include, or may be configured as, the scheduler400. The scheduler304and the scheduler325may include all or any proper subset of the components of the scheduler400. Two or more of the components shown within the scheduler400may be located within a single housing. Two or more of the components shown within the scheduler400may be located remotely from each other in different housings or otherwise.

The scheduler400may take the place of the scheduler304shown inFIG. 27or the scheduler325shown inFIG. 28. The CRM408may include CRPI412and a schedule database414.

The communication network transceiver404may include one or more components for communicatively coupling the scheduler400to a communication network, such as the communication network303or324. The communication network transceiver404may include component(s) for wireless or wired communications via the communication network. The communication network transceiver404may include a modem or a network interface card. The communication network transceiver404may include a receiver to receive the various data described as being transmitted over the network to a scheduler or described as being received by a scheduler or the communication network transceiver404. The communication network transceiver404may include a transmitter to transmit the various data described as being transmitted by the communication network transceiver404, the processor402, the scheduler400or the various data described as being received by a schedule display device301,302,322,324, or350or the communication network transceiver352. The communication network transceiver404may include the communication interfaces425shown inFIG. 32or some portion thereof.

The user input device406may include one or more components for entering (e.g., inputting) data into the scheduler400or modifying data stored in the CRM408, such as data within the schedule database414. As an example, the components of the user input device406may include a display screen, a user input section having one or more input keys, a pointing device such as a computing device mouse, a keyboard (e.g., a QWERTY keyboard), a display pointer (e.g. the pointing device381shown inFIG. 30), or a microphone for receiving spoken inputs.

As an example, the CRPI412may include program instructions to provide a GUI to a schedule display device and to provide a schedule display device with data to display in a GUI. As another example, the CRPI412may include program instructions to search the schedule database414for data to update a GUI being displayed on a display of a schedule display device.

The schedulers304,325, and400are computing devices and may be arranged as or comprise the computing device401shown inFIG. 32or any portion thereof. The CRPI412may be included as part of the program instructions455within a computer program product, such as the computer program product shown inFIG. 33.

IV. Example Computing Devices

FIG. 32is a functional block diagram illustrating an example computing device401used in a computing system that is arranged in accordance with at least some embodiments described herein. The computing device401can be implemented to output GUI as shown inFIG. 1toFIG. 26andFIG. 35. In a basic configuration403, computing device401can typically include one or more processors405and system memory409. A memory bus441can be used for communicating between the processor405and the system memory409. Depending on the desired configuration, processor405can be any type of processor including but not limited to a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. A memory controller407can also be used with the processor405, or in some implementations, the memory controller407can be an internal part of the processor405.

Depending on the desired configuration, the system memory409can be any type of computer-readable memory including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof. System memory409can include one or more applications411, and program data415. Application411can include an algorithm413that is arranged to receive data described with respect toFIG. 1toFIG. 26andFIG. 35and provide a schedule in accordance with the present disclosure. Program data415can include schedule data used to generate the schedule. In some example embodiments, application411can be arranged to operate with program data415on an operating system.

Computing device401can have additional features or functionality, and additional interfaces to facilitate communications between the basic configuration403and any devices and interfaces. For example, data storage devices419can be provided including removable storage devices421, non-removable storage devices423, or a combination thereof. Examples of removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDD), optical disk drives such as compact disc (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few. Computer storage media can include volatile and nonvolatile, non-transitory, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data.

System memory409and storage devices419are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device401. Any such computer storage media can be part of device401.

Computing device401can also include output interfaces431that can include a graphics processing unit433, which can be configured to communicate to various external devices such as display devices437or speakers via one or more AN ports435or a communication interface425. The communication interface425can include a network controller427, which can be arranged to facilitate communications with one or more other computing devices439over a network (such as the communication network303or324) via one or more communication ports429. The communication connection is one example of a communication media. Communication media can be embodied by computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. A modulated data signal can be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media can include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared (IR) and other wireless media.

In some embodiments, the disclosed methods can be implemented as computer program instructions encoded on a non-transitory computer-readable storage media in a machine-readable format, or on other non-transitory media or articles of manufacture.FIG. 33is a schematic illustrating a conceptual partial view of an example computer program product451that includes a computer program for executing a computer process on a computing device, arranged according to at least some embodiments presented herein.

In one embodiment, the example computer program product451is provided using a signal bearing medium453. The signal bearing medium453can include one or more programming instructions455that, when executed by one or more processors can provide functionality or portions of the functionality described above with respect toFIG. 1toFIG. 26andFIG. 35. In some examples, the signal bearing medium453can encompass a CRM457, such as, but not limited to, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc. In some implementations, the signal bearing medium453can encompass a computer recordable medium459, such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations, the signal bearing medium453can encompass a communications medium461, such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.). Thus, for example, the signal bearing medium453can be conveyed by a wireless form of the communications medium461(e.g., a wireless communications medium conforming to the IEEE 802.11 standard or other transmission protocol).

The one or more programming instructions455can be, for example, computer executable and/or logic implemented instructions. In some examples, a computing device such as the computing device401ofFIG. 32can be configured to provide various operations, functions, or actions in response to the programming instructions455conveyed to the computing device401by one or more of the CRM457, the computer recordable medium459, and/or the communications medium461.

V. Example Operation

Next,FIG. 36shows a flowchart depicting a set of functions500(or more simply “the set500”) that can be carried out in accordance with the example embodiments described in this description. The set500includes the functions shown in blocks labeled with whole numbers501through504inclusive. The following description of the set500includes references to elements shown in other figures described in this description, but the functions of the set500are not limited to being carried out only by the referenced elements. A variety of methods can be performed using all of the functions shown in the set500or any proper subset of the functions shown in the set500. Any of those methods can be performed with other functions such as one or more of the other functions described in this description.

Block501includes outputting, by at least one processor, a first vehicle shop schedule for displaying on a display, wherein the first vehicle shop schedule comprises a first set of appointments. The first set of appointments can comprise one or more appointments, such as the one or more appointments of SOA480, SOA481, SOA482, SOA483, SOA484, SOA485, SOA486, or SOA487. The first vehicle shop schedule can comprise none or one or more shop events, such as shop event230. The first vehicle shop schedule can comprise none or one or more schedule setup parameters. The display can comprise the display353,371,373,375,377, and/or some other display configured for displaying the first vehicle shop schedule. The at least one processor can comprise the processor351,402,405and/or some other processor configured outputting the first vehicle shop schedule.

Outputting the first vehicle shop schedule can include a processor (e.g., the processor402) outputting the first vehicle shop schedule to the communication network transceiver404for transmission of the first vehicle shop schedule to a schedule display device (e.g., the schedule display device305,322, or350). Outputting the first vehicle shop schedule can include a processor (e.g., the processor351) outputting the first vehicle shop schedule to the display353via the connection mechanism356. Outputting the first vehicle shop schedule can comprise reconfiguring the display353to display the first vehicle shop schedule in place of another vehicle shop schedule being displayed when the schedule display device receives the first vehicle shop schedule output by the at least one processor.

Next, block502includes receiving, by the at least one processor, a first new appointment, wherein the first new appointment comprises first temporal data and first customer data. The first temporal data can comprise at least one time identifier and a date identifier. For example, if the first new appointment is appointment226, the first temporal data can comprise a start time identifier (or more simply “start time”) of 9:50 AM and the date Oct. 27, 2015. The first temporal data can comprise an end time identifier (or more simply “end time”) of 11:15 AM. As an example, the at least one processor can receive the end time as a result of a user entering the end time via a user input device (e.g., user input device354or406). As another example, the at least one processor can determine the end time based on the start time and an amount of time associated with one or more service procedures associated with the first new appointment. For the appointment226, the amount of time associated with the wheel alignment procedure can be eighty-five minutes. The amount of time associated with a service procedure may be based on a variety of factors, such as the technician performing the service procedure and/or the type of vehicle to which the service procedure will be performed.

Next, block503includes generating, by the at least one processor, a second set of appointments by aggregating the first new appointment with the first set of appointments. As an example, if the first set of appointments comprises SOA480and appointment227is the first new appointment, the at least one processor can aggregate the appointment227with the SOA480to generate the SOA481. As another example, if the first set of appointments is the SOA482and the appointment488is the first new appointment, the at least one processor can aggregate the appointment488with the SOA482to generate the SOA485. The second set of appointments can be stored in the CRM355and/or the CRM408. In particular, the second set of appointments can be stored in the schedule database414.

Next, block504includes outputting, by the at least one processor, a second vehicle shop schedule for displaying on the display instead of the first vehicle shop schedule, wherein the second vehicle shop schedule comprises the second set of appointments. The second set of appointments can comprise one or more appointments, such as the one or more appointments of SOA480, SOA481, SOA482, SOA483, SOA484, SOA485, SOA486, or SOA487. The second vehicle shop schedule can comprise none or one or more shop events, such as shop event230. The second vehicle shop schedule can comprise none or one or more schedule setup parameters.

Outputting the second vehicle shop schedule can include a processor (e.g., the processor402) outputting the second vehicle shop schedule to the communication network transceiver404for transmission of the second vehicle shop schedule to a schedule display device (e.g., the schedule display device305,322, or350). Outputting the second vehicle shop schedule can include a processor (e.g., the processor351) outputting the second vehicle shop schedule to the display353via the connection mechanism356. Outputting the second vehicle shop schedule can comprise reconfiguring the display353to display the second vehicle shop schedule in place of another vehicle shop schedule (e.g., the first vehicle shop schedule) being displayed when the schedule display device receives the second vehicle shop schedule output by the at least one processor.

Next,FIG. 37shows a flowchart depicting a set of functions510(or more simply “the set510”) that can be carried out in accordance with the example embodiments described in this description. The set510includes the functions shown in blocks labeled with whole numbers511through514inclusive. The set510can further include or not include the set500. The following description of the set510includes references to elements shown in other figures described in this description, but the functions of the set510are not limited to being carried out only by the referenced elements. A variety of methods can be performed using all of the functions shown in the set510or any proper subset of the functions shown in the set510. Any of those methods can be performed with other functions such as one or more of the other functions described in this description.

Block511includes receiving, by the at least one processor, an input to modify the first new appointment, wherein the input to modify the first new appointment comprises at least one of second temporal data, second customer data, first technician data, and first shop resource data. Table 1 shows the possible types of data that may be included within the input to modify the first new appointment. Each row represents a different example input. The letter(s) “X” in each row represents that the input includes that type of data. “None” in each row represents that the input does not include that type of data. Each example input represented by a row in Table 1 can include additional appointment data or no additional appointment data.

As shown in rows C, F, H, J, K, M, N and O in Table 1, the input to modify the first new appointment comprises at least the first technician data. The first technician data can comprise at least a first technician identifier to use in the modified first new appointment. The first technician identifier can comprise, for example, a technician name and/or a technician employee number. In the embodiments in which the input to modify the first new appointment comprises at least the first technician data, generating the modified first new appointment can comprise aggregating the first new appointment with the first technician data. Additionally or alternatively, in the embodiments in which the input to modify the first new appointment comprises at least the first technician data, generating the modified first new appointment can comprise replacing a second technician identifier with the first technician identifier if the first new appointment comprises second technician data comprising at least the second technician identifier.

As shown in rows D, G, I, J, L, M, N, and O in Table 1, the input to modify the first new appointment comprises at least the first shop resource data. As an example, the first shop resource data can comprise a vehicle bay identifier (e.g., vehicle bay identifier277or278) and/or a shop tool identifier (e.g., the shop tool identifier284). In the embodiments in which the input to modify the first new appointment comprises at least the first shop resource data, generating the modified first new appointment can comprise aggregating the first new appointment with the first shop resource data. Additionally or alternatively, in the embodiments in which the input to modify the first new appointment comprises at least the first shop resource data, generating the modified first new appointment can comprise replacing second shop resource data with the first shop resource data if the first new appointment comprises the second shop resource data.

As shown in rows A, E, F, G, K, L, M, and O in Table 1, the input to modify the first new appointment comprises at least the second temporal data. The first temporal data can comprise a first start time, a first end time, and a first calendar date. In accordance with an example in which the appointment226is the first new appointment, the first start time is 9:50 AM, the first end time is 11:15 AM, and the first calendar date is Oct. 27, 2015. The second temporal data can comprise a second start time, a second end time, and/or a second calendar date. Generating the modified first new appointment can comprise replacing the first start time with the second start time if the second temporal data comprises the second start time, replacing the first end time with the second end time if the second temporal data comprises the second end time, and/or replacing the first calendar date with the second calendar date if the second temporal data comprises the second calendar date. In modifying the first new appointment226to the modified first new appointment232, the second temporal data comprises the second start time of 11:00 AM, the second end time of 12:30 PM, and the second calendar date of Oct. 28, 2016.

As shown in rows B, E, H, I, K, L, N, and O in Table 1, the input to modify the first new appointment comprises at least the second customer data. The second customer data can comprise a customer identifier (such as customer name “Mariana Taff” and/or an alpha-numeric identifier associated with a customer, or a vehicle identifier (e.g., a vehicle identification number)). In the embodiments in which the input to modify the first new appointment comprises at least the second customer data, generating the modified first new appointment can comprise replacing the first customer data with the second customer data or adding the second customer data to the first customer data.

Next, block512includes generating, by the at least one processor, a modified first new appointment that includes the at least one of the second temporal data, the second customer data, the first technician data, and the first shop resource data. The modified first new appointment can be stored in the CRM355and/or the CRM408. In particular, the modified first new appointment can be stored in the schedule database414.

Next, block513includes generating, by the at least one processor, a third set of appointments by modifying the second set of appointments to include the modified first new appointment in place of the first new appointment. The third set of appointments can be stored in the CRM355and/or the CRM408. In particular, the third set of appointments can be stored in the schedule database414.

Next, block514includes outputting, by the at least one processor, a third vehicle shop schedule for displaying on the display, wherein the third vehicle shop schedule includes the third set of appointments. Outputting the third vehicle shop schedule can include a processor (e.g., the processor402) outputting the third vehicle shop schedule to the communication network transceiver404for transmission of the third vehicle shop schedule to a schedule display device (e.g., the schedule display device305,322, or350). Outputting the third vehicle shop schedule can include a processor (e.g., the processor351) outputting the third vehicle shop schedule to the display353via the connection mechanism356. Outputting the third vehicle shop schedule can comprise reconfiguring the display353to display the third vehicle shop schedule in place of another vehicle shop schedule (e.g., the second vehicle shop schedule) being displayed when the schedule display device receives the third vehicle shop schedule output by the at least one processor.

Next,FIG. 38shows a flowchart depicting a set of functions520(or more simply “the set520”) that can be carried out in accordance with the example embodiments described in this description. The set520includes the functions shown in block labeled with the whole number521and the set510. The following description of the set520includes references to elements shown in other figures described in this description, but the functions of the set520are not limited to being carried out only by the referenced elements. A variety of methods can be performed using all of the functions shown in the set520or any proper subset of the functions shown in the set520. Any of those methods can be performed with other functions such as one or more of the other functions described in this description.

Block521includes modifying, by the at least one processor, the second set of appointments prior to generating the third set of appointments, wherein modifying the second set of appointments comprises adding at least one other appointment to the second set of appointments, removing at least one other appointment from the second set of appointments, and/or modifying at least one other appointment of the second set of appointments.

Next,FIG. 39shows a flowchart depicting a set of functions530(or more simply “the set530”) that can be carried out in accordance with the example embodiments described in this description. The set530includes the functions shown in blocks labeled with whole numbers531through533and the set510and/or the set520. The following description of the set530includes references to elements shown in other figures described in this description, but the functions of the set530are not limited to being carried out only by the referenced elements. A variety of methods can be performed using all of the functions shown in the set530or any proper subset of the functions shown in the set530. Any of those methods can be performed with other functions such as one or more of the other functions described in this description.

Block531includes displaying, on the display353, the first vehicle shop schedule prior to receiving the first new appointment. As an example, the first vehicle shop schedule can comprise appointments227,228,229,230and231. The first new appointment can comprise appointment226.

Next, block532includes displaying, on the display353, the second vehicle shop schedule prior to receiving the input to modify the first new appointment. As an example, the second vehicle shop schedule can comprise the vehicle shop schedule214shown inFIG. 19, and the input to modify the first new appointment can comprise the inputs to modify the appointment226in order to generate the appointment232.

Next, block533includes displaying, on the display353, the third vehicle shop schedule after generating the third set of appointments. As an example, the third vehicle shop schedule can comprise the vehicle shop schedule215shown inFIG. 20.

Next,FIG. 40shows a flowchart depicting a set of functions540(or more simply “the set540”) that can be carried out in accordance with the example embodiments described in this description. The set540includes the functions shown in blocks labeled with whole numbers541through542and the set510, the set520, and/or the set530. The following description of the set540includes references to elements shown in other figures described in this description, but the functions of the set540are not limited to being carried out only by the referenced elements. A variety of methods can be performed using all of the functions shown in the set540or any proper subset of the functions shown in the set540. Any of those methods can be performed with other functions such as one or more of the other functions described in this description.

Block541includes receiving, by the at least one processor, an input indicating multiple schedule setup parameters, wherein the multiple schedule setup parameters comprise at least one shop resource parameter for multiple different selectable shop resource identifiers and/or at least one technician setup parameter for multiple different selectable technician identifiers.

The input to modify the first new appointment comprises at least the first technician data or the first shop resource data.FIG. 6shows example technician data for an employee named Irving Ibanez. The input can comprise an identifier of the first technician data, such as “Irving Ibanez.”FIG. 4shows example shop resource data for an alignment bay assigned a bay number5. The input can comprise an identifier of the shop resource data, such as “Alignment Bay5.” The input can comprise other data regarding technician and the shop resource.

If the input to modify the first new appointment comprises the first technician data, then receiving the input to modify the first new appointment comprises receiving a selection from multiple different selectable technician identifiers while displayed on the display. If the input to modify the first new appointment comprises the first shop resource data, then receiving the input to modify the first new appointment comprises receiving a selection from multiple different selectable technician identifiers while displayed on the display.

Next, block542includes outputting, by the at least one processor, the multiple different selectable shop resource identifiers and/or the multiple different selectable technician identifiers for displaying on the display.

Outputting the multiple different selectable shop resource identifiers and/or the multiple different selectable technician identifiers can include a processor (e.g., the processor351) outputting the multiple different selectable shop resource identifiers and/or the multiple different selectable technician identifiers to the display353via the connection mechanism356. Outputting the multiple different selectable shop resource identifiers and/or the multiple different selectable technician identifiers can comprise reconfiguring the display353to display the multiple different selectable shop resource identifiers and/or the multiple different selectable technician identifiers.

The multiple schedule setup parameters can also include at least one regular business hours parameter, at least one visible hours parameter, and/or at least one appointment state parameter. Furthermore, the multiple schedule setup parameters can include at least one holiday setup parameter for generating the first vehicle shop schedule and/or the second vehicle shop schedule based on a change to the regular business hours parameter based on the at least one holiday setup parameter.

Next,FIG. 41shows a flowchart depicting a set of functions550(or more simply “the set550”) that can be carried out in accordance with the example embodiments described in this description. The set550includes the functions shown in blocks labeled with whole numbers551and552and the set510, the set520, the set530, and/or the set540. The following description of the set550includes references to elements shown in other figures described in this description, but the functions of the set550are not limited to being carried out only by the referenced elements. A variety of methods can be performed using all of the functions shown in the set550or any proper subset of the functions shown in the set550. Any of those methods can be performed with other functions such as one or more of the other functions described in this description.

Block551includes receiving, by the at least one processor, a view mode input while the displayed second vehicle shop schedule is configured in the first view mode, wherein the view mode input indicates a second view mode. The at least one processor can receive the input via use of the resource view mode selector213. The first view mode can comprise a calendar view mode (which can be referred to as a normal view mode), a technician view mode, or a resource view mode. The second view mode can be a different view among the calendar view mode, the technician view mode, and the resource view mode.

Block552includes outputting, by the at least one processor, the second vehicle shop schedule for displaying on the display reconfigured in the second view mode instead of in the first view mode. Outputting the second vehicle shop schedule in the second view mode can include a processor (e.g., the processor402) outputting the second vehicle shop schedule in the second view mode to the communication network transceiver404for transmission of the second vehicle shop schedule in the second view mode to a schedule display device (e.g., the schedule display device305,322, or350). Outputting the second vehicle shop schedule in the second view mode can include a processor (e.g., the processor351) outputting the second vehicle shop schedule in the second view mode to the display353via the connection mechanism356. Outputting the second vehicle shop schedule in the second view mode can comprise reconfiguring the display353to display the second vehicle shop schedule in the second view mode in place of another vehicle shop schedule (e.g., the second vehicle shop schedule in the first view mode) being displayed when the schedule display device receives the second vehicle shop schedule in the second view mode output by the at least one processor.

Next,FIG. 42shows a flowchart depicting a set of functions560(or more simply “the set560”) that can be carried out in accordance with the example embodiments described in this description. The set560includes the functions shown in blocks labeled with whole number561and the set510, the set520, the set530, the set540, and/or the set550. The following description of the set560includes references to elements shown in other figures described in this description, but the functions of the set560are not limited to being carried out only by the referenced elements. A variety of methods can be performed using all of the functions shown in the set560or any proper subset of the functions shown in the set560. Any of those methods can be performed with other functions such as one or more of the other functions described in this description.

Block561includes confirming, by the at least one processor, the first new appointment does not conflict with any other appointment in the first set of appointments. If the at least one processor determines a conflict exists, the at least one processor can output a message (e.g., the message261) to indicate the conflict exists. The display353,371,373,375, and/or377can display the message. After changing the conflicting part of the first new appointment, the at least one processor can determine the first new appointment does not conflict with the other appointments of the first set of appointments. Alternatively, the at least one processor can determine initially that the first new appointment does not conflict with the other appointments of the first set of appointments.

Next,FIG. 43shows a flowchart depicting a set of functions570(or more simply “the set570”) that can be carried out in accordance with the example embodiments described in this description. The set570includes the functions shown in blocks labeled with whole numbers571and572and the set510, the set520, the set530, the set540, the set550, and/or the set560. The following description of the set570includes references to elements shown in other figures described in this description, but the functions of the set570are not limited to being carried out only by the referenced elements. A variety of methods can be performed using all of the functions shown in the set570or any proper subset of the functions shown in the set540. Any of those methods can be performed with other functions such as one or more of the other functions described in this description.

Block571includes adding, by the at least one processor, at least one shop event into the first vehicle shop schedule. As an example, the at least one shop event can comprise the shop event230or282.

Next, block572includes confirming, by the at least one processor, the first new appointment does not conflict with the at least one shop event. If the at least one processor determines a conflict exists, the at least one processor can output a message to indicate the conflict exists. The display353,371,373,375, and/or377can display the message. After changing the conflicting part of the first new appointment or changing the shop event, the at least one processor can determine the first new appointment does not conflict with the at least one shop event. Alternatively, the at least one processor can determine initially that the first new appointment does not conflict with the at least one shop event.

Next,FIG. 44shows a flowchart depicting a set of functions580(or more simply “the set580”) that can be carried out in accordance with the example embodiments described in this description. The set580includes the functions shown in blocks labeled with whole numbers581through584and the set510, the set520, the set530, the set540, the set550, the set560, and/or the set570. The following description of the set580includes references to elements shown in other figures described in this description, but the functions of the set580are not limited to being carried out only by the referenced elements. A variety of methods can be performed using all of the functions shown in the set580or any proper subset of the functions shown in the set580. Any of those methods can be performed with other functions such as one or more of the other functions described in this description.

Block581includes receiving, by the at least one processor, an input to modify the first new appointment, wherein the input to modify the first new appointment comprises a second appointment state. The at least one processor can receive the input via use an appointment status selector, such as the GUI142. The second appointment state can comprise any of the appointment states shown in the GUI142inFIG. 13or another appointment state that can be defined.

Next, block582includes generating, by the at least one processor, a modified first new appointment that comprises the first temporal data, the first customer data, and the second appointment state. The modified first new appointment can be stored in the CRM355and/or the CRM408. In particular, the modified first new appointment can be stored in the schedule database414.

Next, block583includes generating, by the at least one processor, a third set of appointments by modifying the second set of appointments to include the modified first new appointment in place of the first new appointment. The third set of appointments can be stored in the CRM355and/or the CRM408. In particular, the third set of appointments can be stored in the schedule database414.

Next, block584includes outputting, by the at least one processor, a third vehicle shop schedule for displaying on the display, wherein the third vehicle shop schedule includes the third set of appointments, wherein the second appointment state is different than the first appointment state. Outputting the third vehicle shop schedule can include a processor (e.g., the processor402) outputting the third vehicle shop schedule to the communication network transceiver404for transmission of the third vehicle shop schedule to a schedule display device (e.g., the schedule display device305,322, or350). Outputting the third vehicle shop schedule can include a processor (e.g., the processor351) outputting the third vehicle shop schedule to the display353via the connection mechanism356. Outputting the third vehicle shop schedule can comprise reconfiguring the display353to display the third vehicle shop schedule in place of another vehicle shop schedule (e.g., the second vehicle shop schedule) being displayed when the schedule display device receives the third vehicle shop schedule output by the at least one processor.

It should be understood that the arrangements described herein and/or shown in the drawings are for purposes of example only. As such, those skilled in the art will appreciate that other arrangements and elements (e.g., machines, interfaces, functions, orders, and/or groupings of functions) can be used instead, and some elements can be omitted altogether according to the desired results. Furthermore, various functions described and/or shown in the drawings as being performed by one or more elements can be carried out by a processor executing computer-readable program instructions or by a combination of hardware, firmware, and/or software. For purposes of this description, execution of CRPI contained in some CRM to perform some function can include executing all of the program instructions of those CRPI or only a portion of those CRPI.

The term “data” within this description can be used interchangeably with the term “information” or similar terms, such as “content.” The data described herein can be transmitted and received. As an example, any transmission of the data described herein can occur directly from a transmitting device (e.g., a transmitter) to a receiving device (e.g., a receiver). As another example, any transmission of the data described herein can occur indirectly from the transmitter to a receiver via one of one or more intermediary network devices, such as an access point, an antenna, a base station, a hub, a modem, a relay, a router, a switch, or some other network device. The transmission of any of the data described herein can include transmitting the data over an air interface (e.g., using radio signals (i.e., wirelessly)). The transmission of any of the data described herein can include transmitting the data over a wire (e.g., a single wire, a twisted pair of wires, a fiber optic cable, a coaxial cable, a wiring harness, a power line, a printed circuit, a CAT5 cable, or CAT6 cable). The wire can be referred to as a “conductor” or by another term. As an example, transmission of the data over the conductor can occur electrically or optically.

The data can represent various things such as objects and conditions. The objects and conditions can be mapped to a data structure (e.g., a table). A processor can refer to the data structure to determine what object or condition is represented by the data. As an example, the data received by a processor can represent a calendar date. The processor can determine the calendar date by comparing the data to a data structure that defines calendar dates. As another example, data received by a processor can represent a vehicle component. The processor can determine what type of vehicle component is represented by the data by comparing the data to a structure that defines a variety of vehicle components.

While various aspects and embodiments are described herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope being indicated by the claims, along with the full scope of equivalents to which such claims are entitled. It is also to be understood that the terminology used herein for the purpose of describing particular embodiments only, and is not intended to be limiting.

In this description, the articles “a,” “an,” and “the” are used to introduce elements and/or functions of the example embodiments. The intent of using those articles is that there is one or more of the introduced elements and/or functions.

In this description, the intent of using the term “and/or” within a list of at least two elements or functions and the intent of using the terms “at least one of” and “one or more of” immediately preceding a list of at least two components or functions is to cover each embodiment including a listed component or function independently and each embodiment comprising a combination of the listed components or functions. For example, an embodiment described as comprising “A, B, and/or C,” or “at least one of A, B, and C,” or “one or more of A, B, and C” is intended to cover each of the following possible embodiments: (i) an embodiment comprising A, but not B and not C, (ii) an embodiment comprising B, but not A and not C, (iii) an embodiment comprising C, but not A and not B, (iv) an embodiment comprising A and B, but not C, (v) an embodiment comprising A and C, but not B, (v) an embodiment comprising B and C, but not A, and (vi) an embodiment comprising A, B, and C. For the embodiments comprising component or function A, the embodiments can comprise one A or multiple A. For the embodiments comprising component or function B, the embodiments can comprise one B or multiple B. For the embodiments comprising component or function C, the embodiments can comprise one C or multiple C. The use of ordinal numbers such as “first,” “second,” “third” and so on is to distinguish respective elements rather than to denote a particular order of those elements unless the context of using those terms explicitly indicates otherwise.

Embodiments of the present disclosure may thus relate to one of the enumerated example embodiment (EEEs) listed below.

EEE 1 is a method comprising: (i) outputting, by at least one processor, a first vehicle shop schedule for displaying on a display, wherein the first vehicle shop schedule comprises a first set of appointments, (ii) receiving, by the at least one processor, a first new appointment, wherein the first new appointment comprises first temporal data and first customer data, (iii) generating, by the at least one processor, a second set of appointments by aggregating the first new appointment with the first set of appointments, and (iv) outputting, by the at least one processor, a second vehicle shop schedule for displaying on the display instead of displaying the first vehicle shop schedule, wherein the second vehicle shop schedule comprises the second set of appointments.

EEE 2 is the method of EEE 1, further comprising: (i) receiving, by the at least one processor, an input to modify the first new appointment, wherein the input to modify the first new appointment comprises at least one of second temporal data, second customer data, first technician data, and first shop resource data, (ii) generating, by the at least one processor, a modified first new appointment that includes the at least one of the second temporal data, the second customer data, the first technician data, and the first shop resource data, (iii) generating, by the at least one processor, a third set of appointments by modifying the second set of appointments to include the modified first new appointment in place of the first new appointment, and (iv) outputting, by the at least one processor, a third vehicle shop schedule for displaying on the display, wherein the third vehicle shop schedule includes the third set of appointments.

EEE 3 is the method of EEE 2, further comprising: modifying, by the at least one processor, the second set of appointments prior to generating the third set of appointments, wherein modifying the second set of appointments comprises adding at least one other appointment to the second set of appointments, removing at least one other appointment from the second set of appointments, and/or modifying at least one other appointment of the second set of appointments.

EEE 4 is the method of any one of EEEs 2 and 3, wherein the input to modify the first new appointment comprises at least the first technician data, wherein the first technician data comprises at least a first technician identifier to use in the modified first new appointment, and wherein generating the modified first new appointment comprises (i) aggregating the first new appointment with the first technician data, or (ii) replacing a second technician identifier with the first technician identifier if the first new appointment further comprises second technician data comprising at least the second technician identifier.

EEE 5 is the method of any one of EEEs 2 to 4, wherein the input to modify the first new appointment comprises at least the first shop resource data, and wherein generating the modified first new appointment comprises (i) aggregating the first new appointment with the first shop resource data, or (ii) replacing second shop resource data with the first shop resource data if the first new appointment further comprises the second shop resource data.

EEE 6 is the method of EEE 5, wherein the first shop resource comprises a vehicle bay identifier and/or a shop tool identifier.

EEE 7 is the method of any one of EEEs 2 to 6, wherein the first temporal data comprises a first start time, a first end time and a first calendar date, wherein the input to modify the first new appointment comprises at least the second temporal data, wherein the second temporal data comprises a second start time, a second end time, and/or a second calendar data, and wherein generating the modified first new appointment comprises replacing the first start time with the second start time if the second temporal data comprises the second start time, replacing the first end time with the second end time if the second temporal data comprises the second end time, and/or replacing the first calendar date with the second calendar date if the second temporal data comprises the second calendar date.

EEE 8 is the method of any one of EEEs 2 to 7, wherein the input to modify the first new appointment comprises at least the second customer data, and wherein generating the modified first new appointment comprises replacing the first customer data with the second customer data or adding the second customer data to the first customer data.

EEE 9 is the method of any one of EEEs 2 to 8, wherein the first vehicle shop schedule comprises a schedule matrix, wherein receiving the input to modify the first new appointment comprise receiving, by the at least one processor, an input indicating the first new appointment was dragged from a first location in the schedule matrix to a second location in the schedule matrix, wherein the first location in the schedule matrix pertains to a time and date indicated by the first new appointment, and wherein the second location in the schedule matrix pertains to a time and date indicated by the modified first new appointment.

EEE 10 is the method of any one of EEEs 2 to 9, further comprising: displaying, on the display, the first vehicle shop schedule prior to receiving the first new appointment; displaying, on the display, the second vehicle shop schedule prior to receiving the input to modify the first new appointment; and displaying, on the display, the third vehicle shop schedule after generating the third set of appointments.

EEE 11 is the method of any one of EEEs 2 to 10, further comprising: (i) receiving, by the at least one processor, an input indicating multiple schedule setup parameters, wherein the multiple schedule setup parameters comprise at least one shop resource parameter for multiple different selectable shop resource identifiers and/or at least one technician setup parameter for multiple different selectable technician identifiers, and (ii) outputting, by the at least one processor, the multiple different selectable shop resource identifiers and/or the multiple different selectable technician identifiers for displaying on the display, wherein the input to modify the first new appointment comprises at least the first technician data or the first shop resource data, wherein, if the input to modify the first new appointment comprises the first technician data, then receiving the input to modify the first new appointment comprises receiving a selection from multiple different selectable technician identifiers while displayed on the display, and wherein, if the input to modify the first new appointment comprises the first shop resource data, then receiving the input to modify the first new appointment comprises receiving a selection from multiple different selectable technician identifiers while displayed on the display.

EEE 12 is the method of EEE 11, wherein the multiple schedule setup parameters further comprise at least one regular business hours parameter, at least one visible hours parameter, and/or at least one appointment state parameter.

EEE 13 is the method of EEE 12, wherein the multiple schedule setup parameters further comprises at least one holiday setup parameter for generating the first vehicle shop schedule and/or the second vehicle shop schedule based on a change to the regular business hours parameter based on the at least one holiday setup parameter.

EEE 14 is the method of any one of EEEs 1 to 13, wherein the first temporal data comprises a first start time and a first end time, and wherein the first end time is based on the first start time and an amount of time associated with one or more service procedures associated with the first new appointment.

EEE 15 is the method of any one of EEEs 1 to 14, wherein outputting the second vehicle shop schedule for displaying on the display comprises outputting, by the at least one processor, the second vehicle shop schedule for displaying on the display configured in a first view mode, the method further comprising: receiving, by the at least one processor, a view mode input while the displayed second vehicle shop schedule is configured in the first view mode, wherein the view mode input indicates a second view mode; and outputting, by the at least one processor, the second vehicle shop schedule for displaying on the display reconfigured in the second view mode instead of in the first view mode, and (i) wherein the first view mode comprises one of a multi-date view mode, a technician view mode, and a resource view mode, (ii) wherein the second view mode comprises another of the multi-date view mode, the technician view mode, and the resource view mode, (iii) wherein the multi-date view mode comprises a matrix of multiple columns and multiple rows, (iv) wherein each column represents one of a different date and a different time, and each row represents another of the different date and the different time, (v) wherein the technician view mode comprises a matrix of multiple columns and multiple rows, (vi) wherein each column represents one of a different technician identifier and the different time, and each row represents another of the different technician identifier and the different time, and (vii) wherein the resource view mode comprises a matrix of multiple columns and multiple rows, wherein each column represents one of a different shop resource and the different time, and each row represents another of the different shop resource and the different time.

EEE 16 is the method of any one of EEEs 1 to 15, further comprising: confirming, by the at least one processor, the first new appointment does not conflict with any other appointment in the first set of appointments.

EEE 17 is the method of any one of EEEs 1 to 16, further comprising: (i) adding, by the at least one processor, at least one shop event into the first vehicle shop schedule; and (ii) confirming, by the at least one processor, the first new appointment does not conflict with the at least one shop event.

EEE 18 is the method of any one of EEEs 1 to 17, wherein the first new appointment further comprises a first appointment state, the method further comprising: (i) receiving, by the at least one processor, an input to modify the first new appointment, wherein the input to modify the first new appointment comprises a second appointment state; (ii) generating, by the at least one processor, a modified first new appointment that comprises the first temporal data, the first customer data, and the second appointment state; (iii) generating, by the at least one processor, a third second set of appointments by modifying the second set of appointments to include the modified first new appointment in place of the first new appointment; and (iv) outputting, by the at least one processor, a third vehicle shop schedule for displaying on the display, wherein the third vehicle shop schedule includes the third set of appointments, and wherein the second appointment state is different than the first appointment state.

EEE 19 is a computing system comprising: a computer-readable medium having stored thereon a first vehicle shop schedule; and at least one processor coupled to the computer-readable medium and programmed to: (i) output a first vehicle shop schedule for displaying on a display, wherein the first vehicle shop schedule comprises a first set of appointments, (ii) receive a first new appointment, wherein the first new appointment comprises first temporal data and first customer data, (iii) generate a second set of appointments by aggregating the first new appointment with the first set of appointments, and (iv) output a second vehicle shop schedule for displaying on the display instead of displaying the first vehicle shop schedule, wherein the second vehicle shop schedule comprises the second set of appointments.

EEE 20 is the computing system of EEE 19, wherein the at least one processor is further programmed to: (i) receive an input to modify the first new appointment, wherein the input to modify the first new appointment comprises at least one of second temporal data, second customer data, first technician data, and first shop resource data, (ii) generate a modified first new appointment that includes the at least one of the second temporal data, the second customer data, the first technician data, and the first shop resource data, (iii) generate a third set of appointments by modifying the second set of appointments to include the modified first new appointment in place of the first new appointment, and (iv) output a third vehicle shop schedule for displaying on the display, wherein the third vehicle shop schedule includes the third set of appointments.

EEE 21 is the computing system of EEE 20, wherein the at least one processor is further programmed to: (i) modify the second set of appointments prior to generating the third set of appointments, wherein modifying the second set of appointments comprises adding at least one other appointment to the second set of appointments, (ii) remove at least one other appointment from the second set of appointments, and/or (iii) modify at least one other appointment of the second set of appointments.

EEE 22 is the computing system of any one of EEEs 20 and 21, wherein the input to modify the first new appointment comprises at least the first technician data, wherein the first technician data comprises at least a first technician identifier to use in the modified first new appointment, and wherein the at least one processor being programmed to generate the modified first new appointment comprises the at least one processor being programmed to (i) aggregate the first new appointment with the first technician data, or (ii) replace a second technician identifier with the first technician identifier if the first new appointment further comprises second technician data comprising at least the second technician identifier.

EEE 23 is the computing system of any one of EEEs 20 to 22, wherein the input to modify the first new appointment comprises at least the first shop resource data, and wherein the at least one processor being programmed to generate the modified first new appointment comprises the at least one processor being programmed to: (i) aggregate the first new appointment with the first shop resource data, or (ii) replace second shop resource data with the first shop resource data if the first new appointment further comprises the second shop resource data.

EEE 24 is the computing system of EEE 23, wherein the first shop resource comprises a vehicle bay identifier and/or a shop tool identifier.

EEE 25 is the computing system of any one of EEEs 20 to 24, wherein the first temporal data comprises a first start time, a first end time and a first calendar date, wherein the input to modify the first new appointment comprises at least the second temporal data, wherein the second temporal data comprises a second start time, a second end time, and/or a second calendar data, and wherein the at least one processor being programmed to generate the modified first new appointment comprises the at least one processor being programmed to (i) replace the first start time with the second start time if the second temporal data comprises the second start time, (ii) replace the first end time with the second end time if the second temporal data comprises the second end time, and/or (iii) replace the first calendar date with the second calendar date if the second temporal data comprises the second calendar date.

EEE 26 is the computing system of any one of EEEs 20 to 25, wherein the input to modify the first new appointment comprises at least the second customer data, wherein the at least one processor being programmed to generate the modified first new appointment comprises the at least one processor being programmed to replace the first customer data with the second customer data or add the second customer data to the first customer data.

EEE 27 is the computing system of any one of EEEs 20 to 26, wherein the first vehicle shop schedule comprises a schedule matrix, wherein the at least one processor being programmed to receive the input to modify the first new appointment comprise the at least one processor being programmed to receive, by the at least one processor, an input indicating the first new appointment was dragged from a first location in the schedule matrix to a second location in the schedule matrix, wherein the first location in the schedule matrix pertains to a time and date indicated by the first new appointment, and wherein the second location in the schedule matrix pertains to a time and date indicated by the modified first new appointment.

EEE 28 is the computing system of any one of EEEs 20 to 27, wherein the at least one processor being programmed to display, on the display, the first vehicle shop schedule prior to the at least one processor receiving the first new appointment; display, on the display, the second vehicle shop schedule prior to the at least one processor receiving the input to modify the first new appointment; and displaying, on the display, the third vehicle shop schedule after the at least one processor generates the third set of appointments.

EEE 29 is the computing system of any one of EEEs 20 to 28, wherein the at least one processor is further programmed to: (i) receive an input indicating multiple schedule setup parameters, wherein the multiple schedule setup parameters comprise at least one shop resource parameter for multiple different selectable shop resource identifiers and/or at least one technician setup parameter for multiple different selectable technician identifiers, and (ii) output the multiple different selectable shop resource identifiers and/or the multiple different selectable technician identifiers for displaying on the display, and (i) wherein the input to modify the first new appointment comprises at least the first technician data or the first shop resource data, (ii) wherein, if the input to modify the first new appointment comprises the first technician data, then receiving the input to modify the first new appointment comprises receiving a selection from multiple different selectable technician identifiers while displayed on the display, and (iii) wherein, if the input to modify the first new appointment comprises the first shop resource data, then receiving the input to modify the first new appointment comprises receiving a selection from multiple different selectable technician identifiers while displayed on the display.

EEE 30 is the computing system of EEE 29, wherein the multiple schedule setup parameters further comprise at least one regular business hours parameter, at least one visible hours parameter, and/or at least one appointment state parameter.

EEE 31 is the computing system of EEE 30, wherein the multiple schedule setup parameters further comprises at least one holiday setup parameter for generating the first vehicle shop schedule and/or the second vehicle shop schedule based on a change to the regular business hours parameter based on the at least one holiday setup parameter.

EEE 32 is the computing system of any one of EEEs 20 to 31, wherein the first temporal data comprises a first start time and a first end time, and wherein the first end time is based on the first start time and an amount of time associated with one or more service procedures associated with the first new appointment.

EEE 33 is the computing system of any one of EEEs 20 to 32, wherein the at least one processor being programmed to output the second vehicle shop schedule for displaying on the display comprises the at least one processor being programmed to output the second vehicle shop schedule for displaying on the display configured in a first view mode, wherein the at least one processor is further programmed to (a) receive a view mode input while the displayed second vehicle shop schedule is configured in the first view mode, wherein the view mode input indicates a second view mode; and (b) output the second vehicle shop schedule for displaying on the display reconfigured in the second view mode instead of in the first view mode, and (i) wherein the first view mode comprises one of a multi-date view mode, a technician view mode, and a resource view mode, (ii) wherein the second view mode comprises another of the multi-date view mode, the technician view mode, and the resource view mode, (iii) wherein the multi-date view mode comprises a matrix of multiple columns and multiple rows, (iv) wherein each column represents one of a different date and a different time, and each row represents another of the different date and the different time, (v) wherein the technician view mode comprises a matrix of multiple columns and multiple rows, (vi) wherein each column represents one of a different technician identifier and the different time, and each row represents another of the different technician identifier and the different time, and (vii) wherein the resource view mode comprises a matrix of multiple columns and multiple rows, wherein each column represents one of a different shop resource and the different time, and each row represents another of the different shop resource and the different time.

EEE 34 is the computing system of any one of EEEs 20 to 33, wherein the at least one processor being programmed to confirm the first new appointment does not conflict with any other appointment in the first set of appointments.

EEE 35 is the computing system of any one of EEEs 20 to 34, wherein the at least one processor being programmed to: (i) add at least one shop event into the first vehicle shop schedule; and (ii) confirm the first new appointment does not conflict with the at least one shop event.

EEE 36 is the computing system of any one of EEEs 20 to 35, wherein the first new appointment further comprises a first appointment state, wherein the at least one processor is further programmed to: (i) receive an input to modify the first new appointment, wherein the input to modify the first new appointment comprises a second appointment state; (ii) generate a modified first new appointment that comprises the first temporal data, the first customer data, and the second appointment state; (iii) generate a third second set of appointments by modifying the second set of appointments to include the modified first new appointment in place of the first new appointment; and (iv) output a third vehicle shop schedule for displaying on the display, wherein the third vehicle shop schedule includes the third set of appointments, and wherein the second appointment state is different than the first appointment state.

EEE 37 is a computer readable medium having stored thereon instructions executable by at least one processor to cause a computing system to perform functions comprising: (i) outputting, by at least one processor, a first vehicle shop schedule for displaying on a display, wherein the first vehicle shop schedule comprises a first set of appointments; (ii) receiving, by the at least one processor, a first new appointment, wherein the first new appointment comprises first temporal data and first customer data, (iii) generating, by the at least one processor, a second set of appointments by aggregating the first new appointment with the first set of appointments, and (iv) outputting, by the at least one processor, a second vehicle shop schedule for displaying on the display instead of displaying the first vehicle shop schedule, wherein the second vehicle shop schedule comprises the second set of appointments.

EEE 38 is the computer readable medium of EEE 37, wherein the functions further comprise: (i) receiving, by the at least one processor, an input to modify the first new appointment, wherein the input to modify the first new appointment comprises at least one of second temporal data, second customer data, first technician data, and first shop resource data, (ii) generating, by the at least one processor, a modified first new appointment that includes the at least one of the second temporal data, the second customer data, the first technician data, and the first shop resource data, (iii) generating, by the at least one processor, a third set of appointments by modifying the second set of appointments to include the modified first new appointment in place of the first new appointment, and (iv) outputting, by the at least one processor, a third vehicle shop schedule for displaying on the display, wherein the third vehicle shop schedule includes the third set of appointments.

EEE 39 is the computer readable medium of EEE 38, wherein the functions further comprise: modifying, by the at least one processor, the second set of appointments prior to generating the third set of appointments, wherein modifying the second set of appointments comprises adding at least one other appointment to the second set of appointments, removing at least one other appointment from the second set of appointments, and/or modifying at least one other appointment of the second set of appointments.

EEE 40 is the computer readable medium of any one of EEEs 38 and 39, wherein the input to modify the first new appointment comprises at least the first technician data, wherein the first technician data comprises at least a first technician identifier to use in the modified first new appointment, and wherein generating the modified first new appointment comprises (i) aggregating the first new appointment with the first technician data, or (ii) replacing a second technician identifier with the first technician identifier if the first new appointment further comprises second technician data comprising at least the second technician identifier.

EEE 41 is the computer readable medium of any one of EEEs 38 to 40, wherein the input to modify the first new appointment comprises at least the first shop resource data, and wherein generating the modified first new appointment comprises (i) aggregating the first new appointment with the first shop resource data, or (ii) replacing second shop resource data with the first shop resource data if the first new appointment further comprises the second shop resource data.

EEE 42 is the computer readable medium of EEE 41, wherein the first shop resource comprises a vehicle bay identifier and/or a shop tool identifier.

EEE 43 is the computer readable medium of any one of EEEs 38 to 42, wherein the first temporal data comprises a first start time, a first end time and a first calendar date, wherein the input to modify the first new appointment comprises at least the second temporal data, wherein the second temporal data comprises a second start time, a second end time, and/or a second calendar data, and wherein generating the modified first new appointment comprises replacing the first start time with the second start time if the second temporal data comprises the second start time, replacing the first end time with the second end time if the second temporal data comprises the second end time, and/or replacing the first calendar date with the second calendar date if the second temporal data comprises the second calendar date.

EEE 44 is the computer readable medium of any one of EEEs 38 to 43, wherein the input to modify the first new appointment comprises at least the second customer data, and wherein generating the modified first new appointment comprises replacing the first customer data with the second customer data or adding the second customer data to the first customer data.

EEE 45 is the computer readable medium of any one of EEEs 38 to 44, wherein the first vehicle shop schedule comprises a schedule matrix, wherein receiving the input to modify the first new appointment comprise receiving, by the at least one processor, an input indicating the first new appointment was dragged from a first location in the schedule matrix to a second location in the schedule matrix, wherein the first location in the schedule matrix pertains to a time and date indicated by the first new appointment, and wherein the second location in the schedule matrix pertains to a time and date indicated by the modified first new appointment.

EEE 46 is the computer readable medium of any one of EEEs 38 to 45, wherein the functions further comprise: displaying, on the display, the first vehicle shop schedule prior to receiving the first new appointment; displaying, on the display, the second vehicle shop schedule prior to receiving the input to modify the first new appointment; and displaying, on the display, the third vehicle shop schedule after generating the third set of appointments.

EEE 47 is the computer readable medium of any one of EEEs 38 to 46, wherein the functions further comprise: (i) receiving, by the at least one processor, an input indicating multiple schedule setup parameters, wherein the multiple schedule setup parameters comprise at least one shop resource parameter for multiple different selectable shop resource identifiers and/or at least one technician setup parameter for multiple different selectable technician identifiers, and (ii) outputting, by the at least one processor, the multiple different selectable shop resource identifiers and/or the multiple different selectable technician identifiers for displaying on the display, wherein the input to modify the first new appointment comprises at least the first technician data or the first shop resource data, wherein, if the input to modify the first new appointment comprises the first technician data, then receiving the input to modify the first new appointment comprises receiving a selection from multiple different selectable technician identifiers while displayed on the display, and wherein, if the input to modify the first new appointment comprises the first shop resource data, then receiving the input to modify the first new appointment comprises receiving a selection from multiple different selectable technician identifiers while displayed on the display.

EEE 48 is the computer readable medium of EEE 47, wherein the multiple schedule setup parameters further comprise at least one regular business hours parameter, at least one visible hours parameter, and/or at least one appointment state parameter.

EEE 49 is the computer readable medium of EEE 48, wherein the multiple schedule setup parameters further comprises at least one holiday setup parameter for generating the first vehicle shop schedule and/or the second vehicle shop schedule based on a change to the regular business hours parameter based on the at least one holiday setup parameter.

EEE 50 is the computer readable medium of any one of EEEs 37 to 49, wherein the first temporal data comprises a first start time and a first end time, and wherein the first end time is based on the first start time and an amount of time associated with one or more service procedures associated with the first new appointment.

EEE 51 is the computer readable medium of any one of EEEs 37 to 50, wherein outputting the second vehicle shop schedule for displaying on the display comprises outputting, by the at least one processor, the second vehicle shop schedule for displaying on the display configured in a first view mode, wherein the functions further comprise: receiving, by the at least one processor, a view mode input while the displayed second vehicle shop schedule is configured in the first view mode, wherein the view mode input indicates a second view mode; and outputting, by the at least one processor, the second vehicle shop schedule for displaying on the display reconfigured in the second view mode instead of in the first view mode, and (i) wherein the first view mode comprises one of a multi-date view mode, a technician view mode, and a resource view mode, (ii) wherein the second view mode comprises another of the multi-date view mode, the technician view mode, and the resource view mode, (iii) wherein the multi-date view mode comprises a matrix of multiple columns and multiple rows, (iv) wherein each column represents one of a different date and a different time, and each row represents another of the different date and the different time, (v) wherein the technician view mode comprises a matrix of multiple columns and multiple rows, (vi) wherein each column represents one of a different technician identifier and the different time, and each row represents another of the different technician identifier and the different time, and (vii) wherein the resource view mode comprises a matrix of multiple columns and multiple rows, wherein each column represents one of a different shop resource and the different time, and each row represents another of the different shop resource and the different time.

EEE 52 is the computer readable medium of any one of EEEs 37 to 51, wherein the functions further comprise: confirming, by the at least one processor, the first new appointment does not conflict with any other appointment in the first set of appointments.

EEE 53 is the computer readable medium of any one of EEEs 37 to 52, wherein the functions further comprise: (i) adding, by the at least one processor, at least one shop event into the first vehicle shop schedule; and (ii) confirming, by the at least one processor, the first new appointment does not conflict with the at least one shop event.

EEE 54 is the computer readable medium of any one of EEEs 37 to 53, wherein the first new appointment further comprises a first appointment state, wherein the functions further comprise: (i) receiving, by the at least one processor, an input to modify the first new appointment, wherein the input to modify the first new appointment comprises a second appointment state; (ii) generating, by the at least one processor, a modified first new appointment that comprises the first temporal data, the first customer data, and the second appointment state; (iii) generating, by the at least one processor, a third second set of appointments by modifying the second set of appointments to include the modified first new appointment in place of the first new appointment; and (iv) outputting, by the at least one processor, a third vehicle shop schedule for displaying on the display, wherein the third vehicle shop schedule includes the third set of appointments, and wherein the second appointment state is different than the first appointment state.