Paratransit Software Report June, 2009 Table of Contents I. II. III. Introduction Scope of Work Research Proposal 2 2 4 IV. Software Agencies Ecolane A. The Company B. History and Management C. The Software (Ecolane DRT ™) Mobilitat A. The Company B. Mission Statement C. The Software D. Easyrides Starter Functional Specifications Routematch A. The Company B. The Software CTS A. The Company B. The Software Trapeze A. The Company B. The Software Shah Software 8 8 Crystal Reports MS SQL Glossary of terms Software Agency websites and contracts Matrix of features Some Case Studies Results of a Transit Survey Conducted by Region 9 57 59 73 75 Appendix Appendix Appendix V. VI. VII. VIII. IX. X. XI. 18 18 18 18 18 23 32 32 33 37 37 39 43 43 44 Region Nine Development Commission Page 1 Paratransit Software Report June, 2009 I. Introduction: This report summarizes the research conducted by staff of Region Nine Development Commission from August of 2008 until June of 2009. It is a comprehensive analysis of the features and limitations of the six leaders in the paratransit software industry: Ecolane Mobilitat RouteMatch CTS Shah Software Trapeze While this report is intended to be a reference for Mn/Dot and DHS for the purposes of outlining the features of these reports, Region Nine Development Commission; on behalf of the Minnesota Department of Transportation (MN/DOT) and the Minnesota Department of Human Services (DHS); conducted this research based on criteria outlined in the following scope of work: Region Nine Development Commission, on behalf of the Minnesota Department of Transportation (MN/DOT) and the Minnesota Department of Human Services (DHS), conducted this research based on criteria outlined in the following scope of work: Overview: The Metropolitan Council, in cooperation with the Minnesota Department of Transportation (MN/DOT) and the Minnesota Department of Human Services (DHS), is soliciting proposals for a web-based paratransit scheduling and routing system. The system will be hosted by the Metropolitan Council and utilized by multiple agencies located over a broad geographic area for the purposes of coordinating rides. The partner agencies are considering this a Pilot project for the purposes of testing an online scheduling system that allows multiple access points for transit providers, consumers and consumer advocates. The vision is the software can be used to create a comprehensive transportation network of Public Transit Providers, Governmental Agencies and Social Service providers to maximize existing resources and offer a higher level of service for consumers. The pilot project will be conducted in two phases bringing four different transit providers on-board. The contractor must supply pricing for the two phases of the project. The partner agencies are considering this project a demonstration for the purpose of evaluating implementation of a large-scale system that may include up to Region Nine Development Commission Page 2 Paratransit Software Report June, 2009 multiple transit systems throughout the state. Pricing for the project should include pricing for the first phase and optional pricing for phase two. PHASE ONE Phase one will be completed in two different stages. The vendor shall propose pricing for both the onsite and offsite training. In addition, the vendor shall propose pricing to convert the data from all three existing sites into a common data set. STAGE ONE: Set up and installation at the Metropolitan Council to host the system. Training in the use of system for dispatch, reservations and administrative staff at County A and County B. Go live support to transition County A/County B onto the new software. STAGE TWO (Only after stage one has been successfully completed.): Training in the use of the system for dispatch, reservations and administrative staff at RISE, Inc. Go live support to transition RISE, Inc. on to the new software. POTENTIAL SITE DESCRIPTIONS: County A One potential site provides dial-a-ride, door-through-door paratransit service, deviated fixed route and regular fixed route service in this county. It is part of the seven county Twin Cities Metropolitan area. They currently used Trapeze PASS ™ for paratransit scheduling. This county’s dial-a-ride service is a reservation only, shared-ride transit service. Doorto-door assistance is available, with lift-equipped buses. This county coordinates dial-aride trips with surrounding communities. One potential county could potentially operate Americans with Disabilites Act (ADA) transit service for the Metropolitan Council. ADA service is a door-through-door, shared-ride service for certified riders who cannot use fixed-route public transit due to a disability or health condition. Potential Site #2 Region Nine Development Commission Page 3 Paratransit Software Report June, 2009 This site is a part of the Community’s Social Services Department. It would be in the seven county Twin Cities Metropolitan area. It is a reservation-only, shared-ride transit service. It offers bus service for the general public as well as a volunteer driver program for medical and social service rides. RISE, Inc. RISE, Inc. is a private, nonprofit corporation in Spring Park, Minnesota. RISE, Inc. performs over 600 trips per day to persons with disabilities. Clients are transported to employment sites to increase their vocational self-sufficiency and productivity. RISE, Inc. offers person-centered career planning, vocational training, job placement, supported employment, and housing support services so that people can work in the community, earn competitive wages, live safely and comfortably, and make a productive contribution to society. RISE, Inc. currently uses MapNet as its scheduling system. Site Name County A Location Location A, MN Potential Site #2 Location B, MN RISE, Inc. Spring Park, MN Vehicles 21 (small and medium buses) 8 (small and medium buses) 80 (small buses and vans) Annual Trips 114,000 48,000 120,000 PHASE TWO (OPTIONAL) Upon the completion and acceptance of phase one, the Council will consider implementing phase two which shall be conversion of the City of Hastings, River Rider Transit and Metro Mobility and all associated subcontractors to the Software System. Vendor shall itemize pricing to add each of these locations onto the existing system. Site Name River Rider Transit City Hastings (TRAC) Metro Mobility and associated contractors Location Big Lake, MN Hastings, MN Various locations in the Twin Cities Metro Area Vehicles 12 4 350 Annual trips 77,770 32,355 1.7 Million III. Research Proposal After contracting with Region Nine Development Commission, Brent Pearson wrote this Research Proposal. It is expected that the research conducted in this report will meet each of these requirements. 1. Research Topic: Region Nine Development Commission Page 4 Paratransit Software Report June, 2009 To research licensed software proposals for a web-based paratransit scheduling and routing system. This will include but is not limited to the following: Costs affiliated with the software package; Compatibility with Internet Explorer and Firefox Operating Systems; Accessibility for all Internet users; Successful integration of software for paratransit system in pilot communities (Scott/Carver Counties). 2. Methodology: I. Costs will be researched via comparisons to other paratransit systems regionally, domestically, and worldwide. Additionally, proposals will be researched through direct contact with software developing agencies. II. Compatibility will be researched and cross referenced with the Functional Requirements established by the Region Nine Development Commission’s “Scope of Work” and will include but is not limited to the following: Web-based interface; Multiple agency functionality; Access to rider information database; Route scheduling and optimization; Dispatch and monitoring of transit routes and times; Mobile network for driver/vehicle communications; Databases access and archived information. III. Database Requirements will be researched for compatibility with: Oracle 10g or Oracle 11g; ODBC and ODBC drivers. IV. Hardware Requirements will be researched with particular emphasis on compatibility with Apache or Red Hat Linux servers. V. Servers: Apache, Red Hat Linux, and other servers as suggested by software proposals will be researched and defined as background information for preliminary assessment. VI. Training and Operation will be researched to ensure maximum efficiency of software and operating systems Region Nine Development Commission Page 5 Paratransit Software Report June, 2009 VII. Licensing will be researched to ensure that the system is owned by the software agency or that necessary permission is granted to that agency for utilization in this project. VIII. The warranty will be researched to ensure long-term effectiveness and maintenance. IX. Instillation and testing will be researched to ensure that go-live deadlines are met. X. References will be researched and checked to ensure that: Software agency has performed similar work in the last two years; Experience and qualifications are met. Systems Researched: The following systems will be researched thoroughly as per the suggestions of the Region Nine Development Commission: Trapeze Mobilitat Ecolane Shah Software Route Match Alpha Wireless CTS MapNet as used by RISE Additional software systems may be researched at the discretion of the researcher and Region Nine Development Commission. This research will include: Overall compatibility with the MnDot and Minnesota Department of Human Services proposed paratransit scheduling and routing system requirements Successful integration in other communities Limitations of the software How the software can best be used to maximize effectiveness along multiple transit lines and billing systems Region Nine Development Commission Page 6 Paratransit Software Report June, 2009 Additional Research: Additional research will be conducted outside of the software and system requirements to determine compatibility. This research includes but is not limited to: I. Comparison of the pilot counties (Scott and Carver) to communities that have achieved successful integration for SWOT analysis of the system within the pilot county. II. Survey analysis: Surveys conducted by Region Nine Development Commission will be assessed to determine compatibility of research with the paratransit software proposal. These surveys include the four key agencies involved in successful integration: Questions for State of Minnesota Survey Questions for Health Care Providers Questions for County Human Services Questions for Transit Providers 3. Expected Results: I. This research will be concluded before January 31, 2009. Region Nine Development Commission will use it for further assessment of the joint MNDOT and Minnesota Department of Human Services paratransit proposal. Data and Information Collection: I. Multiple sources will be used for data collection. These include but are not limited to: Minnesota Department of Transportation Minnesota Department of Human Services Scott County Carver County Direct telephone contact with software vendors Websites of software vendors Various city websites and appropriate staff Technology firms Census Bureau Region Nine Development Commission Staff Consultants specialized in the web-based operating systems AARP “Enhancing Mobility Options for Older Americans” Region Nine Development Commission Page 7 Paratransit Software Report June, 2009 Mobilitat’s “Proposal to Region Nine Development Commission for Dispatching Scheduling Software Program: Technical Overview” Various Case Studies in rural and urban transportation modes Various Internet research avenues 4. Analytical Technique: Surveys, charts, graphics, and data collection will be used to present results. Region Nine Development Commission, based on the facts presented in the research, will conduct full analysis of the research. 5. Bibliography and References: Full citation and bibliographical references will be provided for this research. IV. Software Agencies: Ecolane I. Background A. The Company: Ecolane focuses on the development and sales of various ride sharing software. The two software programs available via Ecolane are Ecolane DRT ™, and Ecolane Dynamic Carpool ™. Their Mission Statement: Traffic continues to be one of the biggest problems in many cities and countries, resulting in congestions, delays, pollution and wasted money. Ecolane addresses this problem by offering end-to-end solutions for daily commuting, as well as business travel by effectively matching more than one person per vehicle. Ecolane’s software solutions link together modern mobile and Internet technologies to enable a completely new level of service for our customers. Source: www.ecolane.com Region Nine Development Commission Page 8 Paratransit Software Report June, 2009 History and Management: Ecolane is a privately held company founded in 2002 by Sami Pöykkö and Antti Hannula. Pöykkö, has a strong background in location-based services research at Nokia Research Center, and Hannula is an entrepreneur with more than ten years of experience in startup management, financing and marketing. In addition to the founders, Ecolane's Board of Directors consists of Mr. Ilari Anttila, with a background in the new technology development, and Mr. Paul Baan (founder of the Baan Company) with a strong experience in the growth companies. Ecolane’s current investors include: George Avenue is a private equity fund, initiated by the Noaber Foundation (www.noaber.com), which invests in the Information and Communication Technology (ICT) sector to address the Digital Divide with a focus on sustainable development for late(r) developing communities Finnish Industry Investment Limited is a Finnish government-owned investment company engaged in equity capital investments and direct investments in venture capital funds, private equity funds and selected target companies. Current President and US Representative, Ryan Larsen has worked in the transportation industry for 24 years. He began his career working as a bus cleaners, worked his way up through the ranks to driver, dispatcher, dispatch manager, and eventually found his niche in software development. Ecolane’s software: Ecolane DRT ™ is a software program that is fully rule-based and ADA compliant. The services it provides are broken down into four key components: 1. Reservation, 2. Scheduling and Dispatching, 3. Management and Administration, and Mobile Data Terminals (MDTs). 1. Reservation features include: Browser-based user interface Order scripting Fully configurable Points of Interest Multi-lingual Order tracking Self-Service web orders 2. Scheduling and Dispatching features include: Fully automatic scheduling Region Nine Development Commission Page 9 Paratransit Software Report June, 2009 Fully automatic dispatching Integration to Public Transit Route Planner Continuous optimization Street-level routing Configurable Service Rules Manual override functions Dedicated/reserve fleets 3. Management and Administration Fully configurable service rules Real-time monitoring Customizable reports GIS-based mapping Flex routes 4. Mobile Data Terminals (MDTs) Optional Automated work flow Click-to-call Automatic Vehicle Location (AVL) View job details and job logs Integration to existing MDTs Ecolane DRT™ utilizes Crystal Reports as its reporting engine. These reports are fully customizable. Over 20 standard reports are available via Ecolane DRT™ with the customization and ad-hoc reports providing variety in reports. These can be expanded to include federal reporting, billing, vehicle control, and the complaint process. Crystal Reports is used to design and generate reports from multiple data sources. It is the primary report generator with Microsoft Visual Basic. Currently, Crystal Reports is in its 12th version (released in 2008). After being acquired in 2003 by Seagate Software (later, Business Objects) – an office software developer – Crystal Services Inc. (the creator of Crystal Reports) was acquired by SAP in October of 2007. SAP is currently the 4th largest softwaredeveloping agency in the world. Ecolane DRT ™ also utilizes MS SQL drivers. This allows the software to generate large amounts of data into Microsoft Word and Excel reports as well. For more information on MS SQL drivers, please see the MS SQL drivers chapter in this report. Region Nine Development Commission Page 10 Paratransit Software Report June, 2009 Ecolane is disciplined when it comes to trading information with its customers. If awarded the contract, Ecolane will insist on provide documentation for all major transactions to ensure that there are no misunderstandings when key decisions are made. Ecolane will take the information reports requested in the RFP and conduct a thorough study of a company’s business rules and current practices. Based on this study, Ecolane will solicit a proposal of what the reports should look like, to their understanding. Once awarded, the conversations are mutually inclusive, with the sample reports written up by Ecolane during the RFP submissions phase being provided to the user for their comments. That ensures that the software buyer/user is provided with a comprehensive reports package. Additionally, Ecolane will trade paper reports back and forth until they are satisfied that there is a complete understanding on how the reports should look – based on the user/buyer’s specifications. In this way, any reports generated by the software (samples provided in graphic) are fully customizable. Ecolane’s Self Service Web Request is less complicated and is used for customers who wish to schedule their own requests without the need of calling the office to speak to an agent. Web-Based Interface: Ecolane is entirely web-based. This allows the users and the transit providers the opportunity to coordinate rides from any web-enabled computer. The web-based system allows for ease of navigation and use. Instead of opening new applications for multiple tasks, the user and transit provider can simply click on a link to navigate the features of the software. According to Larsen, other software agencies operating on Windows-based software are using technology that is at least 14 years old. With a webbased system, there is no PC back-in or need for a PC at all (rides could technically be scheduled from web-enabled phones and mobile devices as well), and the user can access the web pages at any location at any point on the globe. As a web-based system, Ecolane DRT ™ uses auto-correct to minimize typing errors customers sometimes make when scheduling rides. This is incorporated everywhere on the site, from scheduling and dispatching to client login and personal information boxes. Like many websites that solicit personal information, if a box is empty or the typed information is not inputted correctly, red text warnings appear on screen to prompt the user to make the necessary corrections. Operating System: Ecolane DRT operates on a Linux Operating System. Ecolane can, however, operate on an Oracle 10g or 11g database. Its overseas operations often use Oracle, but the software here statewide uses Linux. The reasons for a Linux operating system are: Region Nine Development Commission Page 11 Paratransit Software Report June, 2009 It’s free: which lowers the cost of the software to the consumer It’s stable: according to Larsen, there has not been one minute of unplanned downtime in the past 13 months It has a fast development cycle: which increases the speed of which Ecolane can deliver its product to the consumer, as well as any requested custom upgrades It’s scalable: it can handle an ever-growing amount of data and work and can be scaled to the size of any transportation operation Security: it keeps private data safe It’s great at virtualization and can run windows as well Independent Automation: Ecolane is fully automated. This limits the amount of decision-making the dispatching staff has to do. Ecolane’s automation has the ability to operate with a minimum of staff interference. It frees up staff time to focus on problems that can only be resolved via the human element. Problems such as vehicle breakdowns, driver/rider or rider/rider conflicts (for example: Driver A can’t ride with Mrs. Smith for various reasons or Mrs. Smith cannot ride on the same vehicle with Mr. Johnson), etc. are problems that require the ingenuity and problem solving skills of human beings. Consequently, the software will not reschedule manifests already in vehicles. For automation to take effect, rescheduled rides need to be logged before the driver is in route, or 55 minutes prior to the time of pickup. Once this happens, then dispatch needs to manually make these changes. The full automation allows the dispatcher free time to do this as needed. Region Nine Development Commission Page 12 Paratransit Software Report June, 2009 This graphic outlines Ecolane’s business model in a nutshell. Full automation frees up staff to work on unplanned daily delays, and raises the performance of all employees of any transportation operation across the board. Rather than have one star employee on a five-member team perform at 95% productivity, automating the day-to-day tasks of transportation providers raises the productivity of the entire staff to that of the star employee. Region Nine Development Commission Page 13 Paratransit Software Report June, 2009 Ecolane recently finished a project in Arlington, Texas. Their daily On-Time Performance (OTP) has increased to 95-97%. This graphic shows the benefit of full automation. This report, generated by Ecolane’s software, shows how a daily OTP can be turned around after a rough start – essentially, rebounding in the 7:00 a.m. hour to help close the day at a 97% OTP success rate. According to Larsen, without automation, a tough start could have a transportation operation playing catch up all day. It should also be noted that the ability for this software to rebound quickly -- and adapt to daily challenges -can occur during peak hours (rush hours, lunch hour, etc.) as well. Self-Service Web Request Feature: Ecolane DRT ™ has a Self-service web request feature. Self service is a simple application that is used for customers who wish to schedule their own requests without the need of calling the office to speak to an agent. Here is how it works: 1. The customer clicks “Create a New Order”: Region Nine Development Commission Page 14 Paratransit Software Report June, 2009 Image courtesy of Ryan Larsen, Ecolane USA. The screen above is the screen that a customer would access via a web-portal posted on a remote site or the transportation entity’s website. At the top of the screen is where the customer will be picked up. At the bottom of the screen is the customer’s destination. In the pick-up section of the screen (appropriately labeled “from”) there are four blank fields. Those fields are for the address street number, street location, and city. There is an additional open field for notes. Like the top section of the screen, the middle section has the same address fields, but in this case the fields indicate drop-off location. The bottom section is where the customer enters additional information about the ride – i.e. funding, trip purpose, whether or not they need assistance, and number of companions, children, if the rider needs an assistant and other passengers. These are all configurable to any transportation entity. Also, this screen has a calendar to help the customer select the right date for the trip. 2. After filling out the trip screen, confirm order: Once the customer completes the check out, they are taken to a confirmation screen that allows them to cancel the trip, order a return trip, copy the trip and return to the main page. It should be noted that every successive screen has prompts that prompt you to the next screen. If any information is inaccurate or incomplete, a red warning message will appear Region Nine Development Commission Page 15 Paratransit Software Report June, 2009 on screen instructing the user to make changes to his or her order. This is done to ensure that the customer gets on the right trip, at the right time, with the correct billing structure in place, and the correct number of additional passengers. 3. Set up trips for the future, make them reoccurring, or cancel a trip: Image courtesy of Ryan Larsen, Ecolane USA Above is an image of a customer’s travel history. This can be viewed by Ecolane staff, transit operators, and the customer. One interesting note is that this training link can be added to any website of the provider. For example, MNDOT could place a link to the Self-Service web page directly on http://www.dot.state.mn.us/. When the customer clicks on this link and creates a new order, and then clicks on web-based training for customers, he or she can provide their own notes to send to the drivers. The one caveat is that the client must know what his or her funding source is. It is also essential to be sure that the initial funding information is imputed properly. Multiple billings sources can be utilized (see next section). Billing: Multiple billing sources are available. Ecolane’s DRT ™ software has the ability to incorporate multiple billing agencies and multiple riders on one ticket. There is a Region Nine Development Commission Page 16 Paratransit Software Report June, 2009 funding sources pull-down tab that is fully customizable. To format this correctly, Ecolane would need to be provided with all of the fund sources options available. If the provider (or user) provides Ecolane with a list of funding sources, they can format the billing component accordingly. The only limitation to multiple billing sources is that the billing source cannot be switched mid-ride. In the event that there is a change in the number of billing sources, or rider variables, Ecolane can make the necessary adjustments – either adding or deleting one or many funding or billing entities – on their end. The user simply contacts Ecolane and provides them with the change requests and Ecolane makes the changes. This takes approximately five minutes or less. According to Larsen, Ecolane’s average response time for 2008 on support request items was an hour or less. So, theoretically, a user could drop or add a funding source from its billing component, log the support request with Ecolane, and be using the new billing source in an one hour and five minutes. Help Desk: When a problem arises that requires aid of the help desk, a ticket is created and emailed to the user as well as to Ecolane’s Support Team. Ecolane then sends a response e-mail letting the user know that the ticket has been resolved and what actions were taken to resolve the issue. These issues are archived forever and can be viewed by both Ecolane and the user for as long as it remains in the system – assuming, of course, that either the user or Ecolane does not delete it. The Ecolane Help Desk is available 24 hours per day, 7 days per week. All tickets used in training are kept by Ecolane and used to broaden its Frequently Asked Questions data and categorically used for future training exercises. Implementation: Ecolane’s standard mode of operations for implementation of the software, upon being rewarded with a contract, is as follows: 1. Ecolane arrives at the user’s site of operations. That visit lasts approximately 2-3 days depending on the size of the operation. There they observe the user’s logistics. 2. While observing, Ecolane staff will review the host company’s business rules and procedures. 3. Based on the documents reviewed and information gathered during observation, Ecolane staff will create a Region Nine Development Commission Page 17 Paratransit Software Report June, 2009 “Business Rules” document outlining in great detail what Ecolane knows, what Ecolane has observed, and how it will integrate the client’s business model into Ecolane’s software format. 4. Ecolane schedules a meeting, either via phone or in person, to outline point-for-point what they have observed and provide for recommendations on how to proceed with implementation of the software. 5. At this meeting, Ecolane will provide an implementation timeline, with specific tasks and dates of completion. This timeline is milestone driven (meaning: once Task A has been completed, Task B can begin). 6. Ecolane then returns to the host site for a test week. This is done to ensure that everything is going smoothly before the software “goes live”. 7. Two to three weeks later, Ecolane will begin training staff and essential personnel on how to use the software. This is done as close to “Go Live” as possible, to prevent crossover mistakes while using two co-existing software. This also ensures that the user’s training is fresh, and then once fully trained, the user can discard old methods and proceed with Ecolane formatting. 8. The Go-Live generally occurs 2-3 months after being awarded the contract. According to Larsen, Ecolane was able to “Go Live” in Arlington, Texas (see: case study) in as little as 28-days but it was incredibly strenuous and there are zero margins for error. A more realistic timeline is 2-3 months. Google Earth: Ecolane uses Google Earth for its mapping source. Google Earth is a virtual globe, map and geographic information program that was acquired by Google in 2004. It maps the earth through superimposed images obtained from satellite imagery, aerial photography and GIS 3D globe. These maps are updated frequently, are current, and allow the user an opportunity to view routes and vehicles by geocoding those routes and stops onto the maps provided by Google Earth. Region Nine Development Commission Page 18 Paratransit Software Report June, 2009 Mobilitat I. Background A. The Company: Mobilitat is a Certified Disadvantaged Business Enterprise (DBE) in the states of Wyoming, and Nevada, and has an application pending in the State of Georgia. Mobility Works Inc., or Mobilitat, was founded by Cindy Johnson in Green River Wyoming in 1998 to provide affordable paratransit scheduling software for smaller, rural transit agencies. Since its inception it has grown to employ 6 full time staff, has over 60 installed systems, 3 editions of its software, including advanced capabilities to provide software for systems ranging from 2 to 150 vehicles. B. Mobilitat’s mission statement: Mobilitat’s mission is to empower Mobility Managers of small and medium transit systems through consulting services and innovative computer aided dispatching software and shared information. Rural and medium size urban Mobility Managers must be equipped with the knowledge and the technology in order to stay in business. The ultimate goal is to help them provide more rides (which equates to more revenue) from their fixed investment (vehicle fleet). Easy Rides was designed to help Mobility Managers increase accountability, increase productivity and decrease the amount of time spent completing reports. C. Mobilitat’s Software: Easy Rides is a computer aided dispatching system developed by Mobilitat. It was designed for use by rural demand response transit systems serving the elderly, handicapped and the general public. The reporting capabilities of Easy Rides allow for completion of Federal, State and local reports. Larger transit agencies of up to 150 vehicles use our more comprehensive software, Easy Rides Plus. Easy Rides Plus can include GIS and Auto scheduling to facilitate the use of Mobile Data Terminals (MDTs), swipe cards, and Automatic Vehicle Locator (AVL) systems. D. Easy Rides Starter Easy Rides Starter was designed for small rural systems with fewer than 10 routes. Easy Rides Starter is fully upgradeable to Easy Rides for additional functionality. Easy Rides Starter incorporates many features previously available only in very expensive Region Nine Development Commission Page 19 Paratransit Software Report June, 2009 software. For Easy Rides Starter, training is conducted remotely via GoToMeeting online. For Easy Rides Starter, no Geographical Information Systems (GIS) is used. Easy Rides provides three levels of geographical discrimination: neighborhoods (sites), zones, and jurisdictions. Easy Rides Starter Features Include: Scheduling: Clients Default Data Table Enhanced Client Data Form Frequented Addresses Single Reservation Entry Point Trip Tickets Return Trips Multiple Leg and Group Trips Subscription Trips Suppress Subscription Trips Short-Term Repeat Trips Temporarily Lock Out Clients Point-and-Click Scheduling Auto-complete Addresses Dispatching: Multiple Screens at the Same Time Undo/Redo Schedules Point-and-Click Dispatching Hide/Unhide Runs (Routes) Color Coded Zones Six Styles of Manifests Export Manifest Data Reporting: Comprehensive Ticket Archive Comprehensive Report Generator Export Report Data to MS Excel New Clients This Month Consolidate Redundant Addresses Fare Reconciliation Back/Up Restore Utilities Region Nine Development Commission Page 20 Paratransit Software Report June, 2009 Archiving Feature Easy Rides Basic Designed for small to medium sized systems, Easy Rides Basic has all the features you’ll need in an affordable, easy to use package. Easy Rides Basic has all of the features of Easy Rides Starter but with no limits how many vehicles or routes you can operate. Easy Rides Plus included extra customizable lists for recording extra data for clients and trip tickets. It also includes Trip Validation, an enhanced dispatch board with a staging area, Route Parameter Replication (RPR) for simplified scheduling and a Rides Analyzer tool to quickly get the data you need. Training is provided via GoToMeeting and an onsite visit. Based on Microsoft SQL Server technology, the Easy Rides database is open for customers to develop their own analysis and reports using MS Access, Crystal Reports, etc. In addition, Easy Rides provides export capabilities to Excel, an enhanced Report Generator, and four standard reports. Even without expensive Geographical Information Systems (GIS), Easy Rides provides three levels of geographical discrimination: neighborhoods (sites), zones, and jurisdictions. Grouping trips and reporting trip information is easier and much more powerful using this advanced technology. Easy Rides can filter the types of tickets that can be assigned to specified vehicles and runs. Runs and vehicles may be reserved for certain funders, providers, and custom parameters specified by the user. You can also check to see if seats and/or wheelchair slots are available before assigning a requested trip. Easy Rides Basic Features Include: Scheduling: Clients Default Data Table Enhanced Client Data Form Frequented Addresses Single Reservation Entry Point Trip Tickets Return Trips Multiple Leg and Group Trips Subscription Trips Suppress Subscription Trips Short-Term Repeat Trips Temporarily Lock Out Clients Region Nine Development Commission Page 21 Paratransit Software Report June, 2009 Point-and-Click Scheduling Auto-complete Addresses Route Parameter Replication Trip validation Dispatching: Multiple Screens at the Same Time Undo/Redo Schedules Point-and-Click Disapatching Hide/Unhide Runs (Routes) Color Coded Zones Six Styles of Manifests Export Manifest Data Dispatch board stage No Route or vehicle limits Reporting: Comprehensive Ticket Archive Comprehensive Report Generator Export Report Data to MS Excel New Clients This Month Consolidate Redundant Addresses Fare Reconciliation Back/Up Restore Utilities Archiving Feature Rides Analyzer 3 extra customizable trip lists Customizable client lists Support for secondary funders Affiliations support Easy Rides Plus Easy Rides Plus is designed for medium to large systems that have more advanced dispatching and reporting needs. Easy Rides Plus has all of the features of Easy Rides Basic, plus Integrated Geographical Information System (GIS), Auto-Scheduling, Automatic Vehicle Location (AVL), Customizable manifests, and additional reporting capabilities. Easy Rides includes all of the features important for operating an efficient transit organization. Training is provided via GoToMeeting and onsite. Easy Rides Plus Features Include: Region Nine Development Commission Page 22 Paratransit Software Report June, 2009 Scheduling: Clients Default Data Table Enhanced Client Data Form Frequented Addresses Single Reservation Entry Point Trip Tickets Return Trips Multiple Leg and Group Trips Subscription Trips Suppress Subscription Trips Short-Term Repeat Trips Temporarily Lock Out Clients Point-and-Click Scheduling Auto-complete Addresses Route Parameter Replication Trip validation Auto Scheduling Optional Trip Import tools Sub-set Optimization Dispatching: Multiple Screens at the Same Time Undo/Redo Schedules Point-and-Click Disapatching Hide/Unhide Runs (Routes) Color Coded Zones Six Styles of Manifests Export Manifest Data Dispatch board stage No Route or vehicle limits GIS Tools Pseudo AVL Optional full AVL Customizable Driver Manifests Reporting: Comprehensive Ticket Archive Comprehensive Report Generator Export Report Data to MS Excel New Clients This Month Consolidate Redundant Addresses Region Nine Development Commission Page 23 Paratransit Software Report June, 2009 Fare Reconciliation Back/Up Restore Utilities Archiving Feature Rides Analyzer 3 extra customizable trip lists Customizable client lists Support for secondary funders Affiliations support Volunteer Details II. Easy Rides Functional Specifications A. Passenger Registration. Figure 1 (page 6) is a terminal display of a typical client list. It has functional buttons available that allow the user to highlight and select a specified client from the list. By clicking on the specified client, the user enters the Client Form where he or she can begin entering and editing client data (as seen in figure 2, page 7). Here you will also see default data that outlines the client’s trip ticket. This can be expanded or minimized based on the user’s preference (see figure 3, page 8). The following information is stored for client using the Client Form (figure 2): Client identification number Client name Home address Mailing address (if different than home address) Sex Telephone number Date of birth Ethnicity Social Security Number Language preference Emergency Contact Disability code or physical needs (i.e. need for an attendant/aide, seeing eye dog, etc.) Type of payment code (paid, prepaid, etc.) Agency, doctor, or employer with detail specifics (i.e. full name, address, phone number, etc.) Required vehicle type code (sedan, van, bus, etc.) Region Nine Development Commission Page 24 Paratransit Software Report June, 2009 Service type code (including taxi and individual trip reimbursement) Additionally, the Client Form has seven fields that are fully customizable via combination boxes or drop-down tabs. In this image they are listed as “DBase 1” through “DBase 7”. The example, shown here in expanded view, shows a customizable piece for a billing component – i.e. Medicaid, but can be also used for ADA eligibility, income, taxonomy codes, ADA certification, visitor information, passenger trip history, or directions. Consequently, these customizable tabs can designate the type of ride service the client uses the most. For example, VINE: Faith in Action (located in Mankato and St. Peter, MN) uses these customizable tabs as a volunteer delivery service that deploys many different types of civilian vehicles (i.e. sedans, vans, trucks). Metro Transit, on the other hand, is one of the country's largest transit systems that deploys buses, trains, carpools, and vanpools. These tabs can be customized to reflect client transportation history. This screen also has a frequented address display that allows the dispatcher to select a destination based on the client’s most frequented routes. All of the addresses are maintained in the Address Table. This table provides the necessary information to allow for Auto-Complete, map display, and auto-scheduling features. Figure 4 (page 8) shows the editor for managing the address table and figure 5 (page 9) shows a snippet of a map accessed via the geocode feature. New addresses can be added to the Address Table via updating the Client Form or upon creation of a Trip Ticket. These addresses are automatically geocoded, and if the geocoder cannot find the address in its database, it will produce a list of similar addresses for the user to choose from. Additionally, the user can access the map database manually by pointing and clicking on a larger map to geocode the desired area. B. Reservations The Trip Ticket Form shown in figure 5 (page 9) is loaded from the clents default information. Reservations are made here. They can be done via the frequented address drop-down tab or as a new address that wll be automatically geocoded at this point. In the middle of the screen on the right, there is a “Check Feasibility” button. By clicking on this button, the user can prioritze rides via pick-up, drop-off, or both by checking the potential routes a trip could be assigned to. This feature allows the dispatcher to check the feasibility of a trip and receive a list of all feasible buses in the order of priority. To the left of this button is the “Board Time” that can be modified by the user. Each stop is called a “leg” and by clicking on the “Next Leg” button, the user can generate a ticket for the next stop of the trip. The following features are available through the Trip Ticket Form screen: Passenger’s name Region Nine Development Commission Page 25 Paratransit Software Report June, 2009 ID number Disability Code Vehicle Code (the vehicle code is associated with the route) Date of trip request (time stamped automatically onto the ticket) Number of attendants and/or escorts Scheduled date(s) of service Pick-up location and zone (coded) that is identified by the site Destination location with detail specifics (business name, address, and coded zone) Requested pick-up/arrival time Required arrival time to destination Specifics/comments that can be added via the Trip Notes box Repeat information for return trips and including “will calls” (if applicable) Multiple legs for the trip that are generated via the “Next Leg” button Service type Agency billing code Payment type Frequent destinations (obtained from the Addresses drop-down tabs) Agent code (automatically stamped using the current user name) Trip type/purpose (shopping, medical, social, etc.) Subscriptions are created using the Create Multiple Trips screen (figure 6, page 10). These can be created as Short Term trips and Long Term trips. Short Term trips are trips that are repeated for a shorter duration of time (i.e. a week or two, or a month or two). Long Term trips are trips that are repeated for a longer duration of time (i.e. many months, years, etc.). In this screen there are tabs corresponding with the days of the week. By checking a tab and then clicking “Create Trips, a trip can be scheduled for any day of the week. Special Trips can be created as date-specific using an archived calendar that can be scrolled forward (to check for future trips) or backward to check previous trips. Using this feature, the dispatcher can reference routes from previous days. Easy Rides software can accept modifications up to and during the scheduled service. C. Manifests Fourteen manifest styles are provided for printing routes and driver manifests. These can be archived using Microsoft Excel and printed/edited as needed. D. Dispatching Region Nine Development Commission Page 26 Paratransit Software Report June, 2009 Easy Rides provides three ways to view a daily transit schedule, and all three can be viewed at the same time. The daily schedule is also accessible at the same time a Trip Ticket is being made. Figure 7 (page 11) shows each of these views in the daily schedule screen. Here modifications to a route (additions, cancellations, and no-shows) can be changed immediately on a real time basis. Easy Rides provides three methods for Auto-Scheduling: Feasibility, Auto-Step ™, and Auto-Batch Scheduling. Feasibility checks the possibility of scheduling an individual trip on a given route in the order of priority. This process generally takes less than two minutes. Auto-Step ™ scheduling steps the scheduler through each of the unscheduled trips and provides a list of available routes for each. This process generally takes less than two minutes. Auto-Batch Scheduling schedules all unscheduled trips according to the parameters selected by the scheduler. This process may take longer than two minutes depending on the number of unscheduled trips. E. Trip Data Processing/Data Entry The design of the Easy Rides software allows the user to provide information to scheduling and dispatching staff, and provide data for management information reports. F. Management Information/Client Billing Mobilitat’s software can produce tables based on performance criteria such as pickup performance, number of riders transported, trips in a given timeline, and generate reports based on any information stored in its database. Because Easy Rides uses an open database connected with an MS SQL server, users can develop reports by linking with Excel and Visual Basic with the database. Easy Rides stores all the data collected during reservations, scheduling and dispatching in its database. Through these data the user can generate the summary and statistical information desired. Mobilitat provides five standard reports as well as a general report generator and accessibility to the databse. Figure 9 (page 14) provides illustrated examples of custom customer reports. Since data can be exported into an Excel file, charts and graphs and tables can be produced in xls files. For more detail on what an MS SQL driver does, please see MS SQL Chapter VI. G. Driver Record Keeping Region Nine Development Commission Page 27 Paratransit Software Report June, 2009 Easy Rides provides a driver record-keeping feature to record driver training, license number, years in service, disciplinary record (memo field) and on-time performance. H. Instillation on a Computer Network Mobilitat can install Easy Rides software on any networked server. Easy Rides is a stand-alone application that can interface with a conventional MS SQL server. According to Cindy Johnson, Oracle databases are used primarily overseas but aren’t common place in the United States. I. Computer Hardware Equipment requirements vary according to the size and activity of the customer. Like any software, performance will improve with faster processing speeds and increased RAM (memory). Essentially, the performance of the software is dictated by the ability to process information and access memory by each individual computer. The computers used must have the resources to process the visual interface and the server requires resources to manipulate the data. In addition to the computers used, the performance of the software is also heavily reliant on the server as well as the speed and stability of the network connectivity. The following minimum requirements are needed per workstation: Intel Pentium III Processor at 700 MHz and 256 MB RAM (for small systems) Intel Pentium IV Processor at 1.5 GHz and 512 MB RAM (for larger systems) MS Windows XP Pro (will run in Windows 2000 Pro) Microsoft Office 20 GB hard drive Available USB port CD ROM drive Network connectivity Recommended 19” or lager viewable screen monitor (scheduler and dispatcher), 17” viewable screen monitor (reservations) Mouse or other pointing device The following minimum requirements are needed per server: Intel Pentium Processor at 1.7 MHz and 1 GB RAM Microsoft Windows XP preferred or Windows Professional/Server 2000 Microsoft Office MDSE or MSSQL server installation compatibility 40 GB hard drive Available USB port Region Nine Development Commission Page 28 Paratransit Software Report June, 2009 CD ROM drive Network connectivity Backup media 17” monitor Shared or network printer Mouse or other pointing device J. Training and Documentation: Based on an RFP submitted to Region 9 in 2005, Mobilitat provides the following training: Driver training Dispatch staff training Management training Technology support staff/system administrator training The staff provided on-site training for VINE: Faith in Action in Mankato, Minnesota. Training was conducted over a four-day period and was conducted by Mobilitat staff and Cindy Johnson, President of Mobilitat. Additional follow-up training was conducted on two separate occasions, three trips in all, concluding with an advanced follow-up training after one to two months. VINE used this software to enhance its volunteer driver program, and according to transportation manager, Carol Clark, the set-up required a great deal of customization. The training and implementation was broken down into four distinct tasks: Task 1: The purpose of this task was for the job site to prepare for the first Mobilitat trip and facilitate on-site installation. The process involved was as follows: VINE sent a copy of their electronic database to Mobilitat and prepared a detailed list of fully customizable parameters. As a volunteer driver service, these included: drivers, mileage, and routes. In this phase, Mobilitat also asks for approximations of the geography of the area. Mobilitat then reviewed the information at their headquarters to better prepare for installantion and implementation. VINE was asked to modify the electronic database according to suggestions made by Mobilitat. The modified database was then sent back to Mobilitat. Task 2: This occurred during the first trip. The objective was to install, implement and provide initial training. On Day 1: Cindy Johnson met with VINE’s transportation personnel to establish a final set of local parameters. Emphasis was placed on things such as: funding, Region Nine Development Commission Page 29 Paratransit Software Report June, 2009 provider, rates, fare types, driver zones, GIS boundaries, and jurisdictions. Cindy also acted as a consultant to provide training as the work was performed. During Day 1, Cindy installed the Easy Rides software on each of the workstations and installed the GIS software. During Day 2, VINE and Cindy Johnson worked together to further define the local parameters and input the parameters into the computer. Again, training was conducted hands-on as the work was being performed. During Day 3, Cindy and VINE staff worked to input local addresses to manually geocode addresses missed by the Automatic Geocoder from day 2. This is also the phase in which drivers were trained in the use of driver manifests. Additional Mobilitat staff was on hand to help VINE create a schedule and create driver manifests for day 4. During Day 4, VINE was able to begin dispatching drivers using Easy Rides. Additional staff from Mobilitat headquarters helped provide additional trading in a web-based encrypted and secure virtual meeting program. Task 3: This was conducted during the second trip to VINE. The objective of Task 3 was to resolve any problems that had come up since the last meeting, and provide further training for scheduling, dispatching, and reporting. This training lasted approximately 1 and ½ days. Task 4: This was the third and final trip Mobilitat made to VINE’s offices and was done to resolve any problems that arose since their last visit. Like Task 3, this training lasted approximately 1 and ½ days and was conducted by Mobilitat staff and Cindy Johnson. The request was made to provide Mobilitat with a conference room and a white board and a 6’ table as a minimum for the exclusive use of the Mobilitat training staff while working on site. According to the RFP, this procedure was consistent with previous training experiences with other implementations the size of VINE – a small volunteer transportation provider. This was done to bring the training and implementation to the site in which it was to be used and enhance the training by allowing the user to work with the software using local data. Prior to implementation with VINE, Mobilitat’s previous attempts to train using sample data rather than real data for integration and implementation were not as effective. The initial training was completed within two weeks after the award of the contract. In the RFP an offer was also made for additional advanced training as needed after the 4Task training was completed. The cost was negotiable and VINE staff never requested the additional training. Upon completion of training and installation, Mobilitat provided VINE with copies of user handbooks on CD. K: Warranty and Quality Assurances: Region Nine Development Commission Page 30 Paratransit Software Report June, 2009 Mobilitat warrants that on the acceptance date, the software furnished is free from significant programming errors and defects in workmanship materials. Mobilitat warrants that any and all software issues, reported by other clients will be disclosed in writing before purchase commitment. These include reported issues that Mobilitat disputes. Mobilitat warrants that the software will operate and conform to the performance capabilities, functions, and other descriptions and standards as identified in their contracts and all supplemental information provided by Mobilitat. Mobilitat warrants that the software purchased will be delivered on schedule, and that contract services will be performed in a timely and professional manner, reasonably close to the schedule provided in the project plan (subject to approved updates). Mobilitat warrants that qualified, professional personnel will perform all work and services as described in the contract. Mobilitat warrants that the services and software will conform to the standards generally observed in the industry for similar services and software. Mobilitat warrants that the software, its license to and use by the user, and the performance by licensor or the services, will comply with all applicable laws, rules and regulations. Mobilitat warrants that the licensor will repair or replace, at its own expense, any defect in the software or the documentation the user identifies at any time during the twelvemonth period immediately following the signature of contracts. Software modifications implemented by Mobilitat to repair or replace software source code will extend this warranty so that the user has twelve months from the date of written approval of installed updates to identify other errors or defects. Mobilitat will resolve, at its sole expense, the infringement in a manner agreed to by the user via one of the following methods: A. Modify the software and/or documentation so that it is noninfringing; B. Obtain a license for the user to continue using the software and/or documentation; C. Substitute the software and/or documentation with other software and/or documentation reasonably suited to the user; or Region Nine Development Commission Page 31 Paratransit Software Report June, 2009 D. Terminate the license for infringing software and/or documentation and refund the license fees and all other contract costs and fees paid for the infringing products. Mobilitat warrants that the software provided is free from intentional viruses or other intentional programming defects. Mobilitat warrants that no person, organization, owner or web site, or other resources will be subject to lawsuit, or request for civil remedies, based on work performed related to the project and its contracts. In addition to the warranty outlined above, Mobilitat provides toll-free telephone support during normal business hours (6 a.m. – 5 p.m. Mountain Time), and is capable of solving any software-related problems. Mobilitat also provides an emergency phone number for contact outside of normal business hours. L. Software Upgrades: Mobilitat offers its customers no-cost upgrades during the duration of their support agreement with the user. Authorized customers may download upgrades from the Mobilitat website (www.mobilitatsoftware.com). M. System Backup: System backup can be performed via external media using utilities provided by Mobilitat. To minimize the amount of down time due to a system failure, the following steps are taken: Prior to system failure: The user will receive an Easy Rides installation disk. On a daily basis the user is expected to create backups of their database. In the event of a system failure: The Easy Rides system will be installed either permanently or temporarily on a different computer in the network. Both the Easy Rides installation disk and the database backup are required to perform this installation. Mobilitat staff will be available to answer questions, walk through installation, or perform the installation via remote-control software. The proposed system must have the following components during installation: SQL Server Database, Easy Rides installation, and GIS information. These components will be installed in one of the areas listed below: In the server (single computer) with an SQL database and Easy Rides software installed. Region Nine Development Commission Page 32 Paratransit Software Report June, 2009 On a workstation (multiple computers) with shortcuts to Easy Rides program on the server and GIS information. The process for data migration is as follows: The user will submit their data in electronic format to Mobilitat three weeks prior to the installation. The data will then be used to develop a conversion program to move the data into the Easy Rides database. The three-week period will allow for testing and data migration. The physical conversion will take place when Mobilitat staff arrives at their headquarters in Chattanooga, Tennessee, to perform the installation. Routematch: A. The Company RouteMatch Software is headquartered in Atlanta, Georgia, with seven additional offices across the United States. It comprises a team of software engineers, Internet technologists, computer scientists, management information experts, database management professionals, and transportation consultants. RouteMatch is dedicated to the success of its clients and has been established around a philosophy of building stateof-the-art technology and professional services, while providing unparalleled customer support and maintenance. According to the Rout Match website, www.routematch.com, their technological vision is to minimize the total cost of ownership (TCO) of the software solutions used in the Transportation Sector while increasing the benefits of automation and cost savings derived from world-class software. RouteMatch pioneered the use of hosted Applications, commonly called the ASP model, in its sector and has created business models that dramatically decrease the upfront costs and risks normally associated with traditional software implementation projects. As a trusted partner and technology supplier, RouteMatch realizes that in the world of mission critical ITS technologies, success can be fleeting unless continued support is provided. It realizes that its success depends upon the success of its customers. For that reason, its customers are a never-ending focus as they leverage their market position to provide the very best support and ITS technologies available. Additionally, RouteMatch has four offices in Minnesota. They have installed software in 245 public, private, and non-profit transit entities in 43 states. B. The Software Region Nine Development Commission Page 33 Paratransit Software Report June, 2009 RouteMatch sells three distinct software products, and the difference is in the level of automation that you get. Full automation (like Ecolane) costs more, while less automation costs less. Their three basic software services are: 1. RouteMatch TS Fully Automated Scheduling and Routing 2. RouteMatch PM Computer Assisted Scheduling and Routing 3. RouteMatch XP Manual Scheduling and Automated Data Management These three provide ability to easily mix and match feature and functionality to deploy the system that meets operational needs. They are scaleable to easily upgrade to more advanced functionality. All RouteMatch’s screens provide a “plug in” architecture to add additional modules as needed. Image courtesy of: RouteMatch Above is a screen shot of a typical trip ticket. On the left side of the screen there are 9 distinct applications: Reporting Region Nine Development Commission Page 34 Paratransit Software Report June, 2009 Customers Vehicles Drivers Trips Scheduling Dispatching Verification Funding Sources The trips screen works in real-time to help the dispatcher schedule rides. On the upper left-hand side of the screen there is a client list. This includes every person in the database and is fully searchable. To add multiple riders to a trip, simply hold down the *Shift* key and scroll to the second rider. On the top of the screen there is the rider’s name, time of scheduled trip, and a confirmation code. Beneath that box, there are pickups and dropoff boxes that help the scheduler coordinate ride schedules. There is also a tab on the right-hand side of the screen that indicates previous trips – which are archived with the rider after every trip and easily accessed for future rides. Other boxes with drop down tabs include: Funding Source Fair Type (with a comments box) Mobility Type Of particular note is near the bottom of the screen. There is an icon for the number of attendants with a billing category in the form of a drop-down tab that allows the person entering the trip to simply scroll and choose from any number of imputed billing agencies. Image Courtesy of RouteMatch This is where you can combine passengers to incorporate multiple riders and add features such as: Isolate from other passengers Service animal with customer Car Seats Region Nine Development Commission Page 35 Paratransit Software Report June, 2009 And directly below that, you can click on an icon and make the trip into a “Standing Order” that repeats itself on a calendar cycle – i.e. every hour, every day, once per month, etc. Features: 1. Customers module: In the Toolbar there is a list of all customers in a transit operator’s directory. You can then utilize the SEARCH feature (which is good for the large customer database that the state of Minnesota will use) to narrow your search. 2. Custom Field Tabs: You can add up to 10 custom field tabs. 3. Audit Log: you can look up changes made by administrator, date, and time. For example, why was “Elizabeth Miller changed from Ambulatory to wheelchair?” 4. Vehicles Module: The vehicles screen allows the user to add, edit and delete vehicles and vehicle-related information such as Vehicle ID, VIN Number, Route Color, and more. 5. Drivers Module (all these modules are on the left with toolbars on the bottom): The drivers screen allows the user to add, edit and delete drivers and driver-related information such as phone, address, comments, and Onboard vehicle device. 6. Trips Module: The trips screen allows the user to insert or schedule a Trip in Standing Order in realtime. There is a tab for funding source here, and it is customizable based on the transportation operator’s needs (example: ADA). 7. Address Module: The address screen holds all GeoCoded addresses and makes it easy to search, add and edit addresses with the click of a button. 8. Reporting: There are multiple ways to get information: Region Nine Development Commission Page 36 Paratransit Software Report June, 2009 Standard Reports (drivers manifest, turn-by-turn directions, productivity reports, cancels and no-shows, operating statistics, will calls, etc.), Ad-Hoc Report Wizard, RouteMatch Custom Reports, Open Database. All these reports are bundled with the software package. Numerous Standard Reports can be run with the click of a button, exported into PDF, Excel, Word, or a variety of different data processing applications. This adds to the ease of printing data reports or manifests. User Defined Reports allows the user to create a report in five steps. All information within the RouteMatch application can be reported on, and even customized with custom fields. Why RouteMatch? Online Help: Support and Maintenance There is a 1-800 number for technical support, 24/7 To achieve efficiency of customer service, there is a remote access to the agency’s server Dedicated account managers Detailed User Manuals Detailed Online Help Screens Frequent software updates and upgrades State and Regional user groups Annual user conference Feature requests Detailed issue reporting Scheduling: RouteMatchTS ™ allows you to do batch scheduling. You can take all reservations for the day, batch them and insert the trips into your scheduling component. ROUTEMATCH SELF SERVICE PHONE has an IVR = Interactive Voice Response system Region Nine Development Commission Page 37 Paratransit Software Report June, 2009 CTS A. The Company CTS (Community Transit Systems Software, Inc.) has been in the transportation industry for 26 years. It was founded in 1982 as a rural community transit organization and has grown to manage numerous transportation entities across North Carolina, South Carolina, and Florida. From that growth, a need arose for a software program that would help organize and facilitate the daily duties of CTS staff. Out of that need, CTS’ Trip Master ™ software was born. President and CEO, Huck Venters, created Trip Master ™ as a comprehensive Transportation Management System specifically for the paratransit industry. In 1996, CTS sold the transportation branch of the business and refined its focus primarily to the software. CTS’ Trip Master ™ software includes the following features: Scheduling Validation Reporting Billing The expressed benefits of using CTS software are: Customized state reporting Customer service On-site training Unlimited free technical support Adam Fox, Marketing Manager for CTS, has agreed to allow Mn/Dot and DHS, as well as Region 9 (or anyone associated with this project) a 6-month free trial of CTS software. He believes the software sells itself and in good faith he will extend the offer to anyone who may want to use it in the entire state of Minnesota. Additionally, Fox is available for immediate install. Additionally, CTS is in the process of finishing up a new version of its Trip Master ™ software that will provide upgraded features with added cost. CTS expects to launch this software in the summer of 2009. The current package, according to Fox, is still, “extremely functional” and would cost approximately $3,000 upfront and $500 per month thereafter. While this report does not focus on cost, Fox claims that this rate is well below any other paratransit software package available today. This software will be fully web based with a terminal services application. The current plan is online but not truly web based, but currently has a browser face. Region Nine Development Commission Page 38 Paratransit Software Report June, 2009 B. The Software Adam Fox concedes that many software packages on the market today can do more than what CTS Trip Master ™ software can do, but Fox refers to Trip Master ™ as the, “Burger King” model of paratransit software. CTS software is fully customizable and will tailor its software features to any transportation provider’s needs. According to Fox, it will give transit providers exactly what they need and weed out the unwanted features. In his opinion, there is no need to spend the extra dollars on a package that would work in a giant metro like Chicago or Seattle in areas of Minnesota that wouldn’t need it. Among the limitations of CTS’ current Trip Master ™ software is that it does not have a customizable data entry screen, or photo I.D. tag in its rider information screen. The features: Instant Billing and Customizable Reports CTS’ Trip Master ™ software has 11 different invoices and can submit claims electronically. Trip Master ™ can produce up to 20 customizable reports ranging from On-Time performance to Revenue Data. All reports can be exported to most formats, including Excel and PDF. Here is an example of the Revenue Data reporting screen: Region Nine Development Commission Page 39 Paratransit Software Report June, 2009 There are drop down tabs for the date of the selected data, as well as the exported format – in this case, Excel. The data can be date specific or a range (i.e. between 02/01/2008 and 02/01/2009). Revenue reports can be generated for both rider and provider and include some custom data farming features: o o o o o o o o o Is the person disabled? Rider name Site Trip number Vehicle number Purpose of the ride (for providers) Account number Driver Group specific queries Another example of a generated report would look like this: Images courtesy of CTS Software Inc. Scheduling: Trip Master ™ has Computer Assisted Scheduling to ensure that passengers and trips are a perfect match. Dispatchers can edit, deleted, or move riders from trips as needed. Region Nine Development Commission Page 40 Paratransit Software Report June, 2009 This scheduling screen classifies riders into three distinct categories: scheduled trips, reserved trips, and new reservations. By simply right clicking or “dragging and dropping”, passengers can be shuffled around as needed for logistical purposes. Trips already in transit cannot be altered. Manifests, dispatch and trip logs can be printed on any one of 12 driver trip sheet formats. Here is one example of a driver manifest: Images courtesy of CTS Software, Inc. Maintenance: Maintenance logs are found in the Maintenance Plan screen. Here there are three distinct boxes: one for scheduled maintenance, one for services, and one for vendor. Additionally, there is one spot on the bottom right of the screen for a fully customizable feature. Region Nine Development Commission Page 41 Paratransit Software Report June, 2009 This maintenance plan can be exported into datasheets and used for accounting purposes. Additionally, the Trip Master ™ Maintenance Module alerts users before the vehicle needs service and can automatically create repair orders to send with the vehicle repair shop. The Master Maintenance Module indicates last date serviced, odometer of last service date, current odometer, next service odometer and provides the difference between the two, as well as mileage elapsed since last service. Region Nine Development Commission Page 42 Paratransit Software Report June, 2009 Images courtesy of CTS Software, Inc. Above is an image of a typical Repair Order. C. Database CTS uses a Sequel background with a sequel database. Like Cindy Johnson of Mobilitat, Jagat Shah of Shah Software, and Ryan Larsen of Ecolane, Fox believes that there are few, if any, paratransit agencies that use an Oracle 10g or 11g database. Trapeze A. The Company Trapeze Software Group was founded in 1990 and is headquartered in Mississauga, Ontario with branch offices in Scottsdale, AZ; Cleveland, Ohio; Virginia Beach, VA; Denmark, Manchester; United Kingdom; Germany; and the Netherlands. With 200 employees, three partners (including Mentor Engineering, Ontira Communications, and Greyhawk Technologies Inc.), and a board of six executives, Trapeze is one of the largest paratransit software agencies in the world. Trapeze provides paratransit software to hundreds of government and commercial organizations across Europe, North America and Asia Pacific. Region Nine Development Commission Page 43 Paratransit Software Report June, 2009 B. The Software: Trapeze provides automated scheduling and dispatch software for a variety of transportation agencies. The various software programs available depend, largely, on the client’s needs. Trapeze offers software custom fit the following subcategories (broadly defined by Trapeze): Public Transit (both large and medium size industries), Intelligent Transit Solutions, Regional Transportation, Ridesharing & Alternative Commuting, Medical Transportation, Management Companies, School Transportation, and Community Transportation. 1. Public Transit Trapeze divides its public transit software packages into large and medium (which Trapeze also refers to as “smaller”) transit “solutions”. Large Transit Solutions: Specifically geared towards large transit operations with more than 100 vehicles and thousands of employees. The key concept behind Trapeze’s Large Public Transit package is to continue operating at maximum efficiency while managing the day-to-day operations of multiple divisions on multiple fronts while staying on top of opportunities to expand and grow rider services. Fully customizable, Trapeze’s Public Transit software for large transit operations automate most of the day-to-day operations associated with planning, managing, delivering, and measuring transit services, as well as connecting data between internal and external systems. We provide comprehensive, customized technology solutions and professional services that enable you to improve services, control costs and optimize the productivity of your resources. Their Public Transit Solutions package for large transit operations includes the following key components: Region Nine Development Commission Page 44 Paratransit Software Report June, 2009 Asset Management. Allows large transit operations to effectively manage their fleet equipment, parts inventory, and maintenance activities. Trapeze software allows the operator to implement preventative maintenance schedules. Here the software allows the organization a unique feature, the ability to “make repair vs. disposal decisions” that are based on actual cost – factoring in costs of replacing the damaged part from acquiring the part until the time it is physically on the vehicle and the vehicle is back in commission. This eliminates the need to base the decisions on purchase price alone. Consequently, Trapeze offers fuel management systems that support continuous, realtime fuel management over most communication platforms, enabling organizations to improve accountability for metered or pulsed fuel and energy lines (including gasoline, diesel, propane, compressed natural gas (CNG), glycol and lubricants). This can reduce fuel costs as much as 15%, and decrease the number of money funneled into unnecessary replacement parts by as much as 10-20%. Planning & Analysis. Through the implementation of “Intelligent Transit Systems” (explained later in sub-category number 2 of the Trapeze chapter in this report), vast quantities of data can be produced that are invaluable for planning purposes. External data including maps (Trapeze is contracted with MapNet for all its mapping resources), Census data, schoold enrollment ADA compliancy, are all included to help transportation and planning managers plan their course of action. This is where the question of relevancy comes into play, what data do organizations need? The various Trapeze reports that can be generated are designed specifically to cut costs, improve service and automate the creation of reports and funding applications through integration of GIS-based tools and scheduling applications. Trapeze further catalogues the data needs into Fixed Route Planning Solutions, and Demand Response Planning Solutions. Trapeze Fixed route planning solutions help agencies understand their routes, ridership and service areas, and plan for changing demand. Features include: Ridership analysis. Analyze ridership data, identify key patterns and develop reports Schedule adherence. Maintain optimum service levels using GPS data Reporting. Automatically generate NTD Form 406 random samples reports, ad hoc and standard management reports Demographic analysis. Use spatial tools to obtain a better understanding of current and future riders. Location analysis: spatially analyze transit and location data for better service planning Demand forecasting: Analyze the effect of service changes and other factors on the propensity of specific groups to travel. Region Nine Development Commission Page 45 Paratransit Software Report June, 2009 Trapeze Demand Response planning solutions enables agencies to find operational efficiencies that will ultimately lead to huge cost savings over time. These features include: Travel training. Find the best candidates for fixed route travel training comparing historical trip information to fixed route data. Flexible routing. Use historical paratransit data to help design efficient flexible routes. Schedule & vehicle optimization. Reschedule trips based ‘what if’ scenarios. Routing & Scheduling. Manage the complexities of a large operation with fully automated routing (like Ecolane), timetabling, blocking, runcutting and rostering modules. Operations Management. Lower costs through better resource management and allocation, improve the productivity of bidding, dispatch and timekeeping teams and provide driver training to decrease operational costs while improving the passenger experience. This includes sign ups, daily dispatch, timesheet processing, workforce management, vehicle and yard management, and driver training. The idea here is that Trapeze Operations Management screens will help to lower costs and increase overall productivity through better resource and time management. Customer Information. Delivers a range of information and interactive communication services to passengers using call centers, web sites, automated phone systems , in-vehicle and wayside systems. Customer Information refers to how the software connects riders from point A to point B while minimizing transfers. This aspect of the software also focuses on the closes accessible stop, and when the next vehicle is leaving the station. Trapeze uses the following media: Call centers Websites Automated phone (IVR) systems Wireless devices All of these features can be bundled to integrate with their Intelligent Transit System (ITS), seen in the next chapter in this report. These include real-time vehicle location systems, connectivity to wayside kiosks, and on-board display systems. Consequently, Trapeze customer services are lined with The Google Transit Trip Planner. Google Transit Trip Planner is an online service that allows the public to Region Nine Development Commission Page 46 Paratransit Software Report June, 2009 customize their transit trips online. For customers with Trapeze FX™ and one of Trapeze’s Traveler Information products that are current or up-to-date with their annual maintenance program, a Google export tool is available for no additional license fee. The Trapeze export tool for the Google Transit Trip Planner enables transit agencies to export their schedule data to the service and is compatible with Trapeze Version 461 or higher. The export tool for Google Transit Trip Planner requires Trapeze FX and one of Trapeze’s Traveler Information Solutions: Integration with real-time information Multi-modal trip planning including demand response transfers to fixed route Personalized subscription services providing travellers with transit information when and where they want it Data capture for improved operational performance Ability to fine tune trip planning results based on ‘real world’ requirements Integrated voice response (IVR) functionality Online trip planning capabilities Transit Intelligence. Trapeze Transit Intelligence solutions assist all levels of transit management in making informed and timely business decisions by putting key performance indicators for each functional area of the transit business at their finger tips (for more information on the technological “Intelligence Solutions”, please see the next section of this report labeled “2. Intelligent Transit Solutions”.) Mobile Computing and GPS utilizes real-time GPS/AVL and schedule adherence data, enabling quick information access for critical decision-making, safety of drivers and passengers, and on-time performance. Additionally, Trapeze can integrate mobile computing and GPS technologies to optimize dispatch capabilities. Small/Medium Transit Solutions: Trapeze has a smaller package designed specifically for transit operations with fewer than 100 vehicles and less funding for IT services. Small/Medium Transit Solutions offer fewer features, but at much less cost. Many of the features available for Larger Transit Solutions, are available in the smaller package as well. Features such as: Planning Scheduling Region Nine Development Commission Page 47 Paratransit Software Report June, 2009 Dispatch Resource Allocation Customer Information Essentially, this feature will scale itself and tailor its features to fit with smaller transit operations. 2. Intelligent Transit Solutions The features of the software varies between these applications, but a general idea of the hardware available for Trapeze equipped vehicles (both fixed route and demand response) looks like this: Image Courtesy of: www.trapezegroup.com Trapeze refers to its software as an innovation in Intelligent Transit Systems. Essentially, this refers to what the software can do in: Back Office Foundation Vehicle Systems Dispatch Systems Rider Services Region Nine Development Commission Page 48 Paratransit Software Report June, 2009 Mobile Internet Café ™ Demand Response Systems Back Office Foundation refers to the software’s ability to deliver the tools and real-time data that transit staff and managers need to plan, manage and deliver better services. Specifically, these are the types of reports that can be generated using Trapeze software: Route planning Bus Stop management Scheduling, Runcutting and Rostering Timekeeping and payroll Workforce management Schedule aherance Ridership analysis Demand forecasting Standard and ad hoc reporting Vehicle Systems: Trapeze has the following systems that can be fully integrated into transit vehicles: Automatic voice communications control Instant text messages to and from the vehicle Driver command consoles Electronic faring systems Automatic passenger counting (CountRiteTM ) Bus Rapid Transit (BRT) operations signal priority expediting Vehicle health monitoring Video surveillance Automatic announcements and rider services Trapeze Dispatch Systems help dispatchers and operations centers manage services, communicate with customers and managers and capture data. The software allows transit operators an opportunity to monitor and manage a variety of elements in real time, including: Point-and-click route deviation Real-time computer assisted dispatch Real-time automatic vehicle location Vehicle optimization Region Nine Development Commission Page 49 Paratransit Software Report June, 2009 Resource allocation Real-time executive information Customer service Mechanical data Trapeze Rider Services offer a range of technology solutions. Delivering real-time information to transit riders, transit agencies and operators can offer real-time stop requests and communicate agency news, safety messages and points of interest along the route. Additionally, Trapeze allows transit agencies the ability to stream locationbased advertising and entertainment directly into their vehicles. Some of the benefits, as outlined on the Trapeze website (www.trapezegroup.com) of Trapeze’s Rider Services, include: Simple aural and visual annunciation preparation using PC-based tools (NextStopManager™) Clear, precise aural and visual announcements (NextStopTM ) Automatic location- or event-based announcements Video alternative for richer, multimedia rider experience Multilingual capability (audio and text) Manual and automatic triggering of canned messages Full-motion video and passenger entertainment Live video streaming through a broadband channel Plug-and-play wireless integration Vehicles equipped with Trapeze software are connected to wireless Internet (high speed mobile broadband networks). Trapeze can set up a mobile broadband network along any transit route or high-density transit corridor that enables data communication at speeds up to 100 times faster than conventional wide-area systems. This is what Trapeze refers to as its Mobile Internet Café ™, with the following benefits: Enriches rider experience on high-density transit corridors Attract and retain passengers with convenient, value added services Entice more business commuters by providing seamless connectivity to home and the office Surf the Web and check e-mail using laptops, PDAs, mobile phones and other devices Control bandwith with appropriate tools Region Nine Development Commission Page 50 Paratransit Software Report June, 2009 Demand Response Systems Trapeze provides a variety of software applications, mobile hardware products, and integration services to support real-time vehicle location and passenger information data. Trapeze has equipped transit fleets as small as 4 vehicles to as large as 300 vehicles, for demand response, flexible routes, and multi-modal operations. Image Courtesy of trapezegroup.com Demand Response mobile technology includes integration of: Mobile computing for Trapeze and NOVUS dispatching solutions Mobile hardware components, including mobile computers and GPS Alternative affordable hardware solutions such as handheld devices Integration of additional ITS components such as on-board cameras Additionally, Trapeze’s mobile computing and GPS solutions allow for up-to-the minute location of drivers and passenger trips, increased safety, dispatch management, and ontime performance. Dispatchers can view real-time location of vehicles on a map Drivers can receive and view an electronic manifest, with real-time changes Text communications between dispatch and drivers Automatic entry of trip performance data into the dispatch system Region Nine Development Commission Page 51 Paratransit Software Report June, 2009 3. Regional Transportation The Regional Transportation branch at Trapeze focuses on managing transportation operations across a wide region. Software available for these organization require data management from numerous and wide ranging systems. Trapeze can tailor software to integrate data from those disparate systems for purposes of planning. Of particular interest to this scope of work, Trapeze’s Regional Transportation Department works with regional authorities and other agencies. Using MS SQL drivers, they are able to accumulate large quantities of data – essential for regional planning over a large area. 4. Medical Transportation Trapeze develops automated systems that manage the provision of medical transportation, including: Reservations Scheduling Real-time dispatching Fully customizable, their medical transportation software is browser-based (like Ecolane) with GIS mapping services and automated reporting, invoicing and claims reimbursement applications available. 5. Ridesharing and Alternative Commuting Trapeze has a ride share divisions that customizes software to find solutions that match commuters with many kinds of shared transportation, including carpools, vanpools, public transit, park-and-ride, and cycling routes, as well as daycare and telecommuting centers. Their commuter software, Trapeze RidePro3 connects thousands of commuters with ride sharing opportunities. These solution components are directly from the Trapeze website and are specifically geared towards carpoolers: Solution Components Region Nine Development Commission Page 52 Paratransit Software Report June, 2009 Fast, Automated Matching. Use GIS-based techniques to perform specific matches by time of day, obstacle recognition, employer restriction, same sex matching, route-to-work corridor matching, time flexibility and more. Results in seconds with even the largest databases. Convenient Web Interface. Allow commuters to register online and perform self-service ride matching. Employers can manage registrants over the web. Single database design eliminates need to transfer or replicate data. High Capacity. Performs effectively even on databases with as many as 400,000 commuters. Integrated Vanpool Matching and Rostering. Define the entire vanpool service area, route and stops graphically on a map. Track drivers and riders and perform cluster analyses quickly and easily. Advanced Reporting. Reduce time and effort spent tracking matching activities and marketing efforts using numerous predefined reports plus a built in report generator. Integrated Mapping. Easily maintain mapping data through high performance graphical map displays. Geocode locations by address, cross street, postal code or by clicking on map image. Efficent Communication Tools. Keep users up to date in print or email with easy to use email merge features. Automatically contact commuters for online renewal of registration. Guaranteed Ride Home Tracking. Manage GRH trips, track funding sources and monitor the cost of each voucher. Coordinate with Neighboring Rideshare Service Providers. Support multiple agencies using a single database while keeping data separated for reporting purposes. While this has little to do with regional collaboration of transit operations, it does reflect Trapeze’s ability to integrate multiple data streams to coordinate many different vehicles and riders on a large scale. 6. Management Companies The Management Companies branch of Trapeze helps transit organizations satisfy business objectives of the management team, key stakeholders, and shareholders. This Region Nine Development Commission Page 53 Paratransit Software Report June, 2009 team offers solutions that can help achieve those objectives. The idea is that these solutions will offer: Greater efficiency, Productive deployment Accurate measurement Reduce cost Offer better value for local and state-wide services These solutions include: Routing, scheduling and Location Management. Planning and optimization operations for different transportation modes. Operator and Vehicle Scheduling. Operations Management. Customer Information allows transit operators a chance to deliver a range of information and interactive communication services to passengers using call centers, web sites, automated phone systems, in-vehicle and wayside systems. Monitoring and Analysis: software and tools for spatial and statistical analysis. Intelligent Transit Systems: (see subcategory 2). 7. School Transportation Trapeze’s School Transportation division is geared towards school transportation services with challenges and safety concerns and increasing enrollment. Trapeze systems integrate features that enable school transportation providers to track real- Region Nine Development Commission Page 54 Paratransit Software Report June, 2009 time vehicle locations, keep parents and staff informed, manage school bus fleets and report on key indicators. Again, fully customizable and capable of the following features: Automated Routing and Scheduling offers lower costs and safety in transportation. Additional benefits include accurate information, automated routing, scheduling and dispatch functions. Integrated, editable maps, drag-and drop stop, address geocoding, and block and stop features are also available through Trapeze’s School Transportation software. Automatic Vehicle Locations (AVLs) are real-time vehicle tracking tools including Global Positioning System (GPS) technology. Fleet Management is designed to promote more efficient vehicle operation while managing inventories, work and purchase orders, maintenance schedules, fuel consumption and reporting requirements. Redistricting provides forecasts and transportation with tools that enable transportation organizations to work with historical, current and projected data and build different boundary scenarios. School Trip Management offers tools that streamline school trip management, estimates, billing, dispatch and reporting. Special Education Transport features are found in Trapeze’s VEO software for special education transport. It is the only software product on the market designed to meet the needs of special education school districts and transport providers. Transportation Information via Web and IVR makes information available to parents, staff, drivers, schools, depots and the public through a Web site or an automated telephone (IVR) service. Region Nine Development Commission Page 55 Paratransit Software Report June, 2009 Transportation for Higher Education (Colleges and Universities) software is also available. 8. Community Transportation Trapeze serves smaller community transportation entities with its new Novus ™ software that it claims is affordable, easy to install, and browser based. The software helps community transportation providers an opportunity t o cut costs while continuing to provide secure, reliable and convenient services with the following features: Automated scheduling and dispatch delivers improvements in operational efficiency and productivity for demand response, fixed or flexible route and other types of service. Advanced reporting capabilities reduces the time and effort required to produce standard, ad hoc and custom reports. Affordable mobile computing/ITS improves service quality and efficiency with end-to-end intelligent transit systems scaled for small operations. ASP hosted and rental solutions reduces operating costs, IT support requirements and other headaches by letting us host and maintain your system. Comprehensive, 24/7 customer service provides community transportation providers with rapid response to technical issues with online and live-operator call center support. Mobile Computing and GPS offers real-time GPS/AVL and schedule adherence data. C. Database Like most other paratransit providers, Trapeze uses an MS SQL database (see MS SQL chapter in this report), but can be fully integrated using Oracle drivers as well. Shah Software Jagat Shah, owner and CEO of Shah Software, has used his regional coordinated plan in West Texas. This can be a prototype for the 87-county Minnesota coordinated plan. He believes that coordination between ALL transit systems in the state of Minnesota could be a logistical nightmare. He also believes that it is “do-able” but says that transportation providers should be broken down into “Primary Providers” and/or perhaps by region. Region Nine Development Commission Page 56 Paratransit Software Report June, 2009 He also said that Shah Software uses Navteq mapping, which is bundled with the software package. This can be fully integrated. His software uses a “cascading logic” to prioritize the reservations that he says are, “all placed into a big basket.” The first priority is to get the rider to his or her destination on time. The second primary focus is on location. The 3rd priority is on the agency itself. Essentially the goal is to minimize the number of miles your vehicle drives. Jagat also says that his software does not currently have a web-based interface component to it, but he can make one. V. Crystal Reports Part V. Crystal Reports, and Part VI. SQL is research directly from www.wikipedia.org. Their write ups on these pieces are top notch, and, in my opinion, the most comprehensive explanation of Crystal Reports and MSQ on the web! Crystal Reports is a software application used to design and generate reports from a variety of data sources. Several other applications, such as Microsoft Visual Studio, bundle an OEM version of Crystal Reports as a general purpose reporting tool. Crystal Reports became the de facto report writer when Microsoft released it with Visual Basic. Origins The product was originally created by Crystal Services Inc., which produced versions 1.0 through 3.0. The company was subsequently acquired by Seagate Software, which later renamed itself Crystal Decisions, and produced versions 4.0 through 9.0. Crystal Decisions was acquired in December 2003 by Business Objects, which has so far produced versions 10, 11 (XI) and the current version 12 (2008). Business Objects was acquired by SAP on October 08, 2007. Features Report designer Users install Crystal Reports on a computer and use it to select specific rows and columns from a table of compatible data (see "Supported data sources" below). Users can then arrange the data on the report in the format needed. Once the report layout is complete it is saved as a file with the extension RPT. A report can be rerun anytime by reopening the RPT file and 'refreshing' the data. If the source data has been updated then the refreshed report will reflect those updates. The report can then be previewed Region Nine Development Commission Page 57 Paratransit Software Report June, 2009 on the screen, printed onto paper or exported to one of several different file formats such as PDF, Excel, text, CSV or other. Report formats can vary from a simple column of values to layouts featuring pie charts, bar charts, cross-tab summary tables and nested subreports. Crystal Reports is designed for "presentation quality" reports so there are many options for enhanced formatting. Supported data sources Accessible data sources include the following: Databases such as Sybase, IBM DB2, Ingres, Microsoft Access, Microsoft SQL Server, MySQL, Interbase and Oracle Btrieve Spreadsheets such as Microsoft Excel Text files XML files Groupware applications such as Lotus Notes, Microsoft Exchange and Novell GroupWise Any other data source accessible through a web service, ODBC, JDBC or OLAP. Development Crystal Reports comes integrated with Visual Studio. Crystal Reports allows Java developers to build applications with Crystal Reports components. VI. MS SQL Part V. Crystal Reports, and Part VI. SQL is research directly from www.wikipedia.org. Their write ups on these pieces are top notch, and, in my opinion, the most comprehensive explanation of Crystal Reports and MSQ on the web! Used by Ecolane, Mobilitat, and RouteMatch MS SQL drivers allow for easy generation of large amounts of data into Excel, Microsoft Word, and Crystal reports. Genesis SQL Server Release History Region Nine Development Commission Page 58 Paratransit Software Report June, 2009 Version Year Release Name 1.0 (OS/2) 1989 SQL Server 1.0 Codename - 4.21 1993 SQL Server 4.21 (WinNT) 6.0 1995 SQL Server 6.0 SQL95 6.5 1996 SQL Server 6.5 Hydra 7.0 1998 SQL Server 7.0 Sphinx - 1999 8.0 2000 SQL Server 2000 Shiloh 8.0 2003 9.0 2005 SQL Server 2005 Yukon 10.0 2008 SQL Server 2008 Katmai SQL Server 7.0 OLAP Tools Plato SQL Server 2000 Liberty 64-bit Edition The code base for MS SQL Server (prior to version 7.0) originated in Sybase SQL Server, and was Microsoft's entry to the enterprise-level database market, competing against Oracle, IBM, and, later, Sybase itself. Microsoft, Sybase and Ashton-Tate originally teamed up to create and market the first version named SQL Server 1.0 for OS/2 (about 1989) which was essentially the same as Sybase SQL Server 3.0 on Unix, VMS, etc. Microsoft SQL Server 4.2 was shipped around 1992 (available bundled with Microsoft Region Nine Development Commission Page 59 Paratransit Software Report June, 2009 OS/2 version 1.3). Later Microsoft SQL Server 4.21 for Windows NT was released at the same time as Windows NT 3.1. Microsoft SQL Server v6.0 was the first version designed for NT, and did not include any direction from Sybase. About the time Windows NT was released, Sybase and Microsoft parted ways and each pursued their own design and marketing schemes. Microsoft negotiated exclusive rights to all versions of SQL Server written for Microsoft operating systems. Later, Sybase changed the name of its product to Adaptive Server Enterprise to avoid confusion with Microsoft SQL Server. Until 1994, Microsoft's SQL Server carried three Sybase copyright notices as an indication of its origin. Since parting ways, several revisions have been done independently. SQL Server 7.0 was the first true GUI based database server and was a rewrite from the legacy Sybase code. It was succeeded by SQL Server 2000, which was the first edition to be launched in a variant for the IA-64 architecture. In the eight years since release of Microsoft's previous SQL Server product (SQL Server 2000), advancements have been made in performance, the client IDE tools, and several complementary systems that are packaged with SQL Server 2005. These include: an ETL tool (SQL Server Integration Services or SSIS), a Reporting Server, an OLAP and data mining server (Analysis Services), and several messaging technologies, specifically Service Broker and Notification Services. SQL Server 2005 SQL Server 2005, released in October 2005, is the successor to SQL Server 2000. It included native support for managing XML data, in addition to relational data. For this purpose, it defined an xml data type that could be used either as a data type in database columns or as literals in queries. XML columns can be associated with XSD schemas; XML data being stored is verified against the schema. XML is converted to an internal binary data type before being stored in the database. Specialized indexing methods were made available for XML data. XML data is queried using XQuery; SQL Server 2005 added some extensions to the T-SQL language to allow embedding XQuery queries in TSQL. In addition, it also defines a new extension to XQuery, called XML DML, that allows query-based modifications to XML data. SQL Server 2005 also allows a database server to be exposed over web services using TDS packets encapsulated within SOAP (protocol) requests. When the data is accessed over web services, results are returned as XML. For relational data, T-SQL has been augmented with error handling features and support for recursive queries. SQL Server 2005 has also been enhanced with new indexing algorithms and better error recovery systems. Data pages are checksummed for better error resiliency, and optimistic concurrency support has been added for better performance. Permissions and access control have been made more granular and the query processor handles concurrent execution of queries in a more efficient way. Region Nine Development Commission Page 60 Paratransit Software Report June, 2009 Partitions on tables and indexes are supported natively, so scaling out a database onto a cluster is easier. SQL CLR was introduced with SQL Server 2005 to let it integrate with the .NET Framework. SQL Server 2008 The current version of SQL Server, SQL Server 2008, (code-named "Katmai",) was released (RTM) on August 6, 2008 and aims to make data management self-tuning, self organizing, and self maintaining with the development of SQL Server Always On technologies, to provide near-zero downtime. SQL Server 2008 will also include support for structured and semi-structured data, including digital media formats for pictures, audio, video and other multimedia data. In current versions, such multimedia data can be stored as BLOBs (binary large objects), but they are generic bitstreams. Intrinsic awareness of multimedia data will allow specialized functions to be performed on them. According to Paul Flessner, senior Vice President, Server Applications, Microsoft Corp., SQL Server 2008 can be a data storage backend for different varieties of data: XML, email, time/calendar, file, document, spatial, etc as well as perform search, query, analysis, sharing, and synchronization across all data types.[ Other new data types include specialized date and time types and a Spatial data type for location-dependent data. Better support for unstructured and semi-structured data is provided using the new FILESTREAMdata type, which can be used to reference any file stored on the file system. Structured data and metadata about the file is stored in SQL Server database, whereas the unstructured component is stored in the file system. Such files can be accessed both via Win32 file handling APIs as well as via SQL Server using TSQL; doing the latter accesses the file data as a BLOB. Backing up and restoring the database backs up or restores the referenced files as well. SQL Server 2008 also natively supports hierarchical data, and includes T-SQL constructs to directly deal with them, without using recursive queries. The Full-Text Search functionality has been integrated with the database engine, which simplifies management and improves performance. Spatial data will be stored in two types. A "Flat Earth" (GEOMETRY or planar) data type represents geospatial data which has been projected from its native, spherical, coordinate system into a plane. A "Round Earth" data type (GEOGRAPHY) uses an ellipsoidal model in which the Earth is defined as a single continuous entity which does not suffer from the singularities such as the international dateline, poles, or map projection zone "edges". Approximately 70 methods are available to represent spatial operations for the Open Geospatial Consortium Simple Features for SQL, Version 1.1. SQL Server includes better compression features, which also helps in improving scalability. It also includes Resource Governor that allows reserving resources for certain users or workflows. It also includes capabilities for transparent encryption of data as Region Nine Development Commission Page 61 Paratransit Software Report June, 2009 well as compression of backups. SQL Server 2008 supports the ADO.NET Entity Framework and the reporting tools, replication, and data definition will be built around the Entity Data Model. SQL Server Reporting Services will gain charting capabilities from the integration of the data visualization products from Dundas Data Visualization Inc., which was acquired by Microsoft. On the management side, SQL Server 2008 includes the Declarative Management Framework which allows configuring policies and constraints, on the entire database or certain tables, declaratively. The version of SQL Server Management Studio included with SQL Server 2008 supports IntelliSense for SQL queries against a SQL Server 2008 Database Engine. SQL Server 2008 also makes the databases available via Windows PowerShell providers and management functionality available as Cmdlets, so that the server and all the running instances can be managed from Windows PowerShell. Editions Microsoft makes SQL Server available in multiple versions, with different feature sets and targeting different users. These versions are: SQL Server Compact Edition (SQL CE) The compact edition is an embedded database engine. Due to its small size (2MB DLL footprint), it has a slightly reduced feature set compared to the other editions. It is limited to 4GB maximum database size and cannot be run as a Windows service, Compact Edition must be hosted by the application using it. SQL Server Express Edition SQL Server Express Edition is a scaled down, free edition of SQL Server, which includes the core database engine. While there are no limitations on the number of databases or users supported, it is limited to using one processor, 1 GB memory and 4 GB database files. The entire database is stored in a single .mdf file, and thus making it suitable for XCOPY deployment. It is intended as a replacement for MSDE. Two additional versions provide a superset of features not in the original Express Edition. The first is SQL Server Express with Tools, which includes SQL Server Management Studio Basic. SQL Server Express with Advanced Services adds full-text search capability and reporting services. SQL Server 2005 Embedded Edition (SSEE) SQL Server 2005 Embedded Edition is a specially configured named instance of the SQL Server Express database engine which can be accessed only by certain Windows Services. SQL Server Workgroup Edition SQL Server Workgroup Edition includes the core database functionality but does not include the additional services. SQL Server Standard Edition SQL Server Standard edition includes the core database engine, along with the stand-alone services. It differs from Enterprise edition in that it supports fewer active instances (number of nodes in a cluster) and does not include some high- Region Nine Development Commission Page 62 Paratransit Software Report June, 2009 availability functions such as hot-add memory (allowing memory to be added while the server is still running), and parallel indexes. SQL Server Enterprise Edition SQL Server Enterprise Edition is the full-featured version of SQL Server, including both the core database engine and add-on services, while including a range of tools for creating and managing a SQL Server cluster. SQL Server Developer Edition SQL Server Developer Edition includes the same features as SQL Server Enterprise Edition, but is limited by the license to be only used as a development and test system, and not as production server. This version is available to download by students free of charge as a part of Microsoft's DreamSpark program. SQL Server Web Edition SQL Server Web Edition is a low-TCO option for Web hosting. Architecture Protocol layer Protocol layer implements the external interface to SQL Server. All operations that can be invoked on SQL Server are communicated to it via a Microsoft-defined format, called Tabular Data Stream (TDS). TDS is an application layer protocol, used to transfer data between a database server and a client. Initially designed and developed by Sybase Inc. for their Sybase SQL Server relational database engine in 1984, and later by Microsoft in Microsoft SQL Server, TDS packets can be encased in other physical transport dependent protocols, including TCP/IP, Named pipes, and Shared memory. Consequently, access to SQL Server is available over these protocols. In addition, the SQL Server API is also exposed over bando web services. Data storage The main unit of data storage is a database, which is a collection of tables with typed columns. SQL Server supports different data types, including primary types such as Integer, Float, Decimal, Char (including character strings), Varchar (variable length character strings), binary (for unstructured blobs of data), Text (for textual data) among others. It also allows user-defined composite types (UDTs) to be defined and used. SQL Server also makes server statistics available as virtual tables and views (called Dynamic Management Views or DMVs). A database can also contain other objects including views, stored procedures, indexes and constraints, in addition to tables, along with a transaction log. A SQL Server database can contain a maximum of 231 objects, and can span multiple OS-level files with a maximum file size of 220 TB. The data in the database are stored in primary data files with an extension .mdf. Secondary data files, identified with an .ndf extension, are used to store optional metadata. Log files are identified with the .ldf extension. Region Nine Development Commission Page 63 Paratransit Software Report June, 2009 Storage space allocated to a database is divided into sequentially numbered pages, each 8 KB in size. A page is the basic unit of I/O for SQL Server operations. A page is marked with a 96-byte header which stores metadata about the page including the page number, page type, free space on the page and the ID of the object that owns it. Page type defines the data contained in the page - data stored in the database, index, allocation map which holds information about how pages are allocated to tables and indexes, change map which holds information about the changes made to other pages since last backup or logging, or contain large data types such as image or text. While page is the basic unit of an I/O operation, space is actually managed in terms of an extent which consists of 8 pages. A database object can either span all 8 pages in an extent ("uniform extent") or share an extent with up to 7 more objects ("mixed extent"). A row in a database table cannot span more than one page, so is limited to 8 KB in size. However, if the data exceeds 8 KB and the row contains Varchar or Varbinary data, the data in those columns are moved to a new page (or possible a sequence of pages, called Allocation unit) and replaced with a pointer to the data. For physical storage of a table, its rows are divided into a series of partitions (numbered 1 to n). The partition size is user defined; by default all rows are in a single partition. A table is split into multiple partitions in order to spread a database over a cluster. Rows in each partition are stored in either B-tree or heap structure. If the table has an associated index to allow fast retrieval of rows, the rows are stored in-order according to their index values, with a B-tree providing the index. The data is in the leaf node of the leaves, and other nodes storing the index values for the leaf data reachable from the respective nodes. If the index is non-clustered, the rows are not sorted according to the index keys. An indexed view has the same storage structure as an indexed table. A table without an index is stored in an unordered heap structure. Both heaps and B-trees can span multiple allocation units. Buffer management SQL Server buffers pages in RAM to minimize disc I/O. Any 8 KB page can be buffered inmemory, and the set of all pages currently buffered is called the buffer cache. The amount of memory available to SQL Server decides how many pages will be cached in memory. The buffer cache is managed by the Buffer Manager. Either reading from or writing to any page copies it to the buffer cache. Subsequent reads or writes are redirected to the in-memory copy, rather than the on-disc version. The page is updated on the disc by the Buffer Manager only if the in-memory cache has not been referenced for some time. While writing pages back to disc, asynchronous I/O is used whereby the I/O operation is done in a background thread so that other operations do not have to wait for the I/O operation to complete. Each page is written along with its checksum when it is written. When reading the page back, its checksum is computed again and matched with the stored version to ensure the page has not been damaged or tampered with in the mean time. Region Nine Development Commission Page 64 Paratransit Software Report June, 2009 Logging and Transaction SQL Server ensures that any change to the data is ACID-compliant, i.e., it uses transactions to ensure that any operation either totally completes or is undone if fails, but never leaves the database in an intermediate state. Using transactions, a sequence of actions can be grouped together, with the guarantee that either all actions will succeed or none will. SQL Server implements transactions using a write-ahead log. Any changes made to any page will update the in-memory cache of the page, simultaneously all the operations performed will be written to a log, along with the transaction ID which the operation was a part of. Each log entry is identified by an increasing Log Sequence Number (LSN) which ensure that no event overwrites another. SQL Server ensures that the log will be written onto the disc before the actual page is written back. This enables SQL Server to ensure integrity of the data, even if the system fails. If both the log and the page were written before the failure, the entire data is on persistent storage and integrity is ensured. If only the log was written (the page was either not written or not written completely), then the actions can be read from the log and repeated to restore integrity. If the log wasn't written, then also the integrity is maintained, even though the database is in a state when the transaction as if never occurred. If it was only partially written, then the actions associated with the unfinished transaction are discarded. Since the log was only partially written, the page is guaranteed to have not been written, again ensuring data integrity. Removing the unfinished log entries effectively undoes the transaction. SQL Server ensures consistency between the log and the data every time an instance is restarted. Concurrency and locking SQL Server allows multiple clients to use the same database concurrently. As such, it needs to control concurrent access to shared data, to ensure data integrity - when multiple clients update the same data, or clients attempt to read data that is in the process of being changed by another client. SQL Server provides two modes of concurrency control: pessimistic concurrency and optimistic concurrency. When pessimistic concurrency control is being used, SQL Server controls concurrent access by using locks. Locks can be either shared or exclusive. Exclusive lock grants the user exclusive access to the data - no other user can access the data as long as the lock is held. Shared locks are used when some data is being read - multiple users can read from data locked with a shared lock, but not acquire an exclusive lock. The latter would have to wait for all shared locks to be released. Locks can be applied on different levels of granularity - on entire tables, pages, or even on a per-row basis on tables. For indexes, it can either be on the entire index or on index leaves. The level of granularity to be used is defined on a per-database basis by the database administrator. While a fine grained locking system allows more users to use the table or index simultaneously, it requires more resources. So it does not automatically turn into higher performing solution. SQL Server also includes two more lightweight mutual exclusion solutions - latches and spinlocks - which are less robust than locks but are less resource intensive. SQL Server Region Nine Development Commission Page 65 Paratransit Software Report June, 2009 uses them for DMVs and other resources that are usually not busy. SQL Server also monitors all worker threads that acquire locks to ensure that they do not end up in deadlocks - in case they do, SQL Server takes remedial measures, which in many cases is to kill one of the threads entangled in a deadlock and rollback the transaction it started. To implement locking, SQL Server contains the Lock Manager. The Lock Manager maintains an in-memory table that manages the database objects and locks, if any, on them along with other metadata about the lock. Access to any shared object is mediated by the lock manager, which either grants access to the resource or blocks it. SQL Server also provides the optimistic concurrency control mechanism, which is similar to the multiversion concurrency control used in other databases. The mechanism allows a new version of a row to be created whenever the row is updated, as opposed to overwriting the row, i.e., a row is additionally identified by the ID of the transaction that created the version of the row. Both the old as well as the new versions of the row are stored and maintained, though the old versions are moved out of the database into a system database identified as Tempdb. When a row is in the process of being updated, any other requests are not blocked (unlike locking) but are executed on the older version of the row. If the other request is an update statement, it will result in two different versions of the rows - both of them will be stored by the database, identified by their respective transaction IDs. Data retrieval The main mode of retrieving data from an SQL Server database is querying for it. The query is expressed using a variant of SQL called T-SQL, a dialect Microsoft SQL Server shares with Sybase SQL Server due to its legacy. The query declaratively specifies what is to be retrieved. It is processed by the query processor, which figures out the sequence of steps that will be necessary to retrieve the requested data. The sequence of actions necessary to execute a query is called a query plan. There might be multiple ways to process the same query. For example, for a query that contains a join statement and a select statement, executing join on both the tables and then executing select on the results would give the same result as selecting from each table and then executing the join, but result in different execution plans. In such case, SQL Server chooses the plan that is supposed to yield the results in the shortest possible time. This is called query optimization and is performed by the query processor itself. SQL Server includes a cost-based query optimizer which tries to optimize on the cost, in terms of the resources it will take to execute the query. Given a query, the query optimizer looks at the database schema, the database statistics and the system load at that time. It then decides which sequence to access the tables referred in the query, which sequence to execute the operations and what access method to be used to access the tables. For example, if the table has an associated index, whether the index should be used or not - if the index is on a column which is not unique for most of the columns (low "selectivity"), it might not be worthwhile to use the index to access the data. Region Nine Development Commission Page 66 Paratransit Software Report June, 2009 Finally, it decides whether to execute the query concurrently or not. While a concurrent execution is more costly in terms of total processor time, because the execution is actually split to different processors might mean it will execute faster. Once a query plan is generated for a query, it is temporarily cached. For further invocations of the same query, the cached plan is used. Unused plans are discarded after some time. SQL Server also allows stored procedures to be defined. Stored procedures are parameterized T-SQL queries, that are stored in the server itself (and not issued by the client application as is the case with general queries). Stored procedures can accept values sent by the client as input parameters, and send back results as output parameters. They can also call other stored procedures, and can be selectively provided access to. Unlike other queries, stored procedures have an associated name, which is used at runtime to resolve into the actual queries. Also because the code need not be sent from the client every time (as it can be accessed by name), it reduces network traffic and somewhat improves performance. Execution plans for stored procedures are also cached as necessary. SQL CLR Microsoft SQL Server 2005 includes a component named SQL CLR via which it integrates with .NET Framework. Unlike most other applications that use .NET Framework, SQL Server itself hosts the .NET Framework runtime, i.e., memory, threading and resource management requirements of .NET Framework are satisfied by SQLOS itself, rather than the underlying Windows operating system. SQLOS provides deadlock detection and resolution services for .NET code as well. With SQL CLR, stored procedures and triggers can be written in any managed .NET language, including C# and VB.NET. Managed code can also be used to define UDTs which can be persisted in the database. Managed code is compiled to .NET assemblies and after being verified for type safety, registered at the database. After that, they can be invoked like any other procedure. However, only a subset of the Base Class Library is available, when running code under SQL CLR. Most APIs relating to user interface functionality are not available. When writing code for SQL CLR, data stored in SQL Server databases can be accessed using the ADO.NET APIs like any other managed application that accesses SQL Server data. However, doing that creates a new database session, different from the one in which the code is executing. To avoid this, SQL Server provides some enhancements to the ADO.NET provider that allows the connection to be redirected to the same session which already hosts the running code. Such connections are called context connections and are set by setting context connection parameter to true in the connection string. SQL Server also provides several other enhancements to the ADO.NET API, including classes to work with tabular data or a single row of data as well as classes to work with internal metadata about the data stored in the database. It also provides access to the XML features in SQL Server, including XQuery support. These enhancements are also Region Nine Development Commission Page 67 Paratransit Software Report June, 2009 available in T-SQL Procedures in consequence of the introduction of the new XML Datatype (query,value,nodes functions). Services SQL Server also includes an assortment of add-on services. While these are not essential for the operation of the database system, these provide value added services on top of the core database management system. These services either run as a part of some SQL Server component or out-of-process as Windows Service and presents their own API to control and interact with them. Service Broker The Service Broker, which runs as a part of the database engine, provides a reliable messaging and message queuing platform for SQL Server applications. Used inside an instance, it is used to provide an asynchronous programming environment. For cross instance applications, Service Broker communicates over TCP/IP and allows the different components to be synchronized together, via exchange of messages Replication Services SQL Server Replication Services are used by SQL Server to replicate and synchronize database objects, either in entirety or a subset of the objects present, across replication agents, which might be other database servers across the network, or database caches on the client side. Replication follows a publisher/subscriber model, i.e., the changes are sent out by one database server ("publisher") and are received by others ("subscribers"). SQL Server supports three different types of replication: Transaction replication Each transaction made to the publisher database (master database) is synced out to subscribers, who update their databases with the transaction. Transactional replication synchronizes databases in near real time. Merge replication Changes made at both the publisher and subscriber databases are tracked, and periodically the changes are synchronized bi-directionally between the publisher and the subscribers. If the same data has been modified differently in both the publisher and the subscriber databases, synchronization will result in a conflict which has to be resolved - either manually or by using pre-defined policies. Snapshot replication Snapshot replication published a copy of the entire database (the then-snapshot of the data) and replicates out to the subscribers. Further changes to the snapshot are not tracked. Analysis Services Region Nine Development Commission Page 68 Paratransit Software Report June, 2009 SQL Server Analysis Services adds OLAP and data mining capabilities for SQL Server databases. The OLAP engine supports MOLAP, ROLAP and HOLAP storage modes for data. Analysis Services supports the XML for Analysis standard as the underlying communication protocol. The cube data can be accessed using MDX queries. Data mining specific functionality is exposed via the DMX query language. Analysis Services includes various algorithms - Decision trees, clustering algorithm, Naive Bayes algorithm, time series analysis, sequence clustering algorithm, linear and logistic regression analysis, and neural networks - for use in data mining.[ Reporting Services SQL Server Reporting Services is a report generation environment for data gathered from SQL Server databases. It is administered via a web interface. Reporting services features a web services interface to support the development of custom reporting applications. Reports are created as RDL files. Reports can be designed using recent versions of Microsoft Visual Studio (including Visual Studio.NET 2003 onwards) with Business Intelligence Development Studio, installed or with the included Report Builder. Once created, RDL files can be rendered in a variety of formats including Excel, PDF, CSV, XML, TIFF (and other image formats), and HTML Web Archive. Notification Services Originally introduced as a post-release add-on for SQL Server 2000, Notification Services was bundled as part of the Microsoft SQL Server platform for the first and only time with SQL Server 2005. with Sql Server 2005, SQL Server Notification Services is a mechanism for generating data-driven notifications, which are sent to Notification Services subscribers. A subscriber registers for a specific event or transaction (which is registered on the database server as a trigger); when the event occurs, Notification Services can use one of three methods to send a message to the subscriber informing about the occurrence of the event. These methods include SMTP, SOAP, or by writing to a file in the filesystem. Integration Services SQL Server Integration Services is used to integrate data from different data sources. It is used for the ETL capabilities for SQL Server for data warehousing needs. Integration Services includes GUI tools to build data extraction workflows integration various functionality such as extracting data from various sources, querying data, transforming data including aggregating, duplication and merging data, and then loading the Region Nine Development Commission Page 69 Paratransit Software Report June, 2009 transformed data onto other sources, or sending e-mails detailing the status of the operation. Full Text Search Service SQL Server Full Text Search service is a specialized indexing and querying service for unstructured text stored in SQL Server databases. The full text search index can be created on any column with character based text data. It allows for words to be searched for in the text columns. While it can be performed with the SQL LIKE operator, using SQL Server Full Text Search service can be more efficient. Full Text Search (FTS) allows for inexact matching of the source string, indicated by a Rank value which can range from 0 to 1000 - a higher rank means a more accurate match. It also allows linguistic matching ("inflectional search"), i.e., linguistic variants of a word (such as a verb in a different tense) will also be a match for a given word (but with a lower rank than an exact match). Proximity searches are also supported, i.e., if the words searched for do not occur in the sequence they are specified in the query but are near each other, they are also considered a match. T-SQL exposes special operators that can be used to access the FTS capabilities. The Full Text Search engine is divided into two processes - the Filter Daemon process (msftefd.exe) and the Search process (msftesql.exe). These processes interact with the SQL Server. The Search process includes the indexer (that creates the full text indexes) and the full text query processor. The indexer scans through text columns in the database. It can also index through binary columns, and use iFilters to extract meaningful text from the binary blob (for example, when a Microsoft Word document is stored as an unstructured binary file in a database). The iFilters are hosted by the Filter Daemon process. Once the text is extracted, the Filter Daemon process breaks it up into a sequence of words and hands it over to the indexer. The indexer filters out noise words, i.e., words like A, And etc, which occur frequently and are not useful for search. With the remaining words, an inverted index is created, associating each word with the columns they were found in. SQL Server itself includes a Gatherer component that monitors changes to tables and invokes the indexer in case of updates. When a full text query is received by the SQL Server query processor, it is handed over to the FTS query processor in the Search process. The FTS query processor breaks up the query into the constituent words, filters out the noise words, and uses an inbuilt thesaurus to find out the linguistic variants for each word. The words are then queried against the inverted index and a rank of their accurateness is computed. The results are returned to the client via the SQL Server process. Tools SQLCMD Region Nine Development Commission Page 70 Paratransit Software Report June, 2009 SQLCMD is a command line application that comes with Microsoft SQL Server, and exposes the management features of SQL Server. It allows SQL queries to be written and executed from the command prompt. It can also act as a scripting language to create and run a set of SQL statements as a script. Such scripts are stored as a .sql file, and are used either for management of databases or to create the database schema during the deployment of a database. Visual Studio Microsoft Visual Studio includes native support for data programming with Microsoft SQL Server. It can be used to write and debug code to be executed by SQL CLR. It also includes a data designer that can be used to graphically create, view or edit database schemas. Queries can be created either visually or using code. SSMS 2008 onwards, provides intellisense for SQL queries as well. SQL Server Management Studio SQL Server Management Studio is a GUI tool included with SQL Server 2005 and later for configuring, managing, and administering all components within Microsoft SQL Server. The tool includes both script editors and graphical tools that work with objects and features of the server. SQL Server Management Studio replaces Enterprise Manager as the primary management interface for Microsoft SQL Server since SQL Server 2005. A version of SQL Server Management Studio is also available for SQL Server Express Edition, for which it is known as SQL Server Management Studio Express (SSMSE). http://en.wikipedia.org/wiki/MS_SQL - cite_note-44#cite_note-44 A central feature of SQL Server Management Studio is the Object Explorer, which allows the user to browse, select, and act upon any of the objects within the server. It can be used to visually observe and analyze query plans and optimize the database performance, among others. SQL Server Management Studio can also be used to create a new database, alter any existing database schema by adding or modifying tables and indexes, or analyze performance. It includes the query windows which provide a GUI based interface to write and execute queries. Business Intelligence Development Studio Business Intelligence Development Studio (BIDS) is the IDE from Microsoft used for developing data analysis and Business Intelligence solutions utilizing the Microsoft SQL Server Analysis Services, Reporting Services and Integration Services. It is based on the Microsoft Visual Studio development environment but customizes with the SQL Server services-specific extensions and project types, including tools, controls and projects for reports (using Reporting Services), Cubes and data mining structures (using Analysis Services). Region Nine Development Commission Page 71 Paratransit Software Report June, 2009 Programmability T-SQL T-SQL (Transact-SQL) is the primary means of programming and managing SQL Server. It exposes keywords for the operations that can be performed on SQL Server, including creating and altering database schemas, entering and editing data in the database as well as monitoring and managing the server itself. Client applications, both which consume data or manage the server, leverage SQL Server functionality by sending T-SQL queries and statements which are then processed by the server and results (or errors) returned to the client application. SQL Server allows it to be managed using T-SQL. For this it exposes read only tables from which server statistics can be read. Management functionality is exposed via system-defined stored procedures which can be invoked from T-SQL queries to perform the management operation. SQL Native Client SQL Native Client is the native client side data access library for Microsoft SQL Server, version 2005 onwards. It natively implements support for the SQL Server features including the Tabular Data Stream implementation, support for mirrored SQL Server databases, full support for all data types supported by SQL Server, asynchronous operations, query notifications, encryption support, as well as receiving multiple result sets in a single database session. SQL Native Client is used under the hood by SQL Server plug-ins for other data access technologies, including ADO or OLE DB. It is also used by the native SQL Server ADO.NET provider, SqlClient. The SQL Native Client can also be directly used, bypassing the generic data access layers. Region Nine Development Commission Page 72 Paratransit Software Report June, 2009 VII. Glossary of terms: ADA (Americans with Disabilities Act of 1990): As it pertains to paratransit, one section of Title II of the Americans with Disabilities Act of 1990 is specific to public transportation provided by public entities. This section requires the provision of paratransit services by public entities. It states that the lack of accessibility or certain services by any “public agency” can be considered discrimination, regardless of who it actually affects. Apache HTTP Server (also known simply as “Apache”): is a web server notable for playing a key role in the initial growth of the World Wide Web. API (Application Programming Interface): An application programming interface is a set of functions, procedures, methods, classes or protocols that an operating system, library or service provides to support requests made by computer programs. AVL (Automatic Vehicle Locator): a device or component in software that transmits the vehicle location to the dispatcher on a regular interval. Batch Scheduling: is the ability to select a set or subset of trips to be scheduled or the ability to schedule a group of trips. Database: a structured collection of records or data that is stored in a computer system. Database Management System (DBMS): is computer software designed for the purpose of managing databases. The role of a DBMS in a larger system is to allow other software, or users, to store and retrieve data in a structured way. Firefox: Like Internet Explorer, Mozilla Firefox is a free and open source web browser. Google Maps: is a free web mapping service application and technology provided by Google that powers many map-based services including the Google Maps website, Google Ride Finder and embedded maps on third-party websites via the Google Maps API. It offers street maps, a route planner for bicycles, pedestrians (routes less than 6.2 miles) and cars, and an urban business locator for numerous countries around the world. Linux: a modular Unix-like operating system. Linux is predominantly known for its use in servers. MDC (Mobile Data Computer): see MDT (Mobile Data Terminal). Region Nine Development Commission Page 73 Paratransit Software Report June, 2009 MDT (Mobile Data Terminal): a mobile computerized device used in police cars, taxicabs, courier vehicles, service trucks, commercial trucking fleets, military logistics, fishing fleets, warehouse inventory control, and emergency vehicles to communicate with a central dispatch office. Multi-Modal Scheduling Solutions: is the ability for paratransit software to scheudule trips using more than one “mode” of transportation or across transit agencies and barriers for the convenience of the client. Multiple Agency Functionality: the ability for paratransit software to accommodate multiple transit operators accessing a common dataset for the purposes of coordinated transportation. ODBC (Open Database Connectivity): provides a standard software Application Programming Interface (API) method for using database management systems (DBMS). Oracle: a relational database management system (RDBMS) produced and marketed by Oracle Corporation. Oracle 10g: 10g is Oracle's grid computing product group including (among other things) a database management system (DBMS) and an application server. In addition to supporting grid computing features such as resource sharing and automatic load balancing, 10g products automate many database management tasks. 10g follows Oracle's 9i platform. Oracle says that the g (instead of the expected i) in the name symbolizes the company's commitment to the grid model. Oracle 11g: The newest version of Oracle with features not found in Oracle 10g, such as automatic memory tuning, storage pool sharing among databases, and an automatic diagnostic repository that creates an “incident” ticket that informs the database administrator (DBA) immediately. RDBMS (Relational Database Management System): a Database Management System (DBMS) in which data is stored in the form of tables and the relationship among the data is also stored in the form of tables. Red Hat Linux: is a Linux based operating system assembled by the company Red Hat. It was discontinuation in 2004. Relational Database: a database that groups data using common attributes found in the data set. Region Nine Development Commission Page 74 Paratransit Software Report June, 2009 Rule-Based System: In computer science, rule-based systems are used as a way to store and manipulate knowledge to interpret information in a useful way. They are often used in artificial intelligence applications and research. A classic example of a rule-based system is the domain-specific expert system that uses rules to make deductions or choices Server: a computer program that provides services to other computer programs (and their users), in the same or another computer. The physical computer that runs a server program is also sometimes referred to as a server. Single Insert Scheduling: is the ability to enter a trip request via the Internet from any web accessible computer that allows a trip schedule module for dedicated transit staff as well as multiple parameter and violation sets. SSN: Acronym for Social Security Number. Vendor: in this report, Vendor refers to the software provider. Web Based Interface: an application that is accessed via web browser over a network such as the Internet or an intranet. X. Transit Software Agencies and Contacts Resources List: 1. Mobilitat Cindy Johnson (Owner) 480-627-8400 Cindy.Johnson@mobilitatsoftware.com www.mobilitatsoftware.com 1605 Green River Way Green River, WY 82935 2. Ecolane, USA Ryan Larsen (President) 712-764-9101 Ryan.Larsen@ecolane.com www.ecolane.com Region Nine Development Commission Page 75 Paratransit Software Report June, 2009 3. Shah Software Jagat Shah – Owner 432-694-6044 1-800-968-2748 www.shahsoftware.com 4. RouteMatch Patrick Cheek 404-253-7845 Patrick.cheek@routematch.com www.routematch.com Secondary Contact: Dustin Koch Regional Sales Director (Midwest Region 404-253-7889 678-637-1773 (cell) Dustin.Koch@routematch.com 5. CTS Adam Fox afox@cts-software.com Can be contacted also via sales or tech support e-mails on the site 1-800-704-0064 sales@cts-software.com www.cts-software.com Main Office Fax: (866)244-4351 Address: 722 Cedar Point Blvd. Box 14 Cedar Point, NC 28584 6. Trapeze www.trapezegroup.com Region Nine Development Commission Page 76