SYSTEMS AND METHODS FOR NEW LOCATION TASK COMPLETION AND ENTERPRISE-WIDE PROJECT INITIATIVE TRACKING

The present invention describes a computer-implemented system and method for creating and managing a task list for multiple franchise locations in an online work management system accessible to users. In some embodiments of the invention, users create multiple baselines with multiple tasks based on location attributes than can be combined into a unique, dynamic master task list for a particular location. Embodiments of the invention allow tasks to be associated with a timeline of franchise preparation, a subset of tasks to be selected based on keyword or filtering by various attributes, adding additional tasks to a particular franchise master list based on various attributes, adding tasks to multiple locations at the same time dynamically based on various attributes, restricting task list access based on user community or group, altering user access and tasks dynamically based on changing baseline characteristics, and providing a master task list dynamically on a user interface.

DETAILED DESCRIPTION OF THE INVENTION

Reference in the specification to “one embodiment,” “an embodiment” or “the embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.

The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specifically constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical discs, CD-ROMs, magnetic-optical disks, read only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, flash memories or drives, or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.

In one embodiment of the present invention, the application described throughout is referred to as the Critical Path system or the EHSOLUTION System or some variant thereof. In one embodiment, the Critical Path is a subscription based system. A company will purchase a license for a subscription to the service. Their subscription then lives independently from the other subscriptions. The subscription's owners and/or administrators are capable of managing their own subscription, its users, locations and data. The number of users, locations, etc. in a subscription is solely dependent on the usage of the subscription but it is likely that some will have 500+ locations created each year with even more users.

Overview

The Critical Path system manages two types of customer needs: New Location Task Completion and Enterprise-Wide Project Initiative Tracking.

The Critical Path system solves the franchise community's challenge by providing an online web application. The application is capable of managing the thousands of tasks applicable to each location and provides the ability for Franchisors to communicate changes in a streamlined fashion. Relating to post-opening initiatives, Franchisors are also able to create a series of projects and initiatives that are the pushed down to applicable locations to implement.

Baselines are created by Franchisors to document the relevant tasks necessary for a successful opening. A subscription can include numerous baselines, each with a specific purpose. For example, a fast-food burger restaurant will have a baseline that is applicable to all restaurants. Additional baselines are created for specific location attributes: a baseline for locations that have a drive thru, a baseline for locations that have a playground, or a baseline for units located in a shopping mall food court. Baselines are organized not by specific date, but by the number of days and weeks prior to opening or prior to project completion.

When creating a location, one or multiple baselines can be used to ‘build’ a location in the application. This allows an administrator to build a location task list that is truly specific to the location's attributes. Selected baselines are joined together to create one task list for the location. By indicating the location's opening date or date the project should be implemented, each task is marked with a specific due date—subtracting the completion date by the number of days/weeks prior to completion that the task due.

After a location's task list is created, property level users can view, update and complete the tasks to update their overall progression. Each task contains restricted and unrestricted fields. Restricted fields cannot be changed by the location's users. Unrestricted fields can be altered. Restricted fields include the task name, additional information, contact name and details, hyperlinks, and task identifiers such as the department, discipline, project phase, community level, and an indicator noting if the task is considered a milestone.

Unrestricted fields include the tasks' due date, status and who is responsible for completing the task. Location level users may also add notes and upload files to the task or even request assistance, proving a one-stop approach for all communication related to the location's progression with the task.

By having restricted fields, administrators are able to update these fields across all locations at the same time. If the contact (person to contact for assistance) for a task is changed from John to Susan, this update can be quickly applied to all locations in the application at once. This is true for all restricted fields.

Administrators use a UI referred to herein as Baseline World to manage Baselines, Task Updates and New Task Pushdown.

Additional tasks based on new learning or initiative can be communicated to multiple locations at the same time using Task Pushdown. Administrators are able create the task, inputting Restricted fields, and then dictate the number of weeks/days prior to opening a task should be completed. The task is added to the task list for every location (based on a selection) with the correct due date (subtracting the number of weeks/days prior from the opening date).

Administrators also have the ability to create the task based on the project's due date versus the opening date.

Projects are groupings of tasks. An entire project can be pushed down to multiple locations at once. Based on location attributes, the administrator is able to pinpoint which locations should be included. In order to be included, locations are first added to a Project's Scope.

