[go: up one dir, main page]

WO2025179303A1 - Reservation systems and processes - Google Patents

Reservation systems and processes

Info

Publication number
WO2025179303A1
WO2025179303A1 PCT/US2025/017108 US2025017108W WO2025179303A1 WO 2025179303 A1 WO2025179303 A1 WO 2025179303A1 US 2025017108 W US2025017108 W US 2025017108W WO 2025179303 A1 WO2025179303 A1 WO 2025179303A1
Authority
WO
WIPO (PCT)
Prior art keywords
reservation
flight
schedule
activity
availability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/US2025/017108
Other languages
French (fr)
Inventor
Benjamin VANASSE
Nicholas Ginther
Anna LUCKEY
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keyes Technology LLC
Original Assignee
Keyes Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Keyes Technology LLC filed Critical Keyes Technology LLC
Publication of WO2025179303A1 publication Critical patent/WO2025179303A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations

Definitions

  • the present invention generally relates to reservation systems and processes. More specifically, the reservation systems and processes disclosed herein include scheduling and dispatch management to optimize course progress, drafting lesson reservations, and instructor coordination based on real-time availability and constantly changing variables, such as with respect to aviation training.
  • the scheduler computes a locally optimized scheduling plan for the training schedules in the request and an evaluator evaluates one or more costs associated with the scheduling plan.
  • a solver employs stochastic methodology of reordering the plan vector, to improve the costs.
  • the scheduler, evaluator, and solver are employed iteratively until a globally optimized scheduling plan is determined.
  • scheduling rules are arranged in a sequence of constraint-relaxed tiers, allowing for flexibility in heuristic scheduling in light of multiple layers of constraints. But, Rissin is directed to cost efficiencies, as opposed to scheduling efficiencies based on real-time changes in scheduling capabilities.
  • a reservation scheduling and notification system process may include steps for establishing a database having multiple participants (e.g., a flight instructor, a student, and/or a maintenance operator) and a plurality of activities (e.g., an in-flight training session, a flight simulator training session, and/or an instructional class), scheduling at least one activity for at least one participant in the database based on a first set of information associated with a variable data set associated with the at least one activity, changing the variable data set in response to processing a second set of information associated therewith, and then rescheduling the at least one activity in real-time response to changing the variable data set. Thereafter, the at least one rescheduled activity may be communicated to at least one participant associated with the rescheduled activity, such as by way of sending a push notification to a remote device of the at least one participant associated with the rescheduled activity.
  • participants e.g., a flight instructor, a student, and/or a maintenance operator
  • activities e.g
  • the system may publish the scheduled activity and/or the rescheduled activity for viewing by any of the participants, e.g., as part of a graphical user interface, including for viewing by students and flight instructors.
  • the system may also relay scheduled and /or rescheduled activities to an aircraft dispatch center over a communication network to schedule aircraft and/or a facility for purposes of completing the activity during the reserved timeframe.
  • the least one activity may be a class (e.g., flight training) and the at least one participant may be a student.
  • the scheduling step may analyze the availability of the student, availability of an aircraft, and/or the availability of the flight instructor, including, e.g., calculating availability based on at least one FAA rule, when scheduling and/or rescheduling the activity.
  • the scheduling and/or the rescheduling steps may reserve an available aircraft and/or reserve an available flight instructor so the student can complete a flight lesson as efficiently as possible.
  • the system may also perform the processing step by pulling the second set of information from a public data server. This may include proactively scraping a set of weather data in realtime from a public or private data server over a communication network, and then updating the variable data set in response. Alternatively, the second set of information may be pushed to the database from a third party over the communication network.
  • the database may receive updated weather information affecting flight training in real-time from a third-party providing a free or subscription-based weather data model.
  • the system can, of course, update applicable reservations in real-time to account for weather conditions and/or other variable data impacting one or more activities as they are reported and/or processed within the database.
  • variable data may include a date of the scheduled activity, a time of the scheduled activity, a geographic location where the scheduled activity will take place, vehicle information associated with completing the scheduled activity, a set of facility information where the scheduled activity will be performed, a curriculum (e.g., flight school classes), student information, and/or a set of instructor information.
  • the set of instructor information may further include a schedule, availability of the instructor, a set of existing reservations assigned to the instructor, a set of existing teaching assignments to which the instructor has been committed, and/or a geographic location where the instructor provides lessons.
  • the set of vehicle information may more specifically include aircraft availability, vehicle class information, aircraft complexity, instrument flight rules (“IFR”), aircraft service date(s), and/or a geographic location where equipment and parts are located.
  • This information may also be considered in connection with a set of facility information that includes runway availability and/or meeting room availability in the event the student requires grounded instruction, e.g., as part of normal coursework or by way of being grounded during inclement weather.
  • the changing step may include changing at least one of the date, the time, the geographic location, any of the set of vehicle information, any of the set of facility information, the curriculum, any of the set of student information, or any of the set of instructor information to reschedule the activity.
  • a Hight school scheduling process may include establishing a database having multiple users and multiple flight school training activities (e.g., flight training sessions in an airplane, flight training sessions in a flight simulator, classroom courses, ground instructions, etc.), setting a reservation for at least one of the multiple users for at least one flight school training activity of the multiple flight school training activities in an initial schedule based on a set of constraints that include at least one of an availability constraint or a timeslot constraint, and displaying the initial schedule of the at least one flight training activity in a graphical user interface for viewing by the at least one of the multiple users.
  • flight school training activities e.g., flight training sessions in an airplane, flight training sessions in a flight simulator, classroom courses, ground instructions, etc.
  • displaying the initial schedule of the at least one flight training activity in
  • the graphical user interface may be organized into a set of sortable menus that include a location menu, an aircraft menu, an instructor menu, an activity category menu, and a reservation menu for more quickly searching for reservation information where the menus can be used as a series of filters.
  • the graphical user interface may also organize the initial schedule in a layout categorized by aircraft, timeslots, and users.
  • the changing step may include changing the reservation for each scheduled activity dependent on the updated constraint.
  • the availability constraint may include equipment availability, student availability, instructor availability, and/or facility availability.
  • the set of constraints may include a weather constraint and an aircraft maintenance schedule constraint.
  • the system may update at least one of the constraints in real-time (e.g., in response to changing weather conditions or unexpected airplane maintenance) and change the initial schedule to a modified schedule in response thereto.
  • the initial and/or modified schedules may include location information, vehicle information, timeslot information, and/or at least one user of the plurality of users associated with each scheduled activity.
  • the plurality of users may include students, flight instructors, and/or aircraft maintenance personnel.
  • a flight school schedule editing and notification process may include steps for accessing a database having a schedule of a least one flight training activity for at least one flight school participant, displaying at least one constraint affecting the schedule of the at least one flight training activity for the at least one flight school participant, changing the at least one constraint from a first value to a second value (e.g., in response to processing weather data or vehicle maintenance data) in real-time, rescheduling the at least one flight training activity in response to changing the at least one constraint from the first value to the second value, and notifying the at least one flight school participant of the rescheduled at least one flight training activity.
  • the system may generate a list of the plurality of reservations assigned to the at least one constraint.
  • the at least one constraint may be associated with a plurality of reservations, and the rescheduling step may include rescheduling multiple of the plurality of reservations associated with the constraint, which may include a customer, an instructor, an aircraft, a meeting room, an activity e.g., flight instruction), a training class, or a flight requirement.
  • the changing step may include changing multiple constraints concurrently.
  • the rescheduling step may also include moving the at least one flight training activity for the at least one flight school participant from a first timeslot to a second timeslot.
  • the rescheduling step may suggest a reservation timeslot and a different flight training activity for the at least one flight training activity requiring rescheduling, again to optimize calendaring.
  • the system may prioritize rescheduling the at least one flight training activity on the basis of a student performance profile, an available timeslot, an available instructor, and/or available aircraft.
  • the system may also generate an alert (e.g., text message, phone call, or email) for each rescheduled reservation so that all participants associated with the rescheduled reservation are aware of the change.
  • the system may also send or generate a similar alert for each flight training activity conflicting with another reservation so that the participant(s) are aware of the conflict and that the reserved activity is being cancelled.
  • the updated schedule for the rescheduled at least one flight school training activity may then be displayed in connection with a graphical user interface for viewing by one or more of the participants.
  • steps for building a schedule may include establishing a database of a plurality of users and a set of reservation variables associated with one or more activities, queuing at least one reservation for a first user from the plurality of users for at least one of the activities based on a first set of selections from the set of reservation variables, checking the queued reservation for the first user for conflicts against other activity reservations reserved by other users from the plurality of users, reserving the queued reservation for the first user when there are no conflicts with any other activity reservations of any other users, and notifying the first user of the reserved activity. Thereafter, the reserved activity may then be published to a calendar' for viewing by one or more of the users in connection with one or more timeslots in a timetable.
  • the calendar generated may have a plurality of timeslots for reserving the one or more activities, including that the calendar may identify unavailable timeslots and/or available timeslots in real-time.
  • the available timeslots may be color coded differently than the unavailable timeslots on the calendar, which may make it easier to identify timeslots for scheduling an activity.
  • unavailable timeslots may be hidden instead of color coded.
  • the queuing step may include dragging and dropping at least one reservation into one of the available timeslots.
  • the reserving step may then include the step of tagging an instructor teaching the reserved activity and pushing a notification to the instructor of the tagged reservation so the instructor is aware of the reserved activity.
  • the set of reservation variables may include a date, a time, a lesson, an instructor, and a reservation length.
  • the system may add a pre-time and/or a post-time to the reservation length to ensure enough time is allotted to complete the reserved activity, which may include a flight lesson, a lecture, or a flight simulator lesson.
  • It may be possible to update the set of reservation variables in real-time in response to communications with an external sensor, e.g., over a communication network such as the Internet.
  • the external sensor may be a weather sensor that creates a periodic weather report.
  • the queueing step may also include building a schedule having multiple reservations for multiple users for multiple activities based on reservation variables unique to each scheduled user.
  • the building step may prioritize reservations based on aircraft availability, user availability, and/or instructor availability.
  • the system may rearrange reserved activities based on a priority policy ranking reservation priority based on course progress to complete a flight school lesson plan or curriculum.
  • the system may also issue a warning in response to identifying a conflict between a queued reservation and a prior reservation reserved by another user in view of impending cancellation.
  • the system may push a notification to the first user regarding a cancelled activity and/or an unscheduled activity required to complete a flight school lesson plan.
  • the proposed schedule can be saved as a draft for access at a later date, in the event it is not immediately published to replace the existing schedule.
  • a process for optimizing an event schedule includes reading a database having a list of incomplete schedulable events and a set of available resources for completing the list of incomplete schedulable events, reserving one or more schedulable events from the list of incomplete schedulable events with one or more of the set of available resources, migrating the reserved one or more schedulable events with an active schedule of reservations, activating all non-conflicting reserved schedulable events with the active schedule of reservations, and notifying each user associated with each activated nonconflicting reserved schedulable event of the reserved schedulable event, such as by way of sending a time, a date, and a location of the non-conflicting reserved schedulable event to the user associated therewith.
  • the reserving step may include reading a set of flight scheduling criteria including student availability, instructor availability, and equipment availability (e.g., aircraft availability or flight simulator hardware availability) and analyzing the set of available resources within a predetermined timeframe.
  • the system may model the set of available resources to complete the list of incomplete schedulable events in view of the active schedule of reservations, and prioritize the list of incomplete schedulable events on the basis of the student and/or aircraft availability, among other considerations as disclosed herein.
  • the system may obtain information over a communication network from a public server having relevant weather reports, and then modify one or more schedules in response to changing a constraint based on weather information received from the public server.
  • the migrating step may include creating an aggregate schedule based on a set of disjunctive constraints that include a student assignment, an instructor assignment, and/or an aircraft assignment.
  • the migrating step may also include assigning a back-up user to cover an activity when a primary user is unavailable for scheduling in connection with one of the list of incomplete schedulable events.
  • the migrating step may also produce a provisional recommended schedule, and then the system may review the provisional recommended schedule for conflicts, errors, and/or warnings prior to publishing the provisional recommended schedule in place of the active schedule. Then, after publishing, e.g., as part of the activating step, all non-conflicting reserved schedulable events may be tokenized into a subgroup.
  • FIGURE 1 is a diagram illustrating a communication network facilitating real-time processing of scheduling variables as pail of the reservation systems and processes disclosed herein;
  • FIGURE 2 is a flow chart illustrating a scheduling process, including for viewing and/or editing current schedules and generating new schedules;
  • FIGURE 3 is a flow chart illustrating a process for optimizing a schedule in real-time;
  • FIGURE 4 is a screenshot of a reservation calendar before a weather condition requires replacing the flight instruction with ground instruction;
  • FIGURE 5 is a screenshot similar to FIG. 4, further illustrating selecting an option to edit the current schedule
  • FIGURE 6 is a screenshot similar to FIGS. 4 and 5, further illustrating a menu for selecting reservations needing editing in view of the weather condition, and selecting all reservations with “flight” instructions;
  • FIGURE 7 is a screenshot similar to FIGS. 4-6, further illustrating selecting all students with reservations having flight instructions;
  • FIGURE 8 is a screenshot similar to FIGS. 4-7, further illustrating selecting an option to edit the student reservations;
  • FIGURE 9 is a screenshot similar to FIGS. 4-8, further illustrating selecting an option to change the event type
  • FIGURE 10 is a screenshot similar to FIGS. 4-9, further illustrating selecting an event from a now visible drop-down menu
  • FIGURE 11 is a screenshot similar to FIGS. 4-10, further illustrating making the adjustment to the selected “Ground” event;
  • FIGURE 12 is a screenshot of a revised reservation calendar after changing the flight instruction to ground instruction, including displaying two cancelled student reservations and a push notification that notifies students affected by the schedule change;
  • FIGURE 13 is a screenshot illustrating publishing the revised reservation calendar
  • FIGURE 14 is a screenshot illustrating the revised reservation calendar published
  • FIGURE 15 is a screenshot of a reservation calendar
  • FIGURE 16 is a screenshot of the reservation calendar similar to FIG. 15, further illustrating moving a first reservation after a plane is grounded for maintenance;
  • FIGURE 17 is a screenshot of the reservation calendar similar to FIG. 16, further illustrating that the first reservation includes no issues, and then moving a second reservation;
  • FIGURE 18 is a screenshot of the reservation calendar similar to FIG. 17, further illustrating that the second reservation includes an issue due to student unavailability, and then moving a third reservation;
  • FIGURE 19 is a screenshot of the reservation calendar similar to FIG. 18, further illustrating that the second and third reservations include issues due to student unavailability;
  • FIGURE 20 is a screenshot of a schedule queue, illustrating available timeslots within which to schedule a lesson on a specific day;
  • FIGURE 21 is an alternative screenshot of the schedule queue, illustrating available days and times to reserve a student lesson for the next student to be scheduled;
  • FIGURE 22 is another screenshot of the schedule queue, illustrating a set of available timeslots to schedule a lesson in a specific day;
  • FIGURE 23 is another screenshot of the schedule queue, illustrating grabbing a reservation section
  • FIGURE 24 is a screenshot of the schedule queue similar to FIG. 23, further illustrating dragging the reservation section to a timetable;
  • FIGURE 25 is a screenshot of the schedule queue similar to FIG. 24, further illustrating dropping the reservation into a timeslot in the timetable;
  • FIGURE 26 is another screenshot of the schedule queue, further illustrating available timeslots for reserving a lesson
  • FIGURE 27 is another screenshot of the schedule queue, further illustrating available days and times to reserve the next lesson for a student in the queue;
  • FIGURE 28 is a screenshot selecting a build queue in accordance with the embodiments disclosed herein;
  • FIGURE 29 is a screenshot similar to FIG. 28, further illustrating a list of students available in the queue;
  • FIGURE 30 is a screenshot illustrating a published schedule after being built
  • FIGURE 31 is a screenshot illustrating a priority list for students
  • FIGURE 32 is a screenshot illustrating editing a set of priorities in the priority list of FIG. 31;
  • FIGURE 33 is workflow diagram illustrating cancelling a queue
  • FIGURE 34 is workflow diagram illustrating adding a queue
  • FIGURE 35 is a screenshot of a lesson template for a ground instruction lesson
  • FIGURE 36 is a screenshot of a lesson template for a student solo lesson
  • FIGURE 37 is a workflow diagram illustrating options to save the updated template across all reserved lessons or create a new template
  • FIGURE 38 is a screenshot illustrating adding a course to a template
  • FIGURE 39 is a screenshot illustrating multiple lessons in Stage 1 of a private pilot course
  • FIGURE 40 is a screenshot illustrating adding the private pilot course to the template
  • FIGURE 41 is a screenshot illustrating that multiple courses have been added to a single template
  • FIGURE 42 is a screenshot illustrating editing an overview of the lesson
  • FIGURE 43 is a screenshot illustrating electing to edit the scheduling requirements
  • FIGURE 44 is a screenshot illustrating editing the scheduling requirements
  • FIGURE 45 is a workflow diagram illustrating options to save the lesson, update a template with the lesson, or create a new lesson template
  • FIGURE 47 is a screenshot of the settings page after selecting the lesson scheduling templates
  • FIGURE 48 is a screenshot illustrating a course outline
  • FIGURE 49 is a screenshot of an alternative student calendar for reserving a lesson.
  • the present invention for reservation systems and related processes is disclosed herein. More specifically, the reservation systems and processes are disclosed herein with respect to an aircraft dispatch and reservation schedule management system deployable for use with pilots, pilot instructors, students, and related aircraft, and that is able to update the schedules for the instructors, students, and maintenance personnel in real-time based on constantly changing variables, and then notifying the affected instructor(s), student(s) and/or maintenance personnel of the scheduling change once published.
  • the reservation systems and related processes disclosed herein may also be used with other disciplines where the efficiency and optimization of the schedules are dependent upon variables that change in real-time, and then notifying affected parties other scheduling changes in real-time as well.
  • FIG. 1 one embodiment of a reservation system 50 disclosed herein is illustrated in FIG. 1 and includes a database management system 52 that compiles data in real-time such as from sources that include student information 54, instructor information 56, vehicle information 58, vehicle maintenance 60, including, e.g., scheduled and unscheduled maintenance, facility information 62, real-time weather information 64, and/or other variable information 66 that may change in real-time.
  • the database management system 52 may communicate electronically to obtain this information automatically and in real-time as conditions change, such as by way of a communication network 68, which may include wired or wireless communications over the Internet or an intranet.
  • the database management system 52 compiles this information to generate or build schedules to efficiently deploy and utilize the above-identified resources, such as student availability, instructor availability, vehicle (aircraft) availability, and/or facility availability, for purposes of efficiently training students, e.g., partaking in a flight instruction program.
  • the database management system 52 is able to consider these variables in real-time, and, as a result, modify lesson reservations and schedules in realtime based on continuously changing variables (e.g., weather patterns).
  • the reservation system 50 is then able to communicate directly with those affected by the scheduling changes (e.g., instructors, students, and/or maintenance personnel) such as by way of email, text message, or a phone call. Additionally, instructors, students, and maintenance personnel may access information from the database management system 52 in real-time by way of a graphical user interface 70, e.g., accessible with a computer, smartphone, or the like.
  • the reservation system 50 disclosed herein is an integrated system and process solution that generally includes two components, namely the interactive graphical user interface 70; and the database management system 52.
  • Database management system 52 and the graphical user interface 70 work simultaneously together to receive information in real-time, process that information based on variables and constraint considerations updated in real-time, and then process the received information in view of the variables and constraints for consideration in aircraft dispatch and reservation as part of a pilot training program.
  • this integrated reservation system 50 is able to optimize flight school scheduling in real-time.
  • the system 50 considers input data based on interactions with proprietary evaluations of the weather information 64, configurable resource constraints (such as facility availability accessed from the facility information 26), configurable assignment pools (such as student availability accessed from the student information 54 and/or instructor availability access from the instructor information 56), and configurable assignment criteria (such as vehicle or aircraft availability accessed from the vehicle information 58, the vehicle maintenance 60, and/or the other variable information 66).
  • the reservation system 50 thus operates as a dynamic user-interface to automate and produce an optimal event schedule for students and flight school pilots, instructors, and the required aircraft.
  • the reservation system 50 then considers the information in real-time to generate related reservations, user notifications, and provides communications to end user students, pilots, and owners as part of the overall system and notification integration.
  • the system 50 disclosed herein provisions a schedule of pilot lessons and general aircraft reservations with optimized suggested instructor and aircraft assignments. This process evaluates student, aircraft, and instructor availability and is able to prioritize resources based on conditions and/or constraints, some of which may be measured in real-time. Such considerations may include classroom assignments for ground lessons, solo flights for noninstructor flights, and other custom parameters as required by each site.
  • the reservation system 50 also accounts for other constraints such as the instructor duty time limitations, staggered start times for events, time of day requirements, among others.
  • the data management system 52 can be configured as needed per local, state, and/or federal rules and/or regulations (e.g., those that the Federal Aviation Administration (“FAA”) may publish and/or revise from time to time). This enables the reservation system 50 to consider an ever-changing set of variables when creating reservations to efficiently assign lessons to students participating in the pilot training program, while simultaneously maintaining compliance with local, state, and federal laws and regulations.
  • FAA Federal Aviation Administration
  • the reservation system 50 may consider variables in the student information 54 that include, e.g., set schedules, the student’s other commitments or general unavailability or unwillingness to schedule lessons on certain dates or at certain times, the student’s existing reservations, course enrollment(s), and geographic location.
  • the reservation system 50 may consider comparable variables in the instructor information 56 such as, e.g., set schedule (as may be set or regulated by local, state, and/or federal law or regulation), the instructor’s other commitments or general unavailability or unwillingness to schedule lessons on certain dates or at certain times, existing teaching assignments that have already been reserved, assigned students, the type of instructor (e.g., whether the instructor is a chief, assistant, or check instructor), and their geographic location.
  • the reservation system 50 may also process information in the database management system 52 for the vehicle information 58 that includes, e.g., vehicle or aircraft availability re existing reservations, grounding squawks, etc., the category and/or class of aircraft, the complexity of the aircraft, whether the aircraft is a technologically advanced aircraft (“TAA”), the instrument flight rules (“IFR”) governing aircraft operations, the time remaining until the next service and/or inspection of the subject aircraft, and/or the physical location of the aircraft relative to the location of the student, instructor, and/or airfield where the instruction is to take place.
  • vehicle information 58 includes, e.g., vehicle or aircraft availability re existing reservations, grounding squawks, etc., the category and/or class of aircraft, the complexity of the aircraft, whether the aircraft is a technologically advanced aircraft (“TAA”), the instrument flight rules (“IFR”) governing aircraft operations, the time remaining until the next service and/or inspection of the subject aircraft, and/or the physical location of the aircraft relative to the location of the student, instructor,
  • location-specific variables may be considered as part of the facility information 62, including the availability of runways and/or meeting rooms that may be needed for lessons within a predetermined geographic location of the student and/or the instructor.
  • the reservation system 50 may also take into consideration, when scheduling, the other variable information 66, which may include, but is not necessarily limited to, enrollment records, instructor/student/aircraft assignments, including prioritizing preferred assignments in and among instructors (e.g., each student may have a primary and/or secondary assigned instructor), students, and/or certain aircraft, course progress by the student (e.g., as may be schedulable based on next lesson availability), and the student’s performance within the course, namely, e.g., calculated on the basis of lessons per some predefined time period to meet a graduation goal (e.g., set by the student or facility).
  • FIG. 2 is a flow chart illustrating a scheduling process (2000) that includes two general options, namely a sub-process for viewing/editing a current schedule (2002) and a sub-process for building a future schedule (2004).
  • the scheduling process (2000) enables a user or administrator to customize scheduling criteria (e.g., students, instructors, aircraft and availability, etc.) and constraints (e.g., weather, aircraft maintenance schedules, etc.) on a location-by-location basis.
  • the first step is to select a date (2006) whereby the user can view the current schedule for that particular date.
  • FIG. 4 illustrates one embodiment wherein the graphical user interface 70 displays a schedule 72 for the date of March 28.
  • the reservation system 50 enables the user to select and/or filter certain variables and/or criteria such as certain types of activities and/or flight type.
  • a series of sortable menus 74 include “location”, “aircraft”, “instructors”, “meeting rooms”, “equipment”, “activity types”, and “reservation type”.
  • the “location” is set to “Kansas City”, while the remaining sortable menus 74 are set to “All”. This, in effect, displays all scheduled lessons in a calendar 76 by aircraft organized in an aircraft column 78 for the location of Kansas City.
  • the user can then edit the current schedule (2008) by selecting a down arrow 80 next to the “Schedule” heading. Doing so displays a drop-down menu 82 as illustrated in FIG. 5 with options that include “edit current schedule” and “build future schedule”.
  • the “edit current schedule” option is used with the viewing/editing current schedule process (2002) while the “build future schedule” option is used with the building a future schedule process (2004).
  • selecting the “edit current schedule” as part of step (2008) generates a menu 84 that includes a plurality of drop-down options organized by data stored within the database management system 52 associated with each reservation.
  • the reservations can be sorted by “flight” instruction from the dropdown submenu 86.
  • the purpose in this example is to change all reservations currently assigned to “flight” instruction” to “ground” instruction because of bad weather.
  • selecting a show reservations button 88 with only the “Flight” option chosen from the menu 84 will generate a list of all reservations that are currently assigned to “flight instruction”.
  • the menu 84 permits filtering selecting reservations based on certain criteria as part of a step (2010).
  • the graphical user interface 70 displays a bulk menu 90 where the user can select one or more of the students having “flight instruction” reservations as part of the bulk selection process also illustrated with respect to the step (2010) in FIG. 2.
  • the user has the ability to select “all” users displayed in the bulk menu 90 with one click, or the user can select individual students on a student-by- student basis to the extent not “all” students are affected by the bad weather and need to change their reservation.
  • the database management system 52 may correspond directly with the weather information 64 to determine which of the students are to be selected for the schedule change, and then effectuate that change automatically in real-time.
  • FIG. 8 illustrates that a checkbox 92 next to each of the students has been selected as part of the bulk select step (2010).
  • selecting a make edit button 94 enables the user to edit or change certain information associated multiple reservations simultaneously by way of a bulk editing step (2012).
  • the “edit” feature enables the user to first select a change event type radio button 96 (FIG. 9), then select the desired change to “ground” instruction from the now displayed drop-down menu 98 (FIG. 10), and then select a make adjustment button 100 (FIG. 11) to apply the change for all affected students from “flight” instruction to “ground” instruction.
  • the make adjustment button 100 and/or the notification immediately above identifies the number of reservations affected by this change, i.e., sixty-six.
  • the user is thus able to replace all “flight instruction” lessons with “ground instruction” lessons in response to bad weather grounding flights or that which is unsuitable for low time students as part of the bulk edit step (2012).
  • the user also has the option of changing the date and/or other fields as desired as part of the bulk editing step (2012).
  • FIG. 15 illustrates another calendar 102 having a plurality of reservations therein and FIG. 16 illustrates using a cursor 104 to grab a first reservation 106 from the 7am to 9am timeslot for the DTO Cessna 152 refurb - 9 for movement to the 7am to 9am timeslot for the DTO Cessna 152 Refurb - 10, as illustrated in FIG. 17.
  • selecting an update and notify button 110 implements the scheduling change and notifies the student (in this case “Andrew Dittrich”) of the scheduling change.
  • the student in this case “Andrew Dittrich”
  • FIG. 17 also illustrates moving a second reservation 112 from the 10am to 12pm timeslot for the DTO Cessna 152 Refurb - 9 to the 7am to 9am timeslot for the DTO Cessna 152 Refurb - 11, as reflected in FIG. 18.
  • the reservation system 50 generates a notification in the alert box 108 that the scheduling change has created an issue, namely one of the students (“Anna Luckey”) is not available in the 7am to 9am timeslot to partake in the rescheduled lesson.
  • FIG. 17 also illustrates moving a second reservation 112 from the 10am to 12pm timeslot for the DTO Cessna 152 Refurb - 9 to the 7am to 9am timeslot for the DTO Cessna 152 Refurb - 11, as reflected in FIG. 18.
  • the reservation system 50 generates a notification in the alert box 108 that the scheduling change has created an issue, namely one of the students (“Anna Luckey”) is not available in the 7am to 9am
  • the alert box 108 illustrated in FIG. 19 includes a list of alerts/issues as part of a roll-up list for easy viewing, editing, and reconciliation in a step (2016) before selecting the update and notify button 110 that bulk commits the reservation updates as part of a step (2020).
  • FIGS. 12-14 include similar' options for viewing alerts/issues (2016) when implementing the aforementioned bulk edit (2012) to change the “flight” instruction to a “ground” instruction.
  • FIG. 12 illustrates a pair of alerts 116 associated with the above-mentioned scheduling change.
  • the alerts are related to the fact that there is no ground lesson left for each student to completely.
  • these issues are shown on the calendar as a pair of unconfirmed reservations 118.
  • Options for handling these issue reservations would be to go back and change the event, cancel the reservations and add them to a queue to be scheduled at a later date, or simply cancel the reservations.
  • the user has the ability to notify the affected party (e.g., student or instructor) at the time the change and/or cancellation is made.
  • the unconfirmed reservations 118 are simply cancelled and the affected parties notified.
  • FIG. 13 then illustrates that sixty-four of the sixty-six reservations were converted, and the user is given the ability to generate real-time notifications regarding the schedule change.
  • the calendar 76 is then updated as illustrated in FIG. 14 and the process (2002) ends in a step (2022).
  • the process (2002) may include a “smart” edit function whereby the reservation system 50 proposes advance changes during the editing step (2008), such as those based on forecasted weather, current wind conditions, maintenance issues and other factors as may be known in the art.
  • the scheduling process (2000) may suggest revisions to the reservations to schedule events in timeslots (e.g., which may vary depending on the variable, such as instructor or aircraft availability) that are otherwise unlikely to be fulfilling.
  • the reservation system 50 may also recommend replacement events or modifications to existing reserved events to ensure the schedule of events remains full.
  • the reservation system 50 may also prioritize certain events that have a higher probability, e.g., students who cancel or reschedule reservations less frequently may be accorded higher priority variables (e.g., timeslots, instructors, or aircraft) to more quickly attain course completion relative to those students who more frequently cancel reservations.
  • higher priority variables e.g., timeslots, instructors, or aircraft
  • the reservation system 50 can be configured to make recommended changes without user input to lessen the workload of scheduling staff by having a viable list of new events to replace the non- viable events already scheduled or reserved.
  • the reservation system 50 may push one or more notifications to affected parties such as the students, instructors, or maintenance providers to provide notification in real-time of the scheduling changes.
  • FIG. 20 illustrates one embodiment wherein the graphical user interface 70 displays a schedule queue 122 for “Anna Luckey”.
  • the schedule queue 122 includes a reservation section 124 that includes a set of reservation information 126 such as “course”, “lesson”, “instructor”, “aircraft”, “time of day”, “length of reservation”, “pre-time”, and “posttime”.
  • FIG. 20 illustrates that the date selected as part of step (2024) is August 8, 2023. Of course, the date can be changed, such as by way of clicking a left arrow button 128 to move the date back one day or clicking on a right arrow button 130 to move the date forward one day.
  • Course information may include options such as instructor roles (e.g., chief instructor, assistant instructor, or check person), lesson information may include information related to the type of lesson, flight, standaid or check flight, solo flight, or whether a lesson that requires supervision.
  • instructor roles e.g., chief instructor, assistant instructor, or check person
  • lesson information may include information related to the type of lesson, flight, standaid or check flight, solo flight, or whether a lesson that requires supervision.
  • supervised Hights may be assigned to a particular instructor such as a chief instructor or assistant instructor. Additional options may include whether the lesson is a local lesson or a cross-country lesson, the length of the lesson, whether the instruction is to be pre- or- post flight, whether the instruction is needed during the flight, the type of aircraft, and whether the lesson is restricted and/or required to be performed during the day, during the night, or whether the time is otherwise not applicable.
  • information related to ground scheduling may include information related to one or more instructors performing the lesson, room resources, namely where the ground lesson takes place, and the length of the lesson.
  • the set of reservation information 126 illustrated in the reservation section 124 may be edited one-by-one within the reservation section 124 or, as illustrated in FIGS. 20 and 21, all of the reservation information 126 may be edited at once by clicking on an edit button 132, which takes the user to a different screen, e.g., as illustrated in FIG. 21, where each of the form fields may be accessed and edited in a selectable menu section 134.
  • each of the above-identified criteria such as “location”, “activity type”, “length of reservation”, “pre-time”, “post-time”, “instructor”, and “aircraft”, may have a certain set of predefined values that are selectable by way of a respective set of drop-down menus having preconfigured values entered within the database management system 52.
  • a weekly calendar 136 illustrated below the selectable menu section 134 may include an array of available dates and timeslots selectable for creating a reservation so that the student can perform the desired lesson.
  • One or more of a set of timeslots 138 in the weekly calendar 136 may be grayed out or otherwise disabled, or not shown at all, in FIGS.
  • the database management system 52 may update the availability of the timeslots 138 in real-time based on student selections or other reservation variables affecting the availability of the timeslots 138 being processed simultaneously.
  • the availability of the dates and times in the weekly calendar 136 may also change in real-time when selections within the drop-down menus of the selectable menu section 134 are changed by the user.
  • the user is able to visually see the existing available schedule, which also accounts for real-time changes in one or more outside variables such as weather or unplanned aircraft maintenance.
  • the reservation system 50 does this automatically on the backend in real-time as the database management system 52 is in continuous communication with sensors that provide the weather information 64 and/or the aircraft maintenance 60 schedules, including unplanned downtime.
  • the reservation section 124 may also display the list of available timeslots 138 in a timetable 140.
  • available timeslots 138 may be presented in white or light gray boxes, while the reservation system 50 may block or otherwise black-out timeslots 138 that are unavailable to the student (e.g., because of a scheduling conflict, unavailability, etc.) based on information compiled by the database management system 52 at any given point in time in real-time.
  • the reserved timeslot may show as a black box, namely being unavailable to other students or instructors.
  • FIG. 22 illustrates that the timetable 140 may include one or more highlighted timeslots 142, e.g., consistently depicted in connection with one color to more readily illustrate available times for scheduling the selected lesson identified in the reservation section 124.
  • the reservation section 124 indicates that the “aircraft” for “Lesson 59” is a “Cessna 172s”.
  • each of the highlighted timeslots 142 within the timetable 140 are each associated with a “Cessna 172” aircraft in the aircraft column 78.
  • the highlighted timeslots 142 are those available for this particular reservation.
  • the timetable 140 displays other reservations by color code and staid time and available timeslots are not color coded, as mentioned above.
  • each of the Cessna 172 airplanes are available to reserve for this lesson, except that the “N92555 (141) Cessna 172” is unavailable from 12:00 to 13:00, as indicated by a black blocked timeslot 144.
  • the matrix formed by the timetable 140 and the aircraft column 78 provides an immediate visual representation of the available timeslots to reserve a lesson, especially when the reservation system 50 uses the highlighted timeslots 142 to identify those timeslots that are available and appropriate to reserve for the lesson identified in the reservation section 124.
  • changing the lesson selected in the reservation section 124 may change the highlighted timeslots 142, depending on the availability of aircraft assigned to the particular lesson.
  • the user may also have the ability to drag and/or drop reservations into the timeslots 138 as part of a step (2042) in FIG. 2. This may be accomplished, e.g., as illustrated in FIGS. 23-25, by clicking and holding an icon 146 in an upper left-hand comer of the reservation section 124, and then moving the reservation section 124 to the right so that it becomes a hovering box 148 (FIG. 24) over the timetable 140. As illustrated in FIG. 24, the reservation section 124 may remain visible on the left-hand side while the user navigates the hovering box 148 with the desired aircraft in the aircraft column 78 and the desired timeslot 138 in the timetable 140.
  • Releasing the hovering box 148, as illustrated in FIG. 25, drops the reservation into the desired timeslot, whereby the hovering box 148 changes to a reserved timeslot 150 (e.g., a light grey colored box in this example) by the “length of the reservation”, taking into account the “pre-time” and the “post-time” on each side thereof.
  • Hovering over the reserved timeslot 150 with a mouse 152 may generate a pop-up 154 that provides reservation information, such as that illustrated in FIG. 25.
  • users may move reservations within the timetable 140 without initially committing to the schedule changes. This enables the user to better customize scheduling without immediately impacting or notifying users, as discussed in detail herein.
  • the reservation system 50 disclosed herein may create the schedule automatically based on pre-set criteria, and may also utilize artificial intelligence to optimize scheduling during the process (2004).
  • FIG. 25 also illustrates that the reservation section 124 includes a warning 156 indicating that documents associated with this particular lesson are expiring soon.
  • the user can immediately diagnose any deficiencies with the course or lesson as the warning 156 is automatically generated and presented to the user, and may be pushed to third parties such as students and/or instructors. As discussed in more detail herein, these warnings 156 can be addressed in bulk editing, as needed.
  • FIG. 26 is another embodiment illustrating that the reservation section 124 may be generally positioned above the timetable 140, with a set of the highlighted timeslots 142 visually identifying in the timetable 140 the current availability to reserve the lesson identified in the reservation section 124.
  • a schedule indicator 158 identifies that this particular lesson has yet to be scheduled by the student.
  • the process (2004) may schedule this reservation automatically as part of the step (2038) or manually by way of the step (2040) after the queue is generated as part of the step (2026).
  • the user is setting up the queue (2028) by assigning priority policies (2032) for the reservation (2034). Some of those priority policies may be organized by “customer”, the “schedule” and/or “status” as illustrate din FIG.
  • FIG. 32 illustrates some examples where the priority information in the priority list 159 can he customized through a priority editor 161 having the ability to rank the priority of criteria (e.g., “lessons”) and use logic indicators to subprioritize those criteria.
  • the priority step (2032) helps the reservation system 50 schedule and reschedule timeslots based on availability.
  • the order may be based on lesson type, user type, user course progress, etc., and is customizable at each location, depending on the needs. [0099] Thereafter, the previously created queued reservations must then be deployed as part of the step for requesting a reservation (2030).
  • the reservation system 50 may generate ad hoc reservation requests not associated with any particular training course, which can be added to the queue as part of the step (2026).
  • the requesting reservations step (2030) may include tagging the individual e.g., renter, student, instructor, etc.) who may make the reservation request in step (2030).
  • the user may also request the reservation (2030) by way of selecting one of the highlighted timeslots 1 2 showing the availability for the reservation, as disclosed herein.
  • FIG. 27 is similar to FIG. 26, but more specifically illustrates that the schedule indicator 158 includes a set of subset indicators 160, which provides more granular or specific information regarding which lessons within a single course have been completed by a student.
  • the highlighted timeslots 142 are available to complete the third of fourth lessons for the “Sporty’s Private Pilot” course.
  • the number of available highlighted timeslots 142 illustrated in FIG. 27 are less than the number of available highlighted timeslots 142 illustrated in FIG. 26 because FIG. 27 only shows those timeslots associated with one specific lesson in the subset 160.
  • the reservation system 50 could color coordinate available highlighted timeslots 142 by each lesson within the subset indicators 160.
  • the user may be able to readily identify which of the lessons are available within the timetable 140 in FIG. 26 for each lesson within the subset 160 without being required to narrow down to any specific lesson as illustrated in FIG. 27.
  • FIG. 28 illustrates that this may be accomplished by selecting a build queue button 162.
  • FIG. 28 illustrates that the timetable 140 is initially empty with respect to reservations.
  • the only entries illustrated in FIG. 28 are a project management block-out 164 and a maintenance block- out 166. These are dates and times that the scheduling process (2000) cannot schedule reservations because of known or entered constraints, either automatically as part of the step (2038) or manually as part of the step (2040).
  • the reservation system 50 populates a list of students 168 as illustrated in FIG. 29.
  • the reservation system 50 displays certain general information in connection with each student in the list of students 168, such as whether the student is at the “end of course”, in “stage check”, or is in “accelerated training”.
  • the list of students 168 may also identify how many lessons are remaining to be completed to finish a course.
  • the scheduling process (2000) may then generate a schedule 170 as illustrated in FIG. 30.
  • FIG. 30 illustrates that the scheduling process (2000) has populated the timetable 140 with reservations in the timeslots 138 according to the predefined priorities, and in and around the project management block-out 164 and the maintenance block-out 166.
  • the reservation system 50 may provide statistical feedback regarding the schedule optimization, including the number of reservations added to the timetable 140 and the capacity remaining within the timetable 140 to schedule additional reservations.
  • the reservation system 50 may take into account criteria such as aircraft, student/customer, and/or instructor availability. Additional considerations or constraints may include instructor duty time (e.g., limiting an instructor to no more than 8 hours of work in any 24-hour period), and aircraft maintenance (e.g., not scheduling time based on maintenance schedules and/or reminders). In one embodiment, the instructor duty time and maintenance time may be based on average time logged per hour booked (e.g., 0.5 hours logged per hour booked). In this example, a two-hour reservation would count as one hour of maintenance time.
  • instructor duty time e.g., limiting an instructor to no more than 8 hours of work in any 24-hour period
  • aircraft maintenance e.g., not scheduling time based on maintenance schedules and/or reminders.
  • the instructor duty time and maintenance time may be based on average time logged per hour booked (e.g., 0.5 hours logged per hour booked). In this example, a two-hour reservation would count as one hour of maintenance time.
  • the auto scheduler (2038) is able to schedule around reservations that may be manually placed within the schedule as part of the manual reservation step (2040) and/or any of the block outs 164, 166.
  • the scheduling process (2000) updates in real-time such that any reservations created as part of the step for auto placing reservations (2038) does not overlap any manually created reservations entered into the system as part of the step (2040), and vice versa.
  • the user can drag/drop reservations without actually committing to the timeslots, as part of the step (2042), in the same manner as was discussed above with respect to the drag/drop feature in the step (2014).
  • This enables the user to move reservations around after an auto schedule run to accommodate any changes or operator preferences.
  • Subsequent steps for viewing a list of reservations (2044), viewing alerts and/or issues associated with those reservations (2046), and committing to the reservations (bulk or otherwise) (2048) are substantially the same as the steps (2018) - (2022) discussed above in detail, with variations in the user experience through the graphical user interface 70.
  • the reservation system 50 also includes the ability to cancel or delete queues that were generated in the step (2026) and/or add new queues after completing the generating step (2026).
  • FIG. 33 illustrates one embodiment where the reservation 50 allows the user to search reservations by criteria, such as those illustrated in a search box 172. Reservations falling within the search criteria are presented in a search results list 174.
  • the user can select (e.g., by a corresponding checkbox 176) those reservations that are to be deleted from the queue.
  • a confirmation page 178 enables the user to effectively cancel the reservations by clicking a cancel and notify button 180.
  • the reservation system 50 then autoupdates.
  • FIG. 34 illustrates an embodiment wherein reservations can be added to a queue. Similar to FIG. 33, the user may access a reservation search 182 to locate available reservations available to be added to a queue. From there, the user may select one or more of the reservations meeting the search criteria, and then click an “Auto-Fill Spots” button 184 to add those reservations to the queue. Once the reservations have been added, the user may be directed to a confirmation page 186 that confirms the number of reservations added to the queue, along with identifying a list of issues 188 in an issue section 190 that the user may manually diagnose and resolve.
  • the next step (2050) in the process for building schedules (2004) is to determine whether to save the new schedule as a draft as part of a step (2052) or publish the schedule as part of step (2054).
  • the user may be given an option to notify users (2056) of the newly published schedule.
  • the notification step (2056) allows the reservation system 50 to push notifications to participants (e.g., instructors, students, maintenance personnel, etc.) as to the new schedule. Once the notifications are sent, reservations are committed to the actual schedule.
  • the proposed schedule can be accessed at a later date for review, revision, and/or deployment by publishing, as needed and/or desired.
  • FIG. 3 illustrates an optimization process (3000) that utilizes a set of criteria such as the student availability 54, the instructor information 56, the vehicle e.g., aircraft) information 58, information related to the other variables 66, and/or information related to a set of courses and/or the lessons 120 compiled within the database management system 52 to generate efficient schedules. More specifically, the process (3000) starts with a front-end user interface requesting events and resource availability from lesson data in the database management system 52. Here, the front-end user interface queries, analyzes and aggregates a list of incomplete and/or unscheduled events and allocates resource availability accordingly.
  • a set of criteria such as the student availability 54, the instructor information 56, the vehicle e.g., aircraft information 58, information related to the other variables 66, and/or information related to a set of courses and/or the lessons 120 compiled within the database management system 52 to generate efficient schedules. More specifically, the process (3000) starts with a front-end user interface requesting events and resource availability from lesson data in the database
  • resource availability may be determined by evaluating all scheduled reservations currently active in the database management system 52 within a certain predetermined or desired date/time range. For example, students, instructors, aircraft, and/or other resource assignment group/slots may all be evaluated for availability across all intervals of time within the configured schedule request. This data is included when the system auto-places reservations, e.g., as part of the step (2038), discussed above.
  • the front-end user interface displays a backlog of the schedulable events (3006).
  • the front-end user interface displays the backlog of prioritized, unscheduled events as needed and/or desired.
  • the schedulable events and related availability data are then sent to the auto- scheduler to be processed and scheduled as part of an optimization process (3008).
  • the optimization subprocess (3008) includes allocating resources processed from all schedulable events and assigned a tokenized scheduling group/set (3010). For example, aircraft may be allocated by prioritized group or individually per event, and the unique aggregate of all assignments are tokenized as a new scheduling group. Instructors are allocated and prioritized individually per event, combining primary and secondary instructors per student into a tokenized priority allocation set.
  • step (3012) is to model all events and availability with specific constraints to simulate student, instructor, and aircraft requirements.
  • the reservation system 50 creates an optimal job scheduling solution configured with disjunctive constraints for flexible student, instructor and aircraft assignments.
  • step (3014) includes configuring the schedule with the objective of maximizing the overall student course progress and equipment utilization within configured constraints across applicable timeslots. Time and conditions specific dispatch requirements require multiple sequenced iterations of schedule configuration and solution processing. For example, scheduling for “24 hours” across “Civil Twilight” requires the autoscheduler to run a different scheduling configuration for each different “Night” and “Day” section of timeslots.
  • the next step is to assign an instructor and aircraft to each event from the related scheduling group as part of step (3016).
  • Individual resource availability e.g., student, instructor, aircraft, etc.
  • Resource conflicts use configured workflows to resolve automatically or prompt a manual intervention, such as to automatically assign a back-up instructor as a substitute for a chief instructor/pilot who may be unavailable within a desired reservation timeslot.
  • the schedule is merged with the existing schedule(s) to create a provisional recommended schedule as part of a step (3018).
  • secondary services validate the new scheduled events against existing reservations and prompt manual intervention if a new conflict or issue is identified.
  • the next step (3020) is for the front-end user interface to display those events with issues (if any). Once those are resolved or bypassed, the user is then prompted to validate the proposed schedule, and review any existing issues, errors, or warnings from earlier steps in the process (3000), before the reservations are published to the database management system 52 as part of a step (2022).
  • notifications regarding the schedule information may be pushed in real-time and notifications may be pushed to individuals who have activities that have now been calendared.
  • the reviewed provisional schedule may also be confirmed and published by the administrator to users, as needed. New reservations for all related resources are created for each approved scheduled event and secondary workflows in integrated systems may facilitate notifying users whose schedules are impacted by any changes.
  • FIG. 35 illustrates one embodiment of a lesson scheduling template 192 that has selectable criteria for creating a lesson for “ground instruction”.
  • FIG. 36 illustrates an alternative lesson scheduling template 192’ directed to different set of criteria for adding an activity type directed to “student solo” flight training.
  • the lesson scheduling templates 192, 192’ may vary, and be customized as needed, depending on the course and options available for selection by the user in connection with that course.
  • FIG. 37 illustrates a workflow for saving it as an updated template 194 or a new template 196. When saved as the updated template 194, the reservation system 50 may present a confirmation 196 regarding the number of lessons currently using the template, among other information.
  • FIGS. 38-41 illustrate a workflow for loading a course 198 to be edited as a template as illustrated in FIG. 38, editing the course template 200 as illustrated in FIG. 39 (e.g., with respect to lessons within said course), and saving a single added course 202 (FIG. 40) or saving multiple added courses 204 (FIG. 41).
  • An edit lesson form 206 illustrated in FIG. 42 further illustrates the type of criteria that may be added into the lesson, including the ability to modify and customize the template.
  • FIG. 43 illustrates one exemplary lesson template 208 for use with the reservation system 50 disclosed herein. Information within the template 208 may then be edited in a form 210 (e.g., as illustrated in FIG. 44) and saved as a new template or as an updated template, per the workflow illustrated in FIG. 45 (similar to that shown and described above with respect to FIG. 37).
  • FIGS. 46-48 illustrate additional features of the reservation system 50 disclosed herein, including a training hub page 212 that includes access to settings within the reservation system 50, such as “Hour & Experience Types”, “Lesson Scheduling Templates”, “Courses”, and/or “Programs” as illustrated in FIG. 46. Selecting the “Lesson Scheduling Templates” directs the user to a templates submenu 214, as illustrated in FIG. 47, where available templates are organized by template name and type. Here, the user can select one or more of the templates to be edited.
  • FIG. 48 illustrates a course contents page 216 where the user can edit lessons associated with each course, and provides visual identification whether those courses are ready for reservations within the system 50.
  • FIG. 49 is another embodiment wherein the graphical user interface 70 enables scheduling for a particular lesson of a course, as discussed in detail herein.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The reservation system and processes disclosed herein include processing real-time data based on constantly changing variables to optimize the generation of schedules for efficiently performing lessons as part of course training, e.g., in the field of aircraft pilot certification.

