Travel Document Management System
C++ OOP Records & Eligibility System
C++
OOP (encapsulation / inheritance / polymorphism)
File I/O persistence
Console application
About the project
A 3rd-semester B.Tech IT college micro (duo) project: a menu-driven console records system for passenger travel documents — passport details, VISA information, vaccination status, and criminal records — with an automated international travel-eligibility check, modelled with classes and inheritance.
What I built / how it worked
- Core OOP design — a base
Detailsclass holding encapsulated protected fields, with derived classesPassport,VisaandOthersusing virtualdisplay()/modifier()methods (polymorphism) and friend functions (search,sort,eligibility,saver). - Data fields — name, age, passport number, countries visited with per-country visit counts and VISA status, vaccination dose count + vaccine name, criminal-record status, passport issue/expiry, and Normal vs VIP passport type.
- File persistence — records read from a plain text file and written back out to a new file after updates (database-less persistence).
- Travel-eligibility engine — declares a passenger eligible/ineligible based on passport validity, at least 2 vaccination doses, no open criminal record, an active VISA for the destination, and a per-year visit cap (≤ 3) for Normal passports.
- Renewal & VISA flows — passport renewal (re-issued with new validity), VISA renew/apply, and record updates for vaccination and criminal status.
- Menu-driven flow — search by name/passport number, sort by countries visited, with error/exception handling for missing input files.
Feature highlights
- OOP class + inheritance modelling of passenger travel documents (passport, VISA, vaccination, criminal records).
- Automated travel-eligibility check with explicit business rules.
- Console menu covering search, sort, passport renewal, VISA renew/apply, and record updates.
- Virtual functions (polymorphism), friend functions, and exception handling.