As restricted data on tasks change, administrators are able to update the information application-wide, at all locations with the task. For example, the task name needs to be further refined or the email address of a contact changes. This ‘restricted field’ data can be revised; once saved, new data will be updated on all locations with the task.

The Project Dashboard provides administrators with an overview of their project. Project Metrics detail the number of locations that are in scope, the number of locations that have received the tasks, locations that have started the project and number of locations that certify that the project has been completed. These metrics are displayed based on location identifiers/attributes. For example, regions or continents or management companies can be compared. All Project Management related items can be completed from this UI including creating the project's task list and monitoring any files that have been uploaded that are associated with the project. Submitted files may be reviewed and potentially approved by an administrator.

The Corporate Dashboard provides above location users with an overview of all locations in which the users has access. A graphical representation is provided for each location so the user can quickly assess the overall progression of the location's task list. Tasks included in the graphs include pre-opening tasks and/or tasks associated with a post-opening project that has been assigned to the location. Code exists to hide locations which are already open and that do not have any current tasks. The corporate dashboard also provides the user with the ability to view any tasks that the user is responsible for completing in the near future—this list is not location specific, but user specific and will display all tasks assigned to the user's name. Additional features include the ability to view missed milestones from any location and tasks that the location is requesting assistance in completing.

Location Dashboard provides graphical representation of how the location is progressing with their tasks. Similar to the corporate dashboard, but additional graphs are presented, dissecting the data in different ways. In one important aspect of one embodiment of the present invention, each master task list (each location list corresponding to each location) would be dated differently (based, for example, on franchise preparation timeline) and this would have a corresponding impact in creating the master task list. In one aspect of one embodiment, the baselines stack regardless of actual dates; and when baselines/tasks are pushed down to multiple locations each task associates with a date based on the franchise's unique timeline.

Detailed Discussion

In one embodiment, the Critical Path system has completely dependent modules for subscriptions, locations, location-based tasks, users and their profiles, etc. The system will enable each module to essentially communicate with other modules through well-defined interfaces. This will facilitate the acquisition of data required to complete each module's specific operation as well as make changes to the shared data utilized by the other modules within the same database. These are not distributed-database operations.

In one embodiment, the concept of a database web service is central to Service-Oriented Database Architecture (SODA) and its scalability model. From a logical perspective, a database web service exposes a well-documented application-level interface to data. This is not a general database interface for reading and writing data, rather it provides very specific application functionality. For example, a subscription web service might expose methods for retrieving subscription users, manage identifiers, manage subscription users, etc.

In one embodiment, the first difference between database web services and traditional models is that access to data under the control of a single module service is completely isolated from access to other module database services (i.e., a Location Module database service never directly manipulates the tables associated with Tasks. It always manipulates Tasks by calling the Task database web service). This makes scaling out the system's functionality very easy. The second difference is that requests to database services are not made over a database connection but rather are exposed as Web Services. SQL Azure (MICROSOFT WINDOWS AZURE SQL Database is a cloud-based relational database platform built on SQL Server technologies) may be used to meet the purpose of multiple servers. SQL AZURE provides elasticity in the scale out offering as an application can increase the number of databases when needed and decrease when the requirements change.

In one embodiment, the Critical Path system is compatible with existing internet browsers and also has backwards compatibility with outdated internet browsers such as INTERNET EXPLORER 6, FIREFOX 3, and SAFARI 4. There is flexibility in how graphs are displayed as well as how the general UI is able to be. The flexibility is exploited to provide the Critical Path system with not only enterprise level capability, but also a public-facing level of design which users will enjoy seeing and working with on a day-to-day basis.

In one embodiment, live database content migration to new applications is part of the Critical Path system. The system takes into consideration the existing live site's data migration via import/export XLS file functionality.