Description

RESERVATION SYSTEMS AND PROCESSES
DESCRIPTION
BACKGROUND OF THE INVENTION
[0001] The present invention generally relates to reservation systems and processes. More specifically, the reservation systems and processes disclosed herein include scheduling and dispatch management to optimize course progress, drafting lesson reservations, and instructor coordination based on real-time availability and constantly changing variables, such as with respect to aviation training.
[0002] The process of scheduling training courses for large organizations, such as those in student pilot training and certification courses for airlines, is an extremely complex task because scheduling is dependent on a number of variables that change in real-time, such as student availability, instructor availability, weather, aircraft availability and maintenance, among other considerations e.g., regulatory requirements, contractual agreements, training cost and quality, etc.). Historically, training management and scheduling has been handled manually by staff that track student progress and schedule events for the students and instructors based on availability. Coordinating lessons is resource intensive and error prone because variables affecting the ability to conduct lessons for the students and/or the instructors change in real-time based on, e.g., changing weather conditions, unexpected maintenance issues with aircraft needed for the lesson, etc. Consequently, the management tends to be inefficient and leads to suboptimal results as available aircraft may sit idle (therefore being underutilized), instructors may not have schedules that are effectively and efficiently filled with lessons, whereby students can fall behind in courses and delay completion and certification. Some flight schools have developed internal systems to track student progress, but building and maintaining a manual schedule is still time consumer and expensive.
[0003] As such, some have attempted to develop more automated systems to reduce the amount of manual labor required to schedule lessons. In one example prior art system, U.S. Patent No. 8,447,646 to Thengvall, the contents of which are herein incorporated by reference in its entirety, discloses a system designed to more quickly generate minimum length pilot training schedules. The system includes decision trees to more progressively schedule training classes and lessons for students, such as by examining training curriculums and training classes to be scheduled to determine how many resources and instructors arc required for each type of curriculum, and whether classes with certain properties should be split to provide more efficient processing. While Thengvall attempts to more efficiently schedule training classes and lessons through better, more automized coordination, Thengvall does not take into consideration other variables that change in real-time such as weather and unexpected aircraft maintenance, to adjust the schedules and notify participants, such as instructors and/or students, of the scheduling changes. [0004] In another example prior art system, U.S. Patent No. 11,295,403 to Rissin, the contents of which are also herein incorporated by reference in its entirety, discloses a hybrid computer-based system and method for scheduling training programs, such as flight training programs. Rissin expands on the features of Thengvall by disclosing a heuristic scheduler that receives a plan request including training programs to schedule, along with a plan vector, scheduling rules, and available resources. The scheduler computes a locally optimized scheduling plan for the training schedules in the request and an evaluator evaluates one or more costs associated with the scheduling plan. A solver employs stochastic methodology of reordering the plan vector, to improve the costs. The scheduler, evaluator, and solver are employed iteratively until a globally optimized scheduling plan is determined. In some embodiments, scheduling rules are arranged in a sequence of constraint-relaxed tiers, allowing for flexibility in heuristic scheduling in light of multiple layers of constraints. But, Rissin is directed to cost efficiencies, as opposed to scheduling efficiencies based on real-time changes in scheduling capabilities.
[0005] There exists, therefore, a significant need in the art for reservation systems and processes, such as those for integration with a flight school and aircraft dispatch, that considers real-time data, adjusts schedules based on the real-time data changes to optimize the use of resources and participant scheduling, and then pushes notifications to lesson participants (e.g., instructors and students) regarding the scheduling changes in real-time. The present invention fulfills these needs and provides further related advantages.
SUMMARY OF THE INVENTION
[0006] In one embodiment disclosed herein, a reservation scheduling and notification system process may include steps for establishing a database having multiple participants (e.g., a flight instructor, a student, and/or a maintenance operator) and a plurality of activities (e.g., an in-flight training session, a flight simulator training session, and/or an instructional class), scheduling at least one activity for at least one participant in the database based on a first set of information associated with a variable data set associated with the at least one activity, changing the variable data set in response to processing a second set of information associated therewith, and then rescheduling the at least one activity in real-time response to changing the variable data set. Thereafter, the at least one rescheduled activity may be communicated to at least one participant associated with the rescheduled activity, such as by way of sending a push notification to a remote device of the at least one participant associated with the rescheduled activity.
[0007] The system may publish the scheduled activity and/or the rescheduled activity for viewing by any of the participants, e.g., as part of a graphical user interface, including for viewing by students and flight instructors. The system may also relay scheduled and /or rescheduled activities to an aircraft dispatch center over a communication network to schedule aircraft and/or a facility for purposes of completing the activity during the reserved timeframe. In one embodiment, the least one activity may be a class (e.g., flight training) and the at least one participant may be a student. Here, the scheduling step may analyze the availability of the student, availability of an aircraft, and/or the availability of the flight instructor, including, e.g., calculating availability based on at least one FAA rule, when scheduling and/or rescheduling the activity. This way the scheduling and/or the rescheduling steps may reserve an available aircraft and/or reserve an available flight instructor so the student can complete a flight lesson as efficiently as possible.
[0008] The system may also perform the processing step by pulling the second set of information from a public data server. This may include proactively scraping a set of weather data in realtime from a public or private data server over a communication network, and then updating the variable data set in response. Alternatively, the second set of information may be pushed to the database from a third party over the communication network. Here, the database may receive updated weather information affecting flight training in real-time from a third-party providing a free or subscription-based weather data model. In response, the system can, of course, update applicable reservations in real-time to account for weather conditions and/or other variable data impacting one or more activities as they are reported and/or processed within the database. [0009] In some embodiments, the variable data may include a date of the scheduled activity, a time of the scheduled activity, a geographic location where the scheduled activity will take place, vehicle information associated with completing the scheduled activity, a set of facility information where the scheduled activity will be performed, a curriculum (e.g., flight school classes), student information, and/or a set of instructor information. More specifically in this respect, the set of instructor information may further include a schedule, availability of the instructor, a set of existing reservations assigned to the instructor, a set of existing teaching assignments to which the instructor has been committed, and/or a geographic location where the instructor provides lessons. Similarly, the set of vehicle information may more specifically include aircraft availability, vehicle class information, aircraft complexity, instrument flight rules (“IFR”), aircraft service date(s), and/or a geographic location where equipment and parts are located. This information may also be considered in connection with a set of facility information that includes runway availability and/or meeting room availability in the event the student requires grounded instruction, e.g., as part of normal coursework or by way of being grounded during inclement weather. In this respect, the changing step may include changing at least one of the date, the time, the geographic location, any of the set of vehicle information, any of the set of facility information, the curriculum, any of the set of student information, or any of the set of instructor information to reschedule the activity.
[0010] In another embodiment disclosed herein, a Hight school scheduling process may include establishing a database having multiple users and multiple flight school training activities (e.g., flight training sessions in an airplane, flight training sessions in a flight simulator, classroom courses, ground instructions, etc.), setting a reservation for at least one of the multiple users for at least one flight school training activity of the multiple flight school training activities in an initial schedule based on a set of constraints that include at least one of an availability constraint or a timeslot constraint, and displaying the initial schedule of the at least one flight training activity in a graphical user interface for viewing by the at least one of the multiple users. The graphical user interface may be organized into a set of sortable menus that include a location menu, an aircraft menu, an instructor menu, an activity category menu, and a reservation menu for more quickly searching for reservation information where the menus can be used as a series of filters. In this respect, the graphical user interface may also organize the initial schedule in a layout categorized by aircraft, timeslots, and users.
[0011] In another aspect of these embodiments, the changing step may include changing the reservation for each scheduled activity dependent on the updated constraint. In one embodiment, the availability constraint may include equipment availability, student availability, instructor availability, and/or facility availability. In another embodiment, the set of constraints may include a weather constraint and an aircraft maintenance schedule constraint. Here, the system may update at least one of the constraints in real-time (e.g., in response to changing weather conditions or unexpected airplane maintenance) and change the initial schedule to a modified schedule in response thereto. The initial and/or modified schedules may include location information, vehicle information, timeslot information, and/or at least one user of the plurality of users associated with each scheduled activity. In some embodiments, the plurality of users may include students, flight instructors, and/or aircraft maintenance personnel.
[0012] In another embodiment as disclosed herein, a flight school schedule editing and notification process may include steps for accessing a database having a schedule of a least one flight training activity for at least one flight school participant, displaying at least one constraint affecting the schedule of the at least one flight training activity for the at least one flight school participant, changing the at least one constraint from a first value to a second value (e.g., in response to processing weather data or vehicle maintenance data) in real-time, rescheduling the at least one flight training activity in response to changing the at least one constraint from the first value to the second value, and notifying the at least one flight school participant of the rescheduled at least one flight training activity.
[0013] In these embodiments, the system may generate a list of the plurality of reservations assigned to the at least one constraint. The at least one constraint may be associated with a plurality of reservations, and the rescheduling step may include rescheduling multiple of the plurality of reservations associated with the constraint, which may include a customer, an instructor, an aircraft, a meeting room, an activity e.g., flight instruction), a training class, or a flight requirement. Of course, here, the changing step may include changing multiple constraints concurrently. Although, it may also be possible to select less than all the reservations associated with the at least one constraint requiring rescheduling, e.g., for optimizing the quantity of reservations rescheduled, and minimizing the number of cancelled reservations impacted by the change in the at least one constraint.
[0014] The rescheduling step may also include moving the at least one flight training activity for the at least one flight school participant from a first timeslot to a second timeslot. Here, the rescheduling step may suggest a reservation timeslot and a different flight training activity for the at least one flight training activity requiring rescheduling, again to optimize calendaring. Moreover, the system may prioritize rescheduling the at least one flight training activity on the basis of a student performance profile, an available timeslot, an available instructor, and/or available aircraft. The system may also generate an alert (e.g., text message, phone call, or email) for each rescheduled reservation so that all participants associated with the rescheduled reservation are aware of the change. The system may also send or generate a similar alert for each flight training activity conflicting with another reservation so that the participant(s) are aware of the conflict and that the reserved activity is being cancelled. The updated schedule for the rescheduled at least one flight school training activity may then be displayed in connection with a graphical user interface for viewing by one or more of the participants.
[0015] In another process, steps for building a schedule may include establishing a database of a plurality of users and a set of reservation variables associated with one or more activities, queuing at least one reservation for a first user from the plurality of users for at least one of the activities based on a first set of selections from the set of reservation variables, checking the queued reservation for the first user for conflicts against other activity reservations reserved by other users from the plurality of users, reserving the queued reservation for the first user when there are no conflicts with any other activity reservations of any other users, and notifying the first user of the reserved activity. Thereafter, the reserved activity may then be published to a calendar' for viewing by one or more of the users in connection with one or more timeslots in a timetable.
[0016] The calendar generated may have a plurality of timeslots for reserving the one or more activities, including that the calendar may identify unavailable timeslots and/or available timeslots in real-time. Here, the available timeslots may be color coded differently than the unavailable timeslots on the calendar, which may make it easier to identify timeslots for scheduling an activity. Alternatively, unavailable timeslots may be hidden instead of color coded. As such, the queuing step may include dragging and dropping at least one reservation into one of the available timeslots. The reserving step may then include the step of tagging an instructor teaching the reserved activity and pushing a notification to the instructor of the tagged reservation so the instructor is aware of the reserved activity.
[0017] Additionally, the set of reservation variables may include a date, a time, a lesson, an instructor, and a reservation length. The system may add a pre-time and/or a post-time to the reservation length to ensure enough time is allotted to complete the reserved activity, which may include a flight lesson, a lecture, or a flight simulator lesson. It may be possible to update the set of reservation variables in real-time in response to communications with an external sensor, e.g., over a communication network such as the Internet. In one embodiment, the external sensor may be a weather sensor that creates a periodic weather report. In one embodiment, it may be possible to concurrently edit each of the set of reservation variables. In this respect, editing the set of reservation variables may result in requeuing the at least one reservation based on a second set of selections of the set of reservation variables.
[0018] The queueing step may also include building a schedule having multiple reservations for multiple users for multiple activities based on reservation variables unique to each scheduled user. In this respect, the building step may prioritize reservations based on aircraft availability, user availability, and/or instructor availability. Additionally, as part of a checking step, the system may rearrange reserved activities based on a priority policy ranking reservation priority based on course progress to complete a flight school lesson plan or curriculum. The system may also issue a warning in response to identifying a conflict between a queued reservation and a prior reservation reserved by another user in view of impending cancellation. Here, the system may push a notification to the first user regarding a cancelled activity and/or an unscheduled activity required to complete a flight school lesson plan. The proposed schedule can be saved as a draft for access at a later date, in the event it is not immediately published to replace the existing schedule.
[0019] In another aspect of the embodiments disclosed herein, a process for optimizing an event schedule includes reading a database having a list of incomplete schedulable events and a set of available resources for completing the list of incomplete schedulable events, reserving one or more schedulable events from the list of incomplete schedulable events with one or more of the set of available resources, migrating the reserved one or more schedulable events with an active schedule of reservations, activating all non-conflicting reserved schedulable events with the active schedule of reservations, and notifying each user associated with each activated nonconflicting reserved schedulable event of the reserved schedulable event, such as by way of sending a time, a date, and a location of the non-conflicting reserved schedulable event to the user associated therewith. [0020] More specifically, the reserving step may include reading a set of flight scheduling criteria including student availability, instructor availability, and equipment availability (e.g., aircraft availability or flight simulator hardware availability) and analyzing the set of available resources within a predetermined timeframe. Here, the system may model the set of available resources to complete the list of incomplete schedulable events in view of the active schedule of reservations, and prioritize the list of incomplete schedulable events on the basis of the student and/or aircraft availability, among other considerations as disclosed herein. For example, the system may obtain information over a communication network from a public server having relevant weather reports, and then modify one or more schedules in response to changing a constraint based on weather information received from the public server.
[0021] Additionally, the migrating step may include creating an aggregate schedule based on a set of disjunctive constraints that include a student assignment, an instructor assignment, and/or an aircraft assignment. Here, the migrating step may also include assigning a back-up user to cover an activity when a primary user is unavailable for scheduling in connection with one of the list of incomplete schedulable events. To this end, the migrating step may also produce a provisional recommended schedule, and then the system may review the provisional recommended schedule for conflicts, errors, and/or warnings prior to publishing the provisional recommended schedule in place of the active schedule. Then, after publishing, e.g., as part of the activating step, all non-conflicting reserved schedulable events may be tokenized into a subgroup.
[0022] Other features and advantages of the present invention will become apparent from the following more detailed description, when taken in conjunction with the accompanying drawings, which illustrate, by way of example, the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The accompanying drawings illustrate the invention. In such drawings:
[0024] FIGURE 1 is a diagram illustrating a communication network facilitating real-time processing of scheduling variables as pail of the reservation systems and processes disclosed herein;
[0025] FIGURE 2 is a flow chart illustrating a scheduling process, including for viewing and/or editing current schedules and generating new schedules; [0026] FIGURE 3 is a flow chart illustrating a process for optimizing a schedule in real-time;
[0027] FIGURE 4 is a screenshot of a reservation calendar before a weather condition requires replacing the flight instruction with ground instruction;
[0028] FIGURE 5 is a screenshot similar to FIG. 4, further illustrating selecting an option to edit the current schedule;
[0029] FIGURE 6 is a screenshot similar to FIGS. 4 and 5, further illustrating a menu for selecting reservations needing editing in view of the weather condition, and selecting all reservations with “flight” instructions;
[0030] FIGURE 7 is a screenshot similar to FIGS. 4-6, further illustrating selecting all students with reservations having flight instructions;
[0031] FIGURE 8 is a screenshot similar to FIGS. 4-7, further illustrating selecting an option to edit the student reservations;
[0032] FIGURE 9 is a screenshot similar to FIGS. 4-8, further illustrating selecting an option to change the event type;
[0033] FIGURE 10 is a screenshot similar to FIGS. 4-9, further illustrating selecting an event from a now visible drop-down menu;
[0034] FIGURE 11 is a screenshot similar to FIGS. 4-10, further illustrating making the adjustment to the selected “Ground” event;
[0035] FIGURE 12 is a screenshot of a revised reservation calendar after changing the flight instruction to ground instruction, including displaying two cancelled student reservations and a push notification that notifies students affected by the schedule change;
[0036] FIGURE 13 is a screenshot illustrating publishing the revised reservation calendar;
[0037] FIGURE 14 is a screenshot illustrating the revised reservation calendar published;
[0038] FIGURE 15 is a screenshot of a reservation calendar;
[0039] FIGURE 16 is a screenshot of the reservation calendar similar to FIG. 15, further illustrating moving a first reservation after a plane is grounded for maintenance;
[0040] FIGURE 17 is a screenshot of the reservation calendar similar to FIG. 16, further illustrating that the first reservation includes no issues, and then moving a second reservation;
[0041] FIGURE 18 is a screenshot of the reservation calendar similar to FIG. 17, further illustrating that the second reservation includes an issue due to student unavailability, and then moving a third reservation; [0042] FIGURE 19 is a screenshot of the reservation calendar similar to FIG. 18, further illustrating that the second and third reservations include issues due to student unavailability; [0043] FIGURE 20 is a screenshot of a schedule queue, illustrating available timeslots within which to schedule a lesson on a specific day;
[0044] FIGURE 21 is an alternative screenshot of the schedule queue, illustrating available days and times to reserve a student lesson for the next student to be scheduled;
[0045] FIGURE 22 is another screenshot of the schedule queue, illustrating a set of available timeslots to schedule a lesson in a specific day;
[0046] FIGURE 23 is another screenshot of the schedule queue, illustrating grabbing a reservation section;
[0047] FIGURE 24 is a screenshot of the schedule queue similar to FIG. 23, further illustrating dragging the reservation section to a timetable;
[0048] FIGURE 25 is a screenshot of the schedule queue similar to FIG. 24, further illustrating dropping the reservation into a timeslot in the timetable;
[0049] FIGURE 26 is another screenshot of the schedule queue, further illustrating available timeslots for reserving a lesson;
[0050] FIGURE 27 is another screenshot of the schedule queue, further illustrating available days and times to reserve the next lesson for a student in the queue;
[0051] FIGURE 28 is a screenshot selecting a build queue in accordance with the embodiments disclosed herein;
[0052] FIGURE 29 is a screenshot similar to FIG. 28, further illustrating a list of students available in the queue;
[0053] FIGURE 30 is a screenshot illustrating a published schedule after being built;
[0054] FIGURE 31 is a screenshot illustrating a priority list for students;
[0055] FIGURE 32 is a screenshot illustrating editing a set of priorities in the priority list of FIG. 31;
[0056] FIGURE 33 is workflow diagram illustrating cancelling a queue;
[0057] FIGURE 34 is workflow diagram illustrating adding a queue;
[0058] FIGURE 35 is a screenshot of a lesson template for a ground instruction lesson;
[0059] FIGURE 36 is a screenshot of a lesson template for a student solo lesson; [0060] FIGURE 37 is a workflow diagram illustrating options to save the updated template across all reserved lessons or create a new template;
[0061] FIGURE 38 is a screenshot illustrating adding a course to a template;
[0062] FIGURE 39 is a screenshot illustrating multiple lessons in Stage 1 of a private pilot course;
[0063] FIGURE 40 is a screenshot illustrating adding the private pilot course to the template; [0064] FIGURE 41 is a screenshot illustrating that multiple courses have been added to a single template;
[0065] FIGURE 42 is a screenshot illustrating editing an overview of the lesson;
[0066] FIGURE 43 is a screenshot illustrating electing to edit the scheduling requirements; [0067] FIGURE 44 is a screenshot illustrating editing the scheduling requirements;
[0068] FIGURE 45 is a workflow diagram illustrating options to save the lesson, update a template with the lesson, or create a new lesson template;
[0069] FIGURE 46 is a screenshot of a settings page for training;
[0070] FIGURE 47 is a screenshot of the settings page after selecting the lesson scheduling templates;
[0071] FIGURE 48 is a screenshot illustrating a course outline; and
[0072] FIGURE 49 is a screenshot of an alternative student calendar for reserving a lesson.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0073] As shown in the exemplary drawings for purposes of illustration, the present invention for reservation systems and related processes is disclosed herein. More specifically, the reservation systems and processes are disclosed herein with respect to an aircraft dispatch and reservation schedule management system deployable for use with pilots, pilot instructors, students, and related aircraft, and that is able to update the schedules for the instructors, students, and maintenance personnel in real-time based on constantly changing variables, and then notifying the affected instructor(s), student(s) and/or maintenance personnel of the scheduling change once published. Although, the reservation systems and related processes disclosed herein may also be used with other disciplines where the efficiency and optimization of the schedules are dependent upon variables that change in real-time, and then notifying affected parties other scheduling changes in real-time as well. [0074] In general, one embodiment of a reservation system 50 disclosed herein is illustrated in FIG. 1 and includes a database management system 52 that compiles data in real-time such as from sources that include student information 54, instructor information 56, vehicle information 58, vehicle maintenance 60, including, e.g., scheduled and unscheduled maintenance, facility information 62, real-time weather information 64, and/or other variable information 66 that may change in real-time. The database management system 52 may communicate electronically to obtain this information automatically and in real-time as conditions change, such as by way of a communication network 68, which may include wired or wireless communications over the Internet or an intranet. As discussed in more detail below, the database management system 52 compiles this information to generate or build schedules to efficiently deploy and utilize the above-identified resources, such as student availability, instructor availability, vehicle (aircraft) availability, and/or facility availability, for purposes of efficiently training students, e.g., partaking in a flight instruction program. The database management system 52 is able to consider these variables in real-time, and, as a result, modify lesson reservations and schedules in realtime based on continuously changing variables (e.g., weather patterns). The reservation system 50 is then able to communicate directly with those affected by the scheduling changes (e.g., instructors, students, and/or maintenance personnel) such as by way of email, text message, or a phone call. Additionally, instructors, students, and maintenance personnel may access information from the database management system 52 in real-time by way of a graphical user interface 70, e.g., accessible with a computer, smartphone, or the like.
[0075] As such, in one embodiment, the reservation system 50 disclosed herein is an integrated system and process solution that generally includes two components, namely the interactive graphical user interface 70; and the database management system 52. Database management system 52 and the graphical user interface 70 work simultaneously together to receive information in real-time, process that information based on variables and constraint considerations updated in real-time, and then process the received information in view of the variables and constraints for consideration in aircraft dispatch and reservation as part of a pilot training program. As such, this integrated reservation system 50 is able to optimize flight school scheduling in real-time.
[0076] In one embodiment, the system 50 considers input data based on interactions with proprietary evaluations of the weather information 64, configurable resource constraints (such as facility availability accessed from the facility information 26), configurable assignment pools (such as student availability accessed from the student information 54 and/or instructor availability access from the instructor information 56), and configurable assignment criteria (such as vehicle or aircraft availability accessed from the vehicle information 58, the vehicle maintenance 60, and/or the other variable information 66). The reservation system 50 thus operates as a dynamic user-interface to automate and produce an optimal event schedule for students and flight school pilots, instructors, and the required aircraft. The reservation system 50 then considers the information in real-time to generate related reservations, user notifications, and provides communications to end user students, pilots, and owners as part of the overall system and notification integration.
[0077] In one embodiment, the system 50 disclosed herein provisions a schedule of pilot lessons and general aircraft reservations with optimized suggested instructor and aircraft assignments. This process evaluates student, aircraft, and instructor availability and is able to prioritize resources based on conditions and/or constraints, some of which may be measured in real-time. Such considerations may include classroom assignments for ground lessons, solo flights for noninstructor flights, and other custom parameters as required by each site. The reservation system 50 also accounts for other constraints such as the instructor duty time limitations, staggered start times for events, time of day requirements, among others. In this respect, the data management system 52 can be configured as needed per local, state, and/or federal rules and/or regulations (e.g., those that the Federal Aviation Administration (“FAA”) may publish and/or revise from time to time). This enables the reservation system 50 to consider an ever-changing set of variables when creating reservations to efficiently assign lessons to students participating in the pilot training program, while simultaneously maintaining compliance with local, state, and federal laws and regulations.
[0078] For example, the reservation system 50 may consider variables in the student information 54 that include, e.g., set schedules, the student’s other commitments or general unavailability or unwillingness to schedule lessons on certain dates or at certain times, the student’s existing reservations, course enrollment(s), and geographic location. Similarly, the reservation system 50 may consider comparable variables in the instructor information 56 such as, e.g., set schedule (as may be set or regulated by local, state, and/or federal law or regulation), the instructor’s other commitments or general unavailability or unwillingness to schedule lessons on certain dates or at certain times, existing teaching assignments that have already been reserved, assigned students, the type of instructor (e.g., whether the instructor is a chief, assistant, or check instructor), and their geographic location. The reservation system 50 may also process information in the database management system 52 for the vehicle information 58 that includes, e.g., vehicle or aircraft availability re existing reservations, grounding squawks, etc., the category and/or class of aircraft, the complexity of the aircraft, whether the aircraft is a technologically advanced aircraft (“TAA”), the instrument flight rules (“IFR”) governing aircraft operations, the time remaining until the next service and/or inspection of the subject aircraft, and/or the physical location of the aircraft relative to the location of the student, instructor, and/or airfield where the instruction is to take place. In this respect, location-specific variables may be considered as part of the facility information 62, including the availability of runways and/or meeting rooms that may be needed for lessons within a predetermined geographic location of the student and/or the instructor. [0079] Lastly, the reservation system 50 may also take into consideration, when scheduling, the other variable information 66, which may include, but is not necessarily limited to, enrollment records, instructor/student/aircraft assignments, including prioritizing preferred assignments in and among instructors (e.g., each student may have a primary and/or secondary assigned instructor), students, and/or certain aircraft, course progress by the student (e.g., as may be schedulable based on next lesson availability), and the student’s performance within the course, namely, e.g., calculated on the basis of lessons per some predefined time period to meet a graduation goal (e.g., set by the student or facility).
[0080] FIG. 2 is a flow chart illustrating a scheduling process (2000) that includes two general options, namely a sub-process for viewing/editing a current schedule (2002) and a sub-process for building a future schedule (2004). As discussed in more detail below, the scheduling process (2000) enables a user or administrator to customize scheduling criteria (e.g., students, instructors, aircraft and availability, etc.) and constraints (e.g., weather, aircraft maintenance schedules, etc.) on a location-by-location basis.
[0081] With respect to the sub-process for viewing/editing a current schedule (2002), the first step is to select a date (2006) whereby the user can view the current schedule for that particular date. In this respect, FIG. 4 illustrates one embodiment wherein the graphical user interface 70 displays a schedule 72 for the date of March 28. Here, the reservation system 50 enables the user to select and/or filter certain variables and/or criteria such as certain types of activities and/or flight type. In the example illustrated in FIG. 4, a series of sortable menus 74 include “location”, “aircraft”, “instructors”, “meeting rooms”, “equipment”, “activity types”, and “reservation type”. Here, the “location” is set to “Kansas City”, while the remaining sortable menus 74 are set to “All”. This, in effect, displays all scheduled lessons in a calendar 76 by aircraft organized in an aircraft column 78 for the location of Kansas City.
[0082] From here, the user can then edit the current schedule (2008) by selecting a down arrow 80 next to the “Schedule” heading. Doing so displays a drop-down menu 82 as illustrated in FIG. 5 with options that include “edit current schedule” and “build future schedule”. The “edit current schedule” option is used with the viewing/editing current schedule process (2002) while the “build future schedule” option is used with the building a future schedule process (2004). Here, selecting the “edit current schedule” as part of step (2008) generates a menu 84 that includes a plurality of drop-down options organized by data stored within the database management system 52 associated with each reservation. In this example, under a flight/ground submenu 86, the reservations can be sorted by “flight” instruction from the dropdown submenu 86. The purpose in this example is to change all reservations currently assigned to “flight” instruction” to “ground” instruction because of bad weather. In other words, as illustrated in FIG. 6, selecting a show reservations button 88 with only the “Flight” option chosen from the menu 84 will generate a list of all reservations that are currently assigned to “flight instruction”. As such, the menu 84 permits filtering selecting reservations based on certain criteria as part of a step (2010).
[0083] Moreover, after filtering the reservations, the graphical user interface 70 displays a bulk menu 90 where the user can select one or more of the students having “flight instruction” reservations as part of the bulk selection process also illustrated with respect to the step (2010) in FIG. 2. Here, and as illustrated in FIG. 7, the user has the ability to select “all” users displayed in the bulk menu 90 with one click, or the user can select individual students on a student-by- student basis to the extent not “all” students are affected by the bad weather and need to change their reservation. In one embodiment, the database management system 52 may correspond directly with the weather information 64 to determine which of the students are to be selected for the schedule change, and then effectuate that change automatically in real-time.
[0084] In this example, FIG. 8 illustrates that a checkbox 92 next to each of the students has been selected as part of the bulk select step (2010). As such, with all the students selected from the bulk menu 90, selecting a make edit button 94 enables the user to edit or change certain information associated multiple reservations simultaneously by way of a bulk editing step (2012). For example, as illustrated progressively from FIG. 9 to FIG. 11, the “edit” feature enables the user to first select a change event type radio button 96 (FIG. 9), then select the desired change to “ground” instruction from the now displayed drop-down menu 98 (FIG. 10), and then select a make adjustment button 100 (FIG. 11) to apply the change for all affected students from “flight” instruction to “ground” instruction. In this case, the make adjustment button 100 and/or the notification immediately above identifies the number of reservations affected by this change, i.e., sixty-six. The user is thus able to replace all “flight instruction” lessons with “ground instruction” lessons in response to bad weather grounding flights or that which is unsuitable for low time students as part of the bulk edit step (2012). Of course, the user also has the option of changing the date and/or other fields as desired as part of the bulk editing step (2012).
[0085] Alternatively, or in addition to the filter and bulk select step (2010) and bulk edit step (2012) discussed above, the user may also have the ability to drag and/or drop individual reservations into timeslots in the calendar 76 without immediately committing the changes to the schedule as part of a step (2014). In this respect, FIG. 15 illustrates another calendar 102 having a plurality of reservations therein and FIG. 16 illustrates using a cursor 104 to grab a first reservation 106 from the 7am to 9am timeslot for the DTO Cessna 152 refurb - 9 for movement to the 7am to 9am timeslot for the DTO Cessna 152 Refurb - 10, as illustrated in FIG. 17. Here, there are no conflicts as indicated in an alert box 108. As such, to the extent this is the only change made as part of the step (2014), selecting an update and notify button 110 implements the scheduling change and notifies the student (in this case “Andrew Dittrich”) of the scheduling change. Of course, this all happens in real-time as soon as the update and notify button 110 is selected by the user.
[0086] Moreover, FIG. 17 also illustrates moving a second reservation 112 from the 10am to 12pm timeslot for the DTO Cessna 152 Refurb - 9 to the 7am to 9am timeslot for the DTO Cessna 152 Refurb - 11, as reflected in FIG. 18. Here, the reservation system 50 generates a notification in the alert box 108 that the scheduling change has created an issue, namely one of the students (“Anna Luckey”) is not available in the 7am to 9am timeslot to partake in the rescheduled lesson. Moreover, FIG. 18 also illustrates moving a third reservation 114 from the 1pm to 3pm timeslot for the DTO Cessna 152 Refurb - 9 to the 7am to 9am timeslot for the DTO Cessna 152 Refurb - 12. Here again, as illustrated in FIG. 19, this scheduling change has generated a notification in the alert box 108 that this student (‘‘Nick Ginther”) is also not able to attend this lesson because the time is outside the student’s availability. As such, the alert box 108 illustrated in FIG. 19 includes a list of alerts/issues as part of a roll-up list for easy viewing, editing, and reconciliation in a step (2018) before selecting the update and notify button 110 that bulk commits the reservation updates as part of a step (2020).
[0087] In this respect, FIGS. 12-14 include similar' options for viewing alerts/issues (2018) when implementing the aforementioned bulk edit (2012) to change the “flight” instruction to a “ground” instruction. Specifically, e.g., FIG. 12 illustrates a pair of alerts 116 associated with the above-mentioned scheduling change. Here, the alerts are related to the fact that there is no ground lesson left for each student to completely. As such, these issues are shown on the calendar as a pair of unconfirmed reservations 118. Options for handling these issue reservations would be to go back and change the event, cancel the reservations and add them to a queue to be scheduled at a later date, or simply cancel the reservations. In each instance, the user has the ability to notify the affected party (e.g., student or instructor) at the time the change and/or cancellation is made. In this example, the unconfirmed reservations 118 are simply cancelled and the affected parties notified. As such, FIG. 13 then illustrates that sixty-four of the sixty-six reservations were converted, and the user is given the ability to generate real-time notifications regarding the schedule change. The calendar 76 is then updated as illustrated in FIG. 14 and the process (2002) ends in a step (2022).
[0088] The process (2002) may include a “smart” edit function whereby the reservation system 50 proposes advance changes during the editing step (2008), such as those based on forecasted weather, current wind conditions, maintenance issues and other factors as may be known in the art. Here, the scheduling process (2000) may suggest revisions to the reservations to schedule events in timeslots (e.g., which may vary depending on the variable, such as instructor or aircraft availability) that are otherwise unlikely to be fulfilling. Alternatively, the reservation system 50 may also recommend replacement events or modifications to existing reserved events to ensure the schedule of events remains full. Additionally, the reservation system 50 may also prioritize certain events that have a higher probability, e.g., students who cancel or reschedule reservations less frequently may be accorded higher priority variables (e.g., timeslots, instructors, or aircraft) to more quickly attain course completion relative to those students who more frequently cancel reservations. These changes can, of course, be made manually or automatically as part of the bulk editing step (2012). In one embodiment, the reservation system 50 can be configured to make recommended changes without user input to lessen the workload of scheduling staff by having a viable list of new events to replace the non- viable events already scheduled or reserved. Here, the reservation system 50 may push one or more notifications to affected parties such as the students, instructors, or maintenance providers to provide notification in real-time of the scheduling changes.
[0089] The scheduling process (2000) illustrated in FIG. 1 also includes the ability to build new or future schedules (2004) in addition to viewing/editing current schedules as part of the step (2002). The process (2004) also involves first selecting a date or dates (2024) for scheduling. The next step is to generate a queue of reservations as part of a step (2026). This involves two processes, namely setting up a queue of events as part of a step (2028) and then requesting a reservation for each of the queued events as part of a step (2030), which may be based on a number of different variables such as instructional lessons, flight lessons, ground lessons, course progress, etc.
[0090] In this respect, FIG. 20 illustrates one embodiment wherein the graphical user interface 70 displays a schedule queue 122 for “Anna Luckey”. Here, the schedule queue 122 includes a reservation section 124 that includes a set of reservation information 126 such as “course”, “lesson”, “instructor”, “aircraft”, “time of day”, “length of reservation”, “pre-time”, and “posttime”. In this particular example, FIG. 20 illustrates that the date selected as part of step (2024) is August 8, 2023. Of course, the date can be changed, such as by way of clicking a left arrow button 128 to move the date back one day or clicking on a right arrow button 130 to move the date forward one day.
[0091] Course information may include options such as instructor roles (e.g., chief instructor, assistant instructor, or check person), lesson information may include information related to the type of lesson, flight, standaid or check flight, solo flight, or whether a lesson that requires supervision. Here, supervised Hights may be assigned to a particular instructor such as a chief instructor or assistant instructor. Additional options may include whether the lesson is a local lesson or a cross-country lesson, the length of the lesson, whether the instruction is to be pre- or- post flight, whether the instruction is needed during the flight, the type of aircraft, and whether the lesson is restricted and/or required to be performed during the day, during the night, or whether the time is otherwise not applicable. Other considerations may include whether the training is taking place on an aircraft or a flight simulator, or some other resource such as some form of certified flight instructor. Moreover, information related to ground scheduling may include information related to one or more instructors performing the lesson, room resources, namely where the ground lesson takes place, and the length of the lesson.
[0092] In accordance with the embodiments disclosed herein, the set of reservation information 126 illustrated in the reservation section 124 may be edited one-by-one within the reservation section 124 or, as illustrated in FIGS. 20 and 21, all of the reservation information 126 may be edited at once by clicking on an edit button 132, which takes the user to a different screen, e.g., as illustrated in FIG. 21, where each of the form fields may be accessed and edited in a selectable menu section 134. Here, each of the above-identified criteria, such as “location”, “activity type”, “length of reservation”, “pre-time”, “post-time”, “instructor”, and “aircraft”, may have a certain set of predefined values that are selectable by way of a respective set of drop-down menus having preconfigured values entered within the database management system 52. Based on the selections, a weekly calendar 136 illustrated below the selectable menu section 134 may include an array of available dates and timeslots selectable for creating a reservation so that the student can perform the desired lesson. One or more of a set of timeslots 138 in the weekly calendar 136 may be grayed out or otherwise disabled, or not shown at all, in FIGS. 20 and/or 21, if certain timeslots 138 are not available to this particular student based on the criteria set forth in the selectable menu section 134. The database management system 52 may update the availability of the timeslots 138 in real-time based on student selections or other reservation variables affecting the availability of the timeslots 138 being processed simultaneously. Moreover, the availability of the dates and times in the weekly calendar 136 may also change in real-time when selections within the drop-down menus of the selectable menu section 134 are changed by the user. Here, the user is able to visually see the existing available schedule, which also accounts for real-time changes in one or more outside variables such as weather or unplanned aircraft maintenance.
The reservation system 50 does this automatically on the backend in real-time as the database management system 52 is in continuous communication with sensors that provide the weather information 64 and/or the aircraft maintenance 60 schedules, including unplanned downtime. [0093] Additionally, in this embodiment, and as illustrated in FIG. 20, the reservation section 124 may also display the list of available timeslots 138 in a timetable 140. Here, available timeslots 138 may be presented in white or light gray boxes, while the reservation system 50 may block or otherwise black-out timeslots 138 that are unavailable to the student (e.g., because of a scheduling conflict, unavailability, etc.) based on information compiled by the database management system 52 at any given point in time in real-time. Once one of the timeslots 138 are selected for the reservation, it can be graphically represented in the timetable 138 to the right by way of a colored box showing the reservation. In other schedules, the reserved timeslot may show as a black box, namely being unavailable to other students or instructors.
[0094] In an alternative embodiment, FIG. 22 illustrates that the timetable 140 may include one or more highlighted timeslots 142, e.g., consistently depicted in connection with one color to more readily illustrate available times for scheduling the selected lesson identified in the reservation section 124. Here, the reservation section 124 indicates that the “aircraft” for “Lesson 59” is a “Cessna 172s”. Accordingly, each of the highlighted timeslots 142 within the timetable 140 are each associated with a “Cessna 172” aircraft in the aircraft column 78. The highlighted timeslots 142 are those available for this particular reservation. Furthermore, in this embodiment, the timetable 140 displays other reservations by color code and staid time and available timeslots are not color coded, as mentioned above. In this example, each of the Cessna 172 airplanes are available to reserve for this lesson, except that the “N92555 (141) Cessna 172” is unavailable from 12:00 to 13:00, as indicated by a black blocked timeslot 144.
[0095] The matrix formed by the timetable 140 and the aircraft column 78 provides an immediate visual representation of the available timeslots to reserve a lesson, especially when the reservation system 50 uses the highlighted timeslots 142 to identify those timeslots that are available and appropriate to reserve for the lesson identified in the reservation section 124. Of course, changing the lesson selected in the reservation section 124 may change the highlighted timeslots 142, depending on the availability of aircraft assigned to the particular lesson.
[0096] Alternatively, or in addition to the above, the user may also have the ability to drag and/or drop reservations into the timeslots 138 as part of a step (2042) in FIG. 2. This may be accomplished, e.g., as illustrated in FIGS. 23-25, by clicking and holding an icon 146 in an upper left-hand comer of the reservation section 124, and then moving the reservation section 124 to the right so that it becomes a hovering box 148 (FIG. 24) over the timetable 140. As illustrated in FIG. 24, the reservation section 124 may remain visible on the left-hand side while the user navigates the hovering box 148 with the desired aircraft in the aircraft column 78 and the desired timeslot 138 in the timetable 140. Releasing the hovering box 148, as illustrated in FIG. 25, drops the reservation into the desired timeslot, whereby the hovering box 148 changes to a reserved timeslot 150 (e.g., a light grey colored box in this example) by the “length of the reservation”, taking into account the “pre-time” and the “post-time” on each side thereof. Hovering over the reserved timeslot 150 with a mouse 152 may generate a pop-up 154 that provides reservation information, such as that illustrated in FIG. 25. Here, users may move reservations within the timetable 140 without initially committing to the schedule changes. This enables the user to better customize scheduling without immediately impacting or notifying users, as discussed in detail herein. As such, it may be possible for the user to rearrange the schedule according to new criteria in an effort to preliminarily find and optimize scheduling before publishing and notifying users. Alternatively, the reservation system 50 disclosed herein may create the schedule automatically based on pre-set criteria, and may also utilize artificial intelligence to optimize scheduling during the process (2004).
[0097] Additionally, FIG. 25 also illustrates that the reservation section 124 includes a warning 156 indicating that documents associated with this particular lesson are expiring soon. In this respect, the user can immediately diagnose any deficiencies with the course or lesson as the warning 156 is automatically generated and presented to the user, and may be pushed to third parties such as students and/or instructors. As discussed in more detail herein, these warnings 156 can be addressed in bulk editing, as needed.
[0098] FIG. 26 is another embodiment illustrating that the reservation section 124 may be generally positioned above the timetable 140, with a set of the highlighted timeslots 142 visually identifying in the timetable 140 the current availability to reserve the lesson identified in the reservation section 124. In this embodiment, a schedule indicator 158 identifies that this particular lesson has yet to be scheduled by the student. As such, the process (2004) may schedule this reservation automatically as part of the step (2038) or manually by way of the step (2040) after the queue is generated as part of the step (2026). Here, the user is setting up the queue (2028) by assigning priority policies (2032) for the reservation (2034). Some of those priority policies may be organized by “customer”, the “schedule” and/or “status” as illustrate din FIG. 31 with respect to a priority list 159. Moreover, FIG. 32 illustrates some examples where the priority information in the priority list 159 can he customized through a priority editor 161 having the ability to rank the priority of criteria (e.g., “lessons”) and use logic indicators to subprioritize those criteria. The priority step (2032) helps the reservation system 50 schedule and reschedule timeslots based on availability. Here, the order may be based on lesson type, user type, user course progress, etc., and is customizable at each location, depending on the needs. [0099] Thereafter, the previously created queued reservations must then be deployed as part of the step for requesting a reservation (2030). Here, the reservation system 50 may generate ad hoc reservation requests not associated with any particular training course, which can be added to the queue as part of the step (2026). The requesting reservations step (2030) may include tagging the individual e.g., renter, student, instructor, etc.) who may make the reservation request in step (2030). The user may also request the reservation (2030) by way of selecting one of the highlighted timeslots 1 2 showing the availability for the reservation, as disclosed herein. [00100] FIG. 27 is similar to FIG. 26, but more specifically illustrates that the schedule indicator 158 includes a set of subset indicators 160, which provides more granular or specific information regarding which lessons within a single course have been completed by a student. Here, the highlighted timeslots 142 are available to complete the third of fourth lessons for the “Sporty’s Private Pilot” course. Appropriately, the number of available highlighted timeslots 142 illustrated in FIG. 27 are less than the number of available highlighted timeslots 142 illustrated in FIG. 26 because FIG. 27 only shows those timeslots associated with one specific lesson in the subset 160. Moreover, the reservation system 50 could color coordinate available highlighted timeslots 142 by each lesson within the subset indicators 160. In this embodiment, the user may be able to readily identify which of the lessons are available within the timetable 140 in FIG. 26 for each lesson within the subset 160 without being required to narrow down to any specific lesson as illustrated in FIG. 27.
[00101] Once information from the queuing set up (2026) and the requesting a reservation step (2030) have been completed, the next step is to generate the queue (2026). Here, FIG. 28 illustrates that this may be accomplished by selecting a build queue button 162. In this respect, FIG. 28 illustrates that the timetable 140 is initially empty with respect to reservations. The only entries illustrated in FIG. 28 are a project management block-out 164 and a maintenance block- out 166. These are dates and times that the scheduling process (2000) cannot schedule reservations because of known or entered constraints, either automatically as part of the step (2038) or manually as part of the step (2040).
[00102] Once the build queue button 162 in FIG. 28 is selected, the reservation system 50 populates a list of students 168 as illustrated in FIG. 29. Here, the reservation system 50 displays certain general information in connection with each student in the list of students 168, such as whether the student is at the “end of course”, in “stage check”, or is in “accelerated training”. Moreover, the list of students 168 may also identify how many lessons are remaining to be completed to finish a course. With this information, the scheduling process (2000) may then generate a schedule 170 as illustrated in FIG. 30.
[00103] As such, FIG. 30 illustrates that the scheduling process (2000) has populated the timetable 140 with reservations in the timeslots 138 according to the predefined priorities, and in and around the project management block-out 164 and the maintenance block-out 166. Here, the reservation system 50 may provide statistical feedback regarding the schedule optimization, including the number of reservations added to the timetable 140 and the capacity remaining within the timetable 140 to schedule additional reservations.
[00104] To the extent the schedule 170 is automatically generated as part of the step (2038), the reservation system 50 may take into account criteria such as aircraft, student/customer, and/or instructor availability. Additional considerations or constraints may include instructor duty time (e.g., limiting an instructor to no more than 8 hours of work in any 24-hour period), and aircraft maintenance (e.g., not scheduling time based on maintenance schedules and/or reminders). In one embodiment, the instructor duty time and maintenance time may be based on average time logged per hour booked (e.g., 0.5 hours logged per hour booked). In this example, a two-hour reservation would count as one hour of maintenance time.
[00105] Of course, the auto scheduler (2038) is able to schedule around reservations that may be manually placed within the schedule as part of the manual reservation step (2040) and/or any of the block outs 164, 166. In effect, the scheduling process (2000) updates in real-time such that any reservations created as part of the step for auto placing reservations (2038) does not overlap any manually created reservations entered into the system as part of the step (2040), and vice versa.
[00106] Additionally, once the schedule 170 has been created, the user can drag/drop reservations without actually committing to the timeslots, as part of the step (2042), in the same manner as was discussed above with respect to the drag/drop feature in the step (2014). This enables the user to move reservations around after an auto schedule run to accommodate any changes or operator preferences. Subsequent steps for viewing a list of reservations (2044), viewing alerts and/or issues associated with those reservations (2046), and committing to the reservations (bulk or otherwise) (2048) are substantially the same as the steps (2018) - (2022) discussed above in detail, with variations in the user experience through the graphical user interface 70.
[00107] The reservation system 50 also includes the ability to cancel or delete queues that were generated in the step (2026) and/or add new queues after completing the generating step (2026). For example, FIG. 33 illustrates one embodiment where the reservation 50 allows the user to search reservations by criteria, such as those illustrated in a search box 172. Reservations falling within the search criteria are presented in a search results list 174. Here, the user can select (e.g., by a corresponding checkbox 176) those reservations that are to be deleted from the queue. Once selected, a confirmation page 178 enables the user to effectively cancel the reservations by clicking a cancel and notify button 180. The reservation system 50 then autoupdates. As with the other embodiments disclosed herein, canceling the reservations may create an automatically populated notification sent to the affected party regarding the schedule change. [00108] Additionally, FIG. 34 illustrates an embodiment wherein reservations can be added to a queue. Similar to FIG. 33, the user may access a reservation search 182 to locate available reservations available to be added to a queue. From there, the user may select one or more of the reservations meeting the search criteria, and then click an “Auto-Fill Spots” button 184 to add those reservations to the queue. Once the reservations have been added, the user may be directed to a confirmation page 186 that confirms the number of reservations added to the queue, along with identifying a list of issues 188 in an issue section 190 that the user may manually diagnose and resolve.
[00109] The next step (2050) in the process for building schedules (2004) is to determine whether to save the new schedule as a draft as part of a step (2052) or publish the schedule as part of step (2054). To the extent the schedule is to be published as part of the step (2054), the user may be given an option to notify users (2056) of the newly published schedule. Here, the notification step (2056) allows the reservation system 50 to push notifications to participants (e.g., instructors, students, maintenance personnel, etc.) as to the new schedule. Once the notifications are sent, reservations are committed to the actual schedule. When the future schedule is saved as a draft in step (2052) instead, the proposed schedule can be accessed at a later date for review, revision, and/or deployment by publishing, as needed and/or desired. [00110] FIG. 3 illustrates an optimization process (3000) that utilizes a set of criteria such as the student availability 54, the instructor information 56, the vehicle e.g., aircraft) information 58, information related to the other variables 66, and/or information related to a set of courses and/or the lessons 120 compiled within the database management system 52 to generate efficient schedules. More specifically, the process (3000) starts with a front-end user interface requesting events and resource availability from lesson data in the database management system 52. Here, the front-end user interface queries, analyzes and aggregates a list of incomplete and/or unscheduled events and allocates resource availability accordingly. In one embodiment, resource availability may be determined by evaluating all scheduled reservations currently active in the database management system 52 within a certain predetermined or desired date/time range. For example, students, instructors, aircraft, and/or other resource assignment group/slots may all be evaluated for availability across all intervals of time within the configured schedule request. This data is included when the system auto-places reservations, e.g., as part of the step (2038), discussed above.
[00111] Next, the front-end user interface displays a backlog of the schedulable events (3006). Here, the front-end user interface displays the backlog of prioritized, unscheduled events as needed and/or desired. The schedulable events and related availability data are then sent to the auto- scheduler to be processed and scheduled as part of an optimization process (3008). Here, the optimization subprocess (3008) includes allocating resources processed from all schedulable events and assigned a tokenized scheduling group/set (3010). For example, aircraft may be allocated by prioritized group or individually per event, and the unique aggregate of all assignments are tokenized as a new scheduling group. Instructors are allocated and prioritized individually per event, combining primary and secondary instructors per student into a tokenized priority allocation set.
[00112] The next step (3012) is to model all events and availability with specific constraints to simulate student, instructor, and aircraft requirements. The reservation system 50 creates an optimal job scheduling solution configured with disjunctive constraints for flexible student, instructor and aircraft assignments. Next, step (3014) includes configuring the schedule with the objective of maximizing the overall student course progress and equipment utilization within configured constraints across applicable timeslots. Time and conditions specific dispatch requirements require multiple sequenced iterations of schedule configuration and solution processing. For example, scheduling for “24 hours” across “Civil Twilight” requires the autoscheduler to run a different scheduling configuration for each different “Night” and “Day” section of timeslots.
[00113] The next step is to assign an instructor and aircraft to each event from the related scheduling group as part of step (3016). Individual resource availability (e.g., student, instructor, aircraft, etc.) is evaluated and updated as each event is processed. Resource conflicts use configured workflows to resolve automatically or prompt a manual intervention, such as to automatically assign a back-up instructor as a substitute for a chief instructor/pilot who may be unavailable within a desired reservation timeslot. Once the schedulable events are created by the optimization subprocess (3008), the schedule is merged with the existing schedule(s) to create a provisional recommended schedule as part of a step (3018). Here, secondary services validate the new scheduled events against existing reservations and prompt manual intervention if a new conflict or issue is identified. When there are new conflicts or issues that have been identified, the next step (3020) is for the front-end user interface to display those events with issues (if any). Once those are resolved or bypassed, the user is then prompted to validate the proposed schedule, and review any existing issues, errors, or warnings from earlier steps in the process (3000), before the reservations are published to the database management system 52 as part of a step (2022). Here, notifications regarding the schedule information may be pushed in real-time and notifications may be pushed to individuals who have activities that have now been calendared. Moreover, the reviewed provisional schedule may also be confirmed and published by the administrator to users, as needed. New reservations for all related resources are created for each approved scheduled event and secondary workflows in integrated systems may facilitate notifying users whose schedules are impacted by any changes.
[00114] Additional features of the reservation system 50 disclosed herein are illustrated with respect to lesson template creation and scheduling as illustrated with respect to FIGS. 35- 45. For instance, FIG. 35 illustrates one embodiment of a lesson scheduling template 192 that has selectable criteria for creating a lesson for “ground instruction”. Similarly, FIG. 36 illustrates an alternative lesson scheduling template 192’ directed to different set of criteria for adding an activity type directed to “student solo” flight training. Of course, these are just examples, and the lesson scheduling templates 192, 192’ may vary, and be customized as needed, depending on the course and options available for selection by the user in connection with that course. Once a template has been created, FIG. 37 illustrates a workflow for saving it as an updated template 194 or a new template 196. When saved as the updated template 194, the reservation system 50 may present a confirmation 196 regarding the number of lessons currently using the template, among other information.
[00115] Furthermore, FIGS. 38-41 illustrate a workflow for loading a course 198 to be edited as a template as illustrated in FIG. 38, editing the course template 200 as illustrated in FIG. 39 (e.g., with respect to lessons within said course), and saving a single added course 202 (FIG. 40) or saving multiple added courses 204 (FIG. 41). An edit lesson form 206 illustrated in FIG. 42 further illustrates the type of criteria that may be added into the lesson, including the ability to modify and customize the template. In this respect, FIG. 43 illustrates one exemplary lesson template 208 for use with the reservation system 50 disclosed herein. Information within the template 208 may then be edited in a form 210 (e.g., as illustrated in FIG. 44) and saved as a new template or as an updated template, per the workflow illustrated in FIG. 45 (similar to that shown and described above with respect to FIG. 37).
[00116] Lastly, FIGS. 46-48 illustrate additional features of the reservation system 50 disclosed herein, including a training hub page 212 that includes access to settings within the reservation system 50, such as “Hour & Experience Types”, “Lesson Scheduling Templates”, “Courses”, and/or “Programs” as illustrated in FIG. 46. Selecting the “Lesson Scheduling Templates” directs the user to a templates submenu 214, as illustrated in FIG. 47, where available templates are organized by template name and type. Here, the user can select one or more of the templates to be edited. Furthermore, FIG. 48 illustrates a course contents page 216 where the user can edit lessons associated with each course, and provides visual identification whether those courses are ready for reservations within the system 50.
[00117] Lastly, FIG. 49 is another embodiment wherein the graphical user interface 70 enables scheduling for a particular lesson of a course, as discussed in detail herein.
[00118] Although several embodiments have been described in detail for purposes of illustration, various modifications may be made without departing from the scope and spirit of the invention. Accordingly, the invention is not to be limited, except as by the appended claims.

