This study presents a method of estimating travel time using farecard transaction data and transit schedules. The idea of using Google's General Transit Feed Specification (GTFS) has been drawing attention in public transit recently. We can use this innovate data to estimate travel time of farecard users. More specifically, this method can be used to generate aggregate origindestination (O-D) flows, without incurring heavy survey costs. A novel buffer operation around transit stops is introduced, and a method to estimate average travel times at an aggregate level is proposed. In the process of estimating travel times, the search algorithm simultaneously considers an alternative alighting stop location to support a more general representation of a passenger's origin and destination. Through structured queries of transaction data and service schedules from Metro Transit in the Minneapolis/St. Paul area, this aggregate-level O-D estimation method is illustrated. The time-varying and multi-day O-D patterns, at an aggregate level, can be successfully inferred, allowing a better understanding of farecard users' true transfers and/or activity locations. The results also capture travel time distributions by service type and the temporal distribution of boardings and alightings at a specific stop. This method provides a powerful tool for transit agencies to manage and design routes to serve these origindestination patterns.