In one embodiment, the EHSOLUTION System has certain system security and access requirements. At login, the application system must validate the user identifier and user authenticator as a pair and reject the logon attempt if it is invalid. The system must not inform the user which of the two is wrong. Any blank spaces at the end of the username should be removed prior to submitting for authentication. In one embodiment, the system will: 1) Assign all users, including programmers and system administrators, a unique ID before allowing them to access system components, properly restrict backdoor access to system to authorized individuals. 2) Encryption: At a minimum least SSLv3, TLS, or equivalent encryption on the user's initial logon to the Web Server to validate the authenticity of the server and protect the logon authentication process. 3) Browser tracking: Only digitally signed JAVA Applets ACTIVEX Control Files should be downloaded to the client's web browser. 4) Password Masking: Passwords must not appear, or must be masked, on the screen when entered. 5) Password Traits: Passwords must be a minimum length of seven random, alphanumeric characters which are unrelated to User Id, random characters in the password must contain at least one number (or special character) and one alpha character, entire password may not be all numbers nor may they be all alpha characters, users must be prevented from using the previous 4 passwords during a password change, render all passwords unreadable during transmission and storage on all system components using strong cryptography, successful logons must display the date and time of the last logon and logoff. 6) Inactivity Log-off: the system must disconnect the session after 15-minutes of inactivity, must recognize pages using AJAX as activity, needs to go back to the same page when login is required (pages should redirect back to where the user was prior to time-out), alternatively, if the native technology or infrastructure provides the capability, a screen saver, or some other locking mechanism, that required user re-authentication, must be employed to prevent unauthorized access to the session, user re-authentication must be employed to prevent unauthorized access to the session post log-off, after reactivation, the user should be redirected to the previously used page. 7) Credential Deactivation: After 6 consecutive failed logon attempts, user accounts must be deactivated for a minimum duration of 30 minutes, Subscription Administrators and those user roles above the Subscription Administrator are able to re-enable access to the user's account. 8) Failed Attempt Log: All erroneous password entries must be recorded in an audit log for later inspection by Subscription Owners and EHSOLUTION Admin only. 9) Password Database Entry Traits: password entries must be encrypted. 10) Auto Login: Single Sign on. 11) Forgot Password Feature: this feature is only available if EID integration is disabled, three security questions must be answered correctly for verification, any blank spaces at the end of the email address should be removed prior to submitting. 12) If answers are not correct, answers to the users secret questions may be sent via email, and only after a manual (through conversation over the telephone) confirmation will admin command the system to send the email with a temporary one-time password. The user is permitted entry and is required to change their password. Users that attempt to skip this process by going to a specific URL will be reverted back to change password. Upon the input of successful answers, the user is permitted entry and is required to change their password. Users that attempt to skip this process by going to a specific URL will be reverted back to change password. Forgot Password Feature is not available to inactive users. User should be notified that their account is not active when attempting to reset their password. 13) Change Password: This feature is only available if EID integration is disabled. The user will be able to update their password. User will need to re-input their current password to change their password. User will be able to change password through user's profile page. A link for changing password will be available in User's profile page. 14) Password Change-Security Question: This feature is only available if EID integration is disabled. The user will be able to update forgot password question. The user will need to re-input their current password to access their questions/answers. A link will be available below change password to change forgot password question. Subscription Administrator will be able to look up security questions or email out a temporary password. 15) Password Expiration: Users will be required via an automatic system expiration to change their passwords every 90 days. After completing the password change, the user will be directed to their normal and landing page. If EID integration is disabled, then User account must be deactivated after 90 days if there has been no account activity. 16) Multiple Subscription Routing: After successful login, users with active accounts in more than one subscription should be prompted with which subscription they would like to access/open. If EID integration is enabled for the selected subscription, then the user will be redirected to their profile screen. The user will have to specify their email address within their profile screen. An email verification link will need to be selected by the user which will send a verification link to the entered email account. Login page—cursor will be default in the username field. Pressing the Enter key in the Password field will activate the Login button. 17) Request Subscription Access: Login page will provide a link to Request Access similar to existing feature. Access Code will be needed for requesting access. Access Code will identify the subscription to which the user is requesting access, User will be prompted after successful submittal of Access Code with user profile registration page. Existing “Note” box will be relabeled with “Which locations would you like to access?” This registration will remain temporary until Administrator approves request. User will be informed like “Requests are reviewed by an Administrator and Approved/Denied within one business day”. 18) Landing Page: After successful login, if user has access to more than one subscription, user is provided with a choice on which subscription to access. Upon subscription selection, user will be navigated to their landed page based on their user group.

In one embodiment, the system contains user roles such as super administrator and system administrator with varying levels of access rights.