Claims

What is claimed is:
[Claim 1] A reservation scheduling and notification system process, comprising the steps of: establishing a database having multiple participants and a plurality of activities; scheduling at least one activity for at least one participant in the database based on a first set of information associated with a variable data set associated with the at least one activity; changing the variable data set in response to processing a second set of information associated therewith; rescheduling the at least one activity in real-time response to changing the valuable data set; and communicating the at least one rescheduled activity to at least one participant associated with the rescheduled activity.
[Claim 2] The system of claim 1, wherein the processing step includes receiving the second set of information by the database over a communication network.
[Claim 3] The system of claim 1, wherein the variable data comprises a date, a time, a geographic location, a set of vehicle information, a set of facility information, a curriculum, a set of student information, or a set of instructor information, and the changing step includes changing at least one of the date, the time, the geographic location, any of the set of vehicle information, any of the set of facility information, the curriculum, any of the set of student information, or any of the set of instructor information to reschedule the activity.
[Claim 4] The system of claim 3, wherein the set of instructor information comprises a schedule, an availability, a set of existing reservations, a set of existing teaching assignments, or a geographic location; the set of vehicle information comprises an aircraft availability, a vehicle class, an aircraft complexity, an instrument flight rule (“IFR”), a service date, or a geographic location; and the set of facility information comprises a runway availability or a meeting room availability.
[Claim 5] The system of claim 1, wherein the plurality of activities comprises an in-flight training session, a flight simulator training session, and a class.
[Claim 6] The system of claim 1, wherein the communicating step includes the step of sending a push notification to a remote device of the at least one participant associated with the rescheduled activity.
[Claim 7] The system of claim 1 , wherein the processing step includes the step of pulling the second set of information from a public data server over a communication network.
[Claim 8] The system of claim 7, wherein the pulling step includes the step of scraping a set of weather data in real-time from the public data server, and updating the variable data set in response.
[Claim 9] The system of claim 1, wherein the multiple participants comprise a flight instructor, a student, or a maintenance operator.
[Claim 10] The process of claim 1, including the step of relaying the rescheduled activity to an aircraft dispatch center over a communication network.
[Claim 11] The system of claim 1, including the step of publishing the scheduled activity and the rescheduled activity for reviewing in a graphical user interface.
[Claim 12] The system of claim 1, wherein the scheduling and rescheduling steps include reserving an aircraft and reserving a flight instructor.
[Claim 13] The system of claim 1, wherein the at least one activity comprises a class and the at least one participant comprises a student.
[Claim 14] The system of claim 1, wherein the scheduling step includes the step of analyzing availability of a student, an aircraft, and a flight instructor.
[Claim 15] The system of claim 14, wherein the analyzing step includes calculating the availability of the flight instructor based on at least one FAA rule.
[Claim 16] A flight school scheduling process, comprising the steps of: establishing a database having multiple users and multiple flight school training activities; setting a reservation for at least one of the multiple users for at least one flight school training activity of the multiple flight school training activities in an initial schedule based on a set of constraints comprising at least an availability constraint and a timeslot constraint; and displaying the initial schedule of the at least one flight training activity in a graphical user interface for viewing by the at least one of the multiple users.
[Claim 17] The process of claim 16, wherein the availability constraint includes an equipment availability, a student availability, an instructor availability, or a facility availability.
[Claim 18] The process of claim 16, wherein the schedule includes at least one location, at least one vehicle, at least one timeslot, and at least one user of the plurality of users associated with each scheduled activity.
[Claim 19] The process of claim 16, wherein the plurality of users comprises at least one student, at least one flight instructor, and at least one aircraft maintenance personnel.
[Claim 20] The process of claim 16, wherein the set of constraints further include a weather constraint and an aircraft maintenance schedule constraint.
[Claim 21] The process of claim 16, wherein the graphical user interface includes a set of sortable menus comprising a location menu, an aircraft menu, an instructor menu, an activity category menu, and a reservation menu.
[Claim 22] The process of claim 16, wherein the multiple flight training activities comprises a flight training session in an airplane, a flight training session in a flight simulator, a classroom course, or a ground instruction.
[Claim 23] The process of claim 16, wherein the displaying step includes the step of organizing the initial schedule by an aircraft, a timeslot, and at least one user.
[Claim 24] The process of claim 16, including the steps of updating at least one of the constraints in real-time and changing the initial schedule to a modified schedule in response thereto.
[Claim 25] The process of claim 24, wherein the changing step includes changing the reservation for each scheduled activity dependent on the updated constraint.
[Claim 26] A flight school schedule editing and notification process, comprising the steps of: accessing a database having a schedule of a least one flight training activity for at least one flight school participant; displaying at least one constraint affecting the schedule of the at least one flight training activity for the at least one flight school participant; changing the at least one constraint from a first value to a second value; rescheduling the at least one flight training activity in response to changing the at least one constraint from the first value to the second value; and notifying the at least one flight school participant of the rescheduled at least one flight training activity.
[Claim 27] The process of claim 26, wherein the at least one constraint is associated with a plurality of reservations, and the rescheduling step includes rescheduling multiple of the associated plurality of reservations.
[Claim 28] The process of claim 27, including the step of selecting less than all the reservations associated with the at least one constraint requiring rescheduling.
[Claim 29] The process of claim 27, including the step of generating an alert for each rescheduled reservation conflicting with another reservation.
[Claim 30] The process of claim 29, including the step of cancelling each conflicted reservation and notifying each flight school participant of the cancelled reservation.
[Claim 31] The process of claim 29, including the step of optimizing the quantity of rescheduled reservations rescheduled.
[Claim 32] The process of claim 26, including the step of generating a list of the plurality of reservations assigned to the at least one constraint comprising a flight instruction.
[Claim 33] The process of claim 26, wherein the at least one constraint comprises a customer, an instructor, an aircraft, a meeting room, an activity, a training class, or a flight requirement.
[Claim 34] The process of claim 26, wherein the changing step includes changing multiple constraints concurrently.
[Claim 35] The process of claim 26, including the step of displaying an updated schedule for the rescheduled at least one flight school training activity in a graphical user interface.
[Claim 36] The process of claim 26, wherein the changing step includes changing the first value to the second value in response to processing weather data or vehicle maintenance data in real-time.
[Claim 37] The process of claim 26, wherein the rescheduling step includes the step of suggesting a reservation timeslot and a different flight training activity for the at least one flight training activity requiring rescheduling.
[Claim 38] The process of claim 26, including the step of prioritizing rescheduling the at least one flight training activity on the basis of a student performance profile, an available timeslot, an available instructor, and an available aircraft.
[Claim 39] The process of claim 26, wherein the rescheduling step includes the step of moving the at least one flight training activity for the at least one flight school participant from a first timeslot to a second timeslot.
[Claim 40] A process for building a schedule, comprising the steps of: establishing a database of a plurality of users and a set of reservation variables associated with one or more activities; queuing at least one reservation for a first user from the plurality of users for at least one of the activities based on a first set of selections from the set of reservation variables; checking the queued reservation for the first user for conflicts against other activity reservations reserved by other users from the plurality of users; reserving the queued reservation for the first user when there are no conflicts with any other activity reservations of any other users; and notifying the first user of the reserved activity.
[Claim 41] The process of claim 40, including the step of publishing the reserved activity to a calendar.
[Claim 42] The process of claim 40, wherein the set of reservation variables includes a date, a time, a lesson, an instructor, and a reservation length.
[Claim 43] The process of claim 42, including the step of adding a pre-time and a post-time to the reservation length.
[Claim 44] The process of claim 40, wherein the one or more activities comprises a flight lesson, a lecture, or a flight simulator lesson.
[Claim 45] The process of claim 44, including the step of assigning an aircraft to the flight lesson, assigning a classroom to the lecture, or assigning an instructor to the flight simulator lesson.
[Claim 46] The process of claim 40, including the step of concurrently editing each of the set of reservation variables.
[Claim 47] The process of claim 40, including the step of generating a calendar having a plurality of timeslots for reserving the one or more activities.
[Claim 48] The process of claim 47, including the step of identifying an unavailable timeslot or an available timeslot in real-time on the calendar.
[Claim 49] The process of claim 48, including the step of color coding the available timeslot different than the unavailable timeslot on the calendar.
[Claim 50] The process of claim 48, including the step of hiding the unavailable timeslot.
[Claim 51] The process of claim 48, wherein the queuing step includes the step of dragging and dropping the at least one reservation into the available timeslot.
[Claim 52] The process of claim 40, including the step of editing the set of reservation variables, and requeuing the at least one reservation based on a second set of selections of the set of reservation variables.
[Claim 53] The process of claim 40, including the step of updating the set of reservation variables in real-time in response to communications with an external sensor over a communication network.
[Claim 54] The process of claim 53, wherein the external sensor comprises a weather sensor.
[Claim 55] The process of claim 40, wherein the checking step includes the step of issuing a warning in response to identifying a conflict between the queued reservation and a prior reservation reserved by another user.
[Claim 56] The process of claim 40, including the step of pushing a notification to the first user regarding an unscheduled activity required to complete a flight school lesson plan.
[Claim 57] The process of claim 56, wherein the checking step includes the step of rearranging reserved activities based on a priority policy ranking reservation priority based on course progress to complete the flight school lesson plan.
[Claim 58] The process of claim 40, wherein the reserving step includes the step of tagging an instructor teaching the reserved activity and pushing a notification to the instructor of the tagged reservation.
[Claim 59] The process of claim 40, wherein the queueing step includes the step of building the schedule comprising multiple reservations for multiple users for multiple activities based on reservation variables unique to each scheduled user.
[Claim 60] The process of claim 59, including the step of populating the schedule in a timetable.
[Claim 61] The process of claim 59, wherein the building step includes the step of prioritizing reservations based on aircraft availability, user availability, and instructor availability.
[Claim 62] The process of claim 59, including the step of saving the schedule as a draft.
[Claim 63] The process of claim 40, including the step of generating a notification of a cancelled reservation.
[Claim 64] A process for optimizing an event schedule, comprising the steps of: reading a database having a list of incomplete schedulable events and a set of available resources for completing the list of incomplete schcdulablc events; reserving one or more schedulable events from the list of incomplete schedulable events with one or more of the set of available resources; migrating the reserved one or more schedulable events with an active schedule of reservations; activating all non-conflicting reserved schedulable events with the active schedule of reservations; and notifying each user associated with each activated non-conflicting reserved schedulable event of the reserved schedulable event.
[Claim 65] The process of claim 64, wherein the notifying step includes sending a time, a date, and a location to the user associated with the reserved schedulable event.
[Claim 66] The process of claim 64, wherein the reserving step includes the step of reading a set of flight scheduling criteria including student availability, instructor availability, and equipment availability.
[Claim 67] The process of claim 66, wherein the equipment availability comprises an aircraft availability or a flight simulator availability.
[Claim 68] The process of claim 64, wherein the reserving step includes the step of analyzing the set of available resources within a predetermined timeframe.
[Claim 69] The process of claim 64, wherein the reserving step includes the step of prioritizing the list of incomplete schedulable events on the basis of a student review, an aircraft availability, or a weather event.
[Claim 70] The process of claim 69, including the step of reading a public server for the weather event over a communication network.
[Claim 71] The process of claim 64, wherein the activating step includes the step of tokenizing all non-conflicting reserved schedulable events into a sub-group.
[Claim 72] The process of claim 64, including the step of modeling the set of available resources to complete the list of incomplete schedulable events in view of the active schedule of reservations.
[Claim 73] The process of claim 64, wherein the migrating step includes the step of creating an aggregate schedule based on a set of disjunctive constraints comprising a student assignment, an instructor assignment, and an aircraft assignment.
[Claim 74] The process of claim 64, wherein the migrating step includes the step of assigning a back-up user when a primary user is unavailable to schedule one of the list of incomplete schedulable events.
[Claim 75] The process of claim 64, wherein the migrating step includes the steps of producing a provisional recommended schedule and reviewing the provisional recommended schedule for a conflict, an error, or a warning before publishing the provisional recommended schedule in place of the active schedule.
PCT/US2025/017108 2024-02-23 2025-02-24 Reservation systems and processes Pending WO2025179303A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202463557190P 2024-02-23 2024-02-23
US63/557,190 2024-02-23