In one embodiment, the system contains a location management section with: 1) Subscription Moderator will Create/Edit/Inactivate/Activate Location. When a location is created, the user will be provided a list of baseline locations to use/import in order to populate the list of tasks for the new location. The user will choose one or more baselines to import. The list of baselines will be sorted alphabetically and display the baseline location name. Selected baselines will need to populate a “selected” list. List will show at least 10 baselines without the user having to scroll up/down. 2) Baseline tasks along with associated baseline users will be automatically assigned to new location. Associated baseline users will have access to the new location upon creation. 3) Subscription Owner/Administrator/Moderator will assign access to a user of a Location. A simple UI will be available to indicate who will have access to the location and to provide additional users access to the location. UI will also allow selecting project manager from assigned users of a Location. Any list of user names will be alphabetical by first name and will only include users that are active in the subscription. A search feature will be available to find users in the list faster. 4) Each subscription will have access to create multiple Baselines. Baselines have the same attributes of a standard location. The tasks in a Baseline will be joined with another Baseline to create a new location's task list. Management of Baseline locations and tasks is done the Baseline World UI. 5) List of locations will be alphabetical by location name and be paginated with 100 locations displayed per page on default. The list of locations will be searchable by location name. Filterable by location attributes Opening Manager, Abbreviation, Opening Date, and Date Created, Brand, Country, Region, management company, Market, Continent, Location Type and Active. Location ID will also be shown in the list. Search results will be retained if/when an action will be done on the list. For example, if location is selected and edit attributes, save and close. Then will be navigated back to the same results as before user clicked on the location's name. Default filters will be enabled when user opens UI—Active Locations only. Initial listing of locations should filter and display only locations that have an opening date after the current date. Locations noted as Baseline will not appear (as they will be listed in the Baseline World UI). 6) Subscription Moderator or higher will be able to change a location to Inactive. Once Inactive, it can be made Active again. Dashboards will not display graph of Inactivate Locations. Inactive location will not be available under Location filter of Tasks list page. Subscription Owner will be able to purge a location from the subscription. This action will physically remove location from database. All tasks that were assigned to that location will be permanently removed.

In one embodiment, there is key task management where Subscription Owner/Administrator/Moderator will be able to edit existing tasks via Key Task. Editing the task or its attributes, will update all tasks with the same name throughout the application. A task could have the same name, but created from a different baseline. Only tasks that are created from the same baseline should be updated. If user changes due date in key task then all tasks (Not Completed) will update with new due date.

In one embodiment, there is project dashboard. Project Baseline will be the same functionality as a Baseline Location—group of tasks that are either used to create a new location or be pushed down to existing locations. If Project Baseline feature will be inactive then Project Name and label will be hidden. Each task on a baseline project will be associated with a Project Name, which will likely be the same name as the Baseline name. The project name will carry across to the task list of the location, the same as to other Restricted Task values. Project Dashboard displays pertinent information regarding a specific project in an easy to process and utilize format. Project Dashboard displays project metrics and gives the user an overall idea about locations that are included in a project. Project dashboard will have certain project metrics: This page will have selected subscription associated logo and tool bar color theme. By default no project in the list will be selected; it will start with Select Project: User will have to select the project which is to be reviewed. Ability to filter totals by metrics—Management Company, Brand, Region, Market, Continent, Property Type, Country. Select two (2) metrics whose task comparison is to be done. Ability to filter totals by additional Optional Sub-Metric-Completion date, region, management company, market, brand etc. Metric will be displayed based on filtration of active locations. User will be able to hide/show metric filter criteria section. Each number in the metric grid result will be hyperlink to a list of locations in which makes up the number. This link will navigate to list of tasks along with selected filter.

In one embodiment, there are general user rights and a community role where the tasks which are displayed will be associated with a community that is equal to or lower than the user's community. When a user creates a new task, the user can either assign the task to the user's community or a lower level community. The tasks visible in the list are based on the user's community. A user may view tasks at a community equal or lower than their community, but may not view tasks in a higher community. Each uses may be assigned to a community.

In one embodiment, there is a corporate dashboard focused on monitoring multiple Location's opening progression. Corporate dashboard provides a stacked bar graph for each unit. Each piece of the stacked-bar graph represents the number of tasks in each status. The locations displayed are based on the user's rights to view a location. There may often be times when hundreds of locations are displayed on the Corporate Dashboard. The Corporate Dashboard combines information that illustrates the obstacles and overall progression of active locations the user has been provided access to and active locations have at least one task. Locations can be filtered by Project, Management Company, Brand, Opening Manager, Continent, Country and opening date range.

In one embodiment, there is a location dashboard that displays pertinent information regarding a specific Location in an easy to process and utilize format. The location dashboard provides an overview of all tasks assigned and each core area is also displayed with a graph. A user may drilldown to view a task list for a specific core area and/or status. User will have the ability to attach files to the Location Dashboard. User will be able to upload all files except .dll and .exe. File size maximum may be 4 MB. When uploading a file, user will need to create attribute of the file: Name, Description, Location, Approved By, Department (sorted alphabetically), and Associated Project (sort alphabetically if the Project feature is active) or Task (sort alphabetically). Name, Description, Location, Project (if project feature enabled) will be required fields. File uploading process will be reviewed by simple progress bar FLASH control.

In one embodiment, there is a SHAREPOINT Dashboard for clients that have active SHAREPOINT sites. This allows the client to include location dashboard in a Web Part.

In one embodiment, there is a task list wherein the tasks visible in the list will be based on the user's community. A user will view tasks at a community at the same or lower than their community, but will not view tasks in a higher community. The talk list may contain detailed abilities for the following: Listing Traits, Add Task, Quick Update, Task list formatting, Listing Attributes, Filter Traits, My To Do Filter, Location Filter, Status Filter, Task Assigned To Filter, Department Filter, Due Date Filter, Milestone Filter, Discipline Filter, Search, Clear Search, Clear All Filters, Show All Tasks, Select All/Clear All, Delete, Print Report, Project filter, Restricted Attributes, Our Notes, and Files.

In one embodiment, there are miscellaneous functions with alerts and updates, and detailed abilities for the following: User Profile Preferences, Email Format Preference, New Support Case Alert (attributes), Missed Milestone Alert, Need Resources Alert, My Weekly Update, New Project Assigned, Request for New user, Creation of New Location, Request for New Support, Needs Resources, Section Labels, Support Escalation, Support Complete, and Administrative Alerts page order.

In one embodiment, there is Baseline World which will provide a new user interface to simplify the management of baseline templates, adding new tasks to existing locations and editing task details across all locations. Baseline World will centralize Templates, Key Tasks and Task Pushdown functionality that already exists. Baseline World will be available to Subscription Moderators and above. A Baseline has the same attributes as a Location. For simplicity, some attributes are hidden. Baseline templates are the set of tasks that will be used to create a location's task list. The template may also be pushed down to an existing location. Multiple baselines will be added together to create a new location.

In one embodiment, there are task profile attributes with restricted fields can be changed only by users with access to Baseline World (and with access to the baseline which houses the task). Updating a Restricted field, will update the field through the application for the specific task. This is a critical feature of the application. Key Tasks includes the functionality to update these restricted fields. Location specific fields may be populated from data in the Baseline location but ultimately are customizable for each location. A location level user may change these fields. By doing so, it has no impact on the baseline or other locations.

In one embodiment, the system contains Project Profile Attributes such as Name, Project Abbreviation, Implementation Manager, Communication Manager, Details, Highlights, Call To Action, Risks, QA, Box1, Box2, Welcome Subject line, Welcome email message, Certified Completion, Anticipated Completion Date, Actual Completion Date, Completed By, Created Date, and Created By. These attributes may have alphanumeric and special character, character types. They may be required or optional.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1is an overview diagram of an embodiment of the system architecture. One or more users101interface with the Critical Path system through one or more user terminals that connect to the system through an Internet connection. In order to expose business logic as a service, service interfaces must be created that support the communication contract (message-based communication, formats, protocols, security, exceptions, and so on) that are needed by its different consumers. Business components that require functionality provided in external services must communicate with those services. Service agents isolate the application from unconventional behavior of calling services and can re-map data as appropriate for the application. The access level determined by the service layer102pairs with an appropriate user interface103. UI components allow users to interact with the application, and are implemented using smart clients or Web pages to acquire, validate, render and format user data. The Service Interfaces and Presentation layers then interact with the appropriate business logic104and data access105layers. The business layer104determines the user's access level prior to their interaction with server based data in data storage106. Business components implement the business logic of the application. Abstracting the data access logic in a separate layer centralizes data access functionality and makes it easier to configure and maintain. Together these layers result in presenting the appropriate server-based data to users101for interaction.