Publications (1)

Publication Number Publication Date
WO2025179303A1 true WO2025179303A1 (en) 2025-08-28

Family

ID=96847878

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2025/017108 Pending WO2025179303A1 (en) 2024-02-23 2025-02-24 Reservation systems and processes

Country Status (1)

Country Link
WO (1) WO2025179303A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5270920A (en) * 1991-05-13 1993-12-14 Hughes Training, Inc. Expert system scheduler and scheduling method
US20150066342A1 (en) * 2013-09-05 2015-03-05 Flying Software Labs, LLC Flight scheduling, dispatch and check-in
US20160039539A1 (en) * 2014-08-06 2016-02-11 Rectrix Commercial Aviation Services Inc. Methods and apparatus for aircraft boarding
US20210272469A1 (en) * 2020-03-02 2021-09-02 The Boeing Company Embedded training for commercial aviation
US20220148455A1 (en) * 2020-11-09 2022-05-12 Paragon Flight Training Co. Flight School Credentialing And Verification System

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5270920A (en) * 1991-05-13 1993-12-14 Hughes Training, Inc. Expert system scheduler and scheduling method
US20150066342A1 (en) * 2013-09-05 2015-03-05 Flying Software Labs, LLC Flight scheduling, dispatch and check-in
US20160039539A1 (en) * 2014-08-06 2016-02-11 Rectrix Commercial Aviation Services Inc. Methods and apparatus for aircraft boarding
US20210272469A1 (en) * 2020-03-02 2021-09-02 The Boeing Company Embedded training for commercial aviation
US20220148455A1 (en) * 2020-11-09 2022-05-12 Paragon Flight Training Co. Flight School Credentialing And Verification System