FIG. 2(comprisingFIGS. 2A and 2B) is an overview of an embodiment of the subscribers owner, administrator, moderator, and general user's system architecture. Users login201using their username and password. If they forget their password, they may be redirected to a password recovery option202. The information they enter gets routed through a call service layer203, which either blocks access204for an invalid login, or validates their information and sends them to subscription selection205where they can select which account they wish to access if they have multiple accounts. Account access is determined based on user subscription table206, users are then routed after their selection to their user community and role/group207which is determined based on user community table208and user role table209. After determining these credentials, users are sent to either corporate dashboard210or property dashboard216depending on their access levels. The corporate dashboard210is an overview of all the locations a user has access to. The user property table211is used to determine whether a user has access to a particular location, while the community filter212is used to identify hierarchy so that only tasks in a user's community or below are visible. This affects their interaction with tasks and their ability to view and edit tasks213. The logged user filter214allows users to filter their task list, to toggle between all tasks and tasks specifically for an individual user. It allows “my to do,” milestones215, and need resource lists to populate and/or be edited in the corporate dashboard210. Milestones217and need resource are attributes that can be selected for a particular task in a binary manner. Users may either be directed at login to a property dashboard216or may drill-down from the corporate dashboard210to view a dashboard specific to one location. In property dashboard216, the property filter219can be used to toggle between properties if the user has access, and to change the property being viewed and modified. It also displays recent updates, tasks by status, property profile, bulletin board, graphs, property status, and allows modification of files and projects218. From the corporate or project dashboard, users may also interact with the share point I-frame222, which functions like an export feature with additional characteristics. It pulls information from the property dashboard. Data such as a graph is provided a dynamic URL which can be put in a program such as MICROSOFT SHARE POINT so that it can be used in a presentation outside of the Critical Path System to show persons without user credentials. It may be an encrypted URL. This also dynamically updates, so that as the underlying server information changes the graph updates dynamically. Sales graph220can be turned on or off by subscription, and displays in the property dashboard or Share Point I-Frame. Users with appropriate access can also interface with the admin tab221, which gives them the ability to identify user's access and edit that access by individual, community or role223. Admins can edit a user's rights with regards to properties, managing sub-users, managing projects, managing baselines, managing projects, editing tasks, and user email preferences224.

FIG. 3(comprisingFIGS. 3A and 3B) is an overview diagram of an embodiment of electronic identification and security system architecture. Clients may login directly at the Critical Path System website with their username only301. The system will then determine whether they have a valid username302. If not, their access will be rejected309. If they do, the system will determine whether a subscriber account applies to the login303. If it does, it will redirect the subscriber306to the client's login page307. If there is not a subscriber account with a client login page, it will give them an option to input a password304. If this is not a valid credential their login will be rejected309, if it is a valid login they may proceed directly to the property dashboard or other defined home page305. From there, they may also change their subscription to a different account if applicable317if the client was earlier redirected to the client login site, or if they went their initially, they may login through that portal307. The Critical Path system can use the same username and password for this system that the client uses for their own employee electronic systems. This avoids the problems of having multiple users names and passwords for employees. If their credentials are rejected their access will be denied309, if it is approved the system will determine whether they are an existing user310. If yes, the system can verify whether their profile data is changed since their last login311. If it is unchanged, they will be directed to the property dashboard305. Their data might be different if they are now working at a new branch, or division, or company. If their data has changed, the system can remove their old location access and grant new location access313before directing them to the property dashboard305. If, after logging in, they are a new user, the system can auto generate a user profile if permitted by the client312. If the client does not permit, their login will fail309. If the client does permit, the user table can be used to determine user profile and access315. The new user can be assigned location access based on data supplied by the client314as well as other profile data316.

FIG. 4illustrates an embodiment of hierarchical organization for subscription owners, administrators, moderators, and general users. An EHSOLUTION Super Administrator401has total access to every aspect of the system, A EHSOLUTION System Administrator402has administrative access only to specific customers or subscriptions. Each subscription account403,404,405,406is independent of one another, and able to manage its own levels of users, tasks, etc., independently of other subscribers (subscription owners, subscription administrators, subscription moderators, and general users)407,408,409,410.

FIG. 5illustrates an embodiment for location profile creation501. The location profile creation allows a user with appropriate access permissions to create anew franchise location, and to associate certain information with that customer, such as name opening date, management company, property type, etc. It allows a user to select multiple baselines to associate with anew location. It further allows the display of various attributes regarding the property. This is an embodiment of how multiple baselines can be layered and used to create anew location.

FIG. 6illustrates an embodiment for users to search for a location. It contains a location list that allows users to search for a location601, add a new location, or use advanced filters to search for a location. The system allows location search by a variety of filters602, which populates a subset of locations603. Through this interface, users can edit existing location profile information, for example to change a location's brand. Selecting a location will allow the user to edit that location profile. Users can also purge or inactivate locations. Changing the opening date will shift task due dates for the location by the same number of days.

FIG. 7illustrates an embodiment of the project dashboard. The Project Dashboard provides administrators with an overview of their project. Project Metrics703detail the number of locations that are in scope, the number of locations that have received the tasks, locations that have started the project and number of locations that certify that the project has been completed. These metrics are displayed based on location identifiers/attributes. For example, regions or continents or management companies can be compared. All Project Management related items can be completed from this UI including creating the project's task list and monitoring any files that have been uploaded that are associated with the project. Submitted files may be reviewed and potentially approved by an administrator. Users may select projects to review, add new projects or utilize project pushdown701. Information on a project such as responsible person and contact information as well as details are displayed702, and users can print or export information from the project dashboard. Export allows for ad-hoc reporting. Users are navigated to a user interface that allows for project reporting based on either location attributes or by project tasks. Boxes704display various information such as project highlights, project progression, risks, etc. Metrics, or location attributes, can be used like a filter to sort projects or subprojects. This may be used for example to compile a numerical data base on how many locations are working on a project, how many have not yet started, etc.

FIG. 8illustrates an embodiment of the corporate dashboard. The Corporate Dashboard provides above location users with an overview of all locations in which the users has access. A graphical representation is provided for each location so the user can quickly assess the overall progression of the location's task list. Tasks included in the graphs include pre-opening tasks and/or tasks associated with a post-opening project that has been assigned to the location. Code exists to hide locations which are already open and that do not have any current tasks. The corporate dashboard also provides the user with the ability to view any tasks that the user is responsible for completing in the near future—this list is not location specific, but user specific and will display all tasks assigned to the user's name. Additional features include the ability to view missed milestones from any location and tasks that the location is requesting assistance in completing. Users can search by location directly801or by various filters802. The corporate dashboard can then show the selection of locations searched for, or all locations. Each location an example of which is shown in803has a graph and basic tab. The Basic tab illustrates information about the location, the graph provides statistics related to task completion. For example, the pace at which tasks are being completed in relation to the pace at which corporate believes tasks should be completed. Hyperlinks allow users to navigate to the tasks list, a portion of the graph, or the relevant property dashboard. Users can also view locations by opening date804, the user's individual to do list805, missed milestone tasks806, that is tasks identified as milestone tasks which are past due, tasks needing resources807, and basic subscriber information808.

FIG. 9illustrates an embodiment of the location dashboard, which provides graphical representation of how a location is progressing with its tasks. Users can select or switch locations being viewed901. This dashboard breaks down properties with tasks along several dimensions, including overall902, by milestone tasks903, by tasks assigned to different disciplines904, by the tasks assigned to different projects905, or by sales goals906. The graphs are subsets of overall project progression, and customers can define what types of goals they want to have and what goal representations they want. For example, a hotel might want to benchmark how many guestroom reservations they've made in advance of opening, or a gym how many memberships they've sold in advance of opening. Users can update progression to goal as applicable. Users can also leave notices on the Bulletin Board907, as well as view tasks assigned to their user name908. Tasks can also be viewed by status or sub-grouped by department such as front desk or housekeeping909. Files can be uploaded or downloaded910. A list of projects assigned to that location can be viewed911, including by anticipated completion date, and completion of a project can be certified. Recent updates can be viewed912, and information about the location is displayed913.

FIG. 10illustrates an embodiment of a task list. A task is a single piece of work to be completed. Each task is associated with a timeline. Tasks may also contain additional identifiers for activities. By way of example, one task is to affix a welcome sign to the front of a building. The task further contains the contact information for a sign-maker and a corporate contact to report potential difficulties. The task list user interface contains all of the tasks assigned to a particular location which can be searched1001or filtered by additional attributes1002, and new tasks can be added. Tasks can be edited1002for unrestricted fields including status, due date, and person assigned. Users can also toggle to see all the tasks for a location, or just the tasks associated with their name. Quick update1003allows selection of multiple tasks and changing multiple tasks at the same time. Selecting a task will redirect a user to the task profile.