Similar Documents

Publication Publication Date Title
US6691006B2 (en) Dynamic assignment of maintenance tasks to aircraft maintenance personnel
Maenhout et al. A hybrid scatter search heuristic for personalized crew rostering in the airline industry
US9378471B2 (en) Multiple user resource scheduling
US20030191678A1 (en) Disruption handling for scheduling system
US20080215406A1 (en) Scheduling Resources for Airline Flights
Yu et al. Optimizing pilot planning and training for continental airlines
Miranda eClasSkeduler: a course scheduling system for the Executive Education Unit at the Universidad de Chile
WO2025179303A1 (en) Reservation systems and processes
Nguyen Quantitative analysis of ambulance location-allocation and ambulance state prediction
Nguyen An interactive decision support system for scheduling fighter pilot training
Aslan A decision support system for effective scheduling in an F-16 pilot training squadron
Yu et al. Optimization-based integrated manpower management for airlines
Ismibayli et al. An Interactive Intelligent System of Creating a Class Schedule
Kraemer et al. A decision support system for the Military Airlift Command, the Airlift Deployment Analysis System
Liang A comparative analysis of flight crew vacation allocation models
Aslan A DECISION SUPPORT SYSTEM FOR EFFECTIVE SCHEDULING IN AN F-16 PILOT TRAINING SQUADRON THESIS
Matthews et al. Smart Systems for Logistics Command and Control (SSLC2) Spiral Three
Moges CREW SCHEDULING SYSTEM: THE CASE OF ETHIOPIAN AIRLINES
Edwards Improving constraint-based scheduling with look ahead techniques

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 25759032

Country of ref document: EP

Kind code of ref document: A1