FIG. 11illustrates an embodiment of task profile creation or edit, which includes all of the different attributes that make up a task, the task description, relevant reference material, and the person to contact for assistance if needed. Users may alter unrestricted fields in this interface1101, but restricted fields must be changed in a different interface. Users may add notes1102which is additional commentary regarding a task, or add, delete, or download files1103that are relevant to the task.

FIG. 12illustrates an embodiment of Baseline World, a section from which a user with appropriate access will be able to perform entire Task Management. This allows tasks to be edited, added, or deleted from one or more baselines, including restricted fields1201. Users may add tasks to multiple locations at the same time, which will be added relative to the number of weeks prior to project completion at a location. Alternatively, a task may also be added to a baseline, without impact to locations already using that baseline. A task may also be searched and changed across all locations1202, or removed1203. All client baselines are listed in the baseline depository1204, where a baseline can also be edited or pushed down or purged. Baseline job titles are also listed1205and can be assigned to baseline tasks.

FIG. 13illustrates an embodiment of task pushdown, which creates a new task1301with various attributes1302and creates it at multiple locations1303. This interface can be accessed from Baseline World. Tasks enter location task lists based on weeks prior to completion, which is automatically calculated for each location. Locations may be selected in1304.

FIG. 14illustrates an embodiment of project pushdown. From Baseline World, a baseline can be “pushed” to one or more particular locations1401. This may be needed if a location was created without a needed baseline, and that mistake is being corrected. Or, if a location develops new needs, such as a restaurant that has decided it now wants an indoor play space. Baseline tasks are added with respect to a due date that the system calculates based on franchise preparation timeline.

FIG. 15illustrates a flowchart of an embodiment of a method according to the present invention. In step1501, a user can create a listing for a new franchise location. In step1502, a user can select baselines based on location attributes that the user can combine into a master task list specific to the new franchise location1503. This master list can be stored on a centralized server and be shared dynamically with a plurality of users in real-time1504. Users may add, subtract, or modify baselines or tasks in real time and these changes will be reflected in the master task list1505. Users may select a subset of tasks from the mater task list based on keyword search or various attributes1506. Users may add, subtract, or modify baselines or tasks to multiple location master lists at the same time dynamically based on each location project's anticipated completion date1507. Tasks will appear at each location with a due date relative to the specific franchise location's preparation timeline. Users may have varying levels of access to view or modify baselines and tasks based on user assigned attributes1508.

FIG. 16illustrates a baseline depository according to one embodiment of the present invention wherein multiple baselines may be selected by a user to create a new location. A user may create one or more new locations1601then pull baseline tasks1602from a baseline depository1603. These baseline tasks have a due date calculated for them based on location attributes1604and various levels of user access based on location and user permissions1605. This information combines to produce a task list for one or more specific location1606. In this figure, two of the baselines (Alpha and Gamma) have been selected from the entire depository.

FIG. 17illustrates a process in which once a location is created, restricted fields in each task remain linked to the baseline task, showing how if a restricted field is changed on the baseline task then the new data is immediately updated in the location's task. A user may create one or more new location1701then pull baseline tasks1702from a baseline depository1703. These baseline tasks have a due date calculated for them based on location attributes1704and various levels of user access based on location and user permissions1705. This information combines to produce a task list for one or more specific locations. In this figure, three locations were created1706,1707, and1708. The tasks now exist independently for each location, except that as the underlying central baselines are edited that may continue to update in each location's task list based on the relevant baseline.

The foregoing description of the embodiments of the present invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the present invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. As will be understood by those familiar with the art, the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Likewise, the particular naming and division of the modules, routines, features, attributes, methodologies and other aspects are not mandatory or significant, and the mechanisms that implement the present invention or its features may have different names, divisions or formats. Furthermore, as will be apparent to tone of ordinary skill in the relevant art, the modules, routines, features, attributes, methodologies and other aspects of the present invention can be implemented as software, hardware, firmware or any combination of the three. Also, wherever a component, an example of which is a module, of the present invention is implemented as software, the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel loadable module, as a device driver, or in every and any other way known now or in the future to those of ordinary skill in the art of computer programming. Additionally, the present invention is in no way limited to implementation in any specific programming language, or for any specific operating system or environment. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the present invention, which is set forth in the following claims.