The system enables users to manage bus voyages by providing functionalities such as:
- Initializing a voyage
- Selling and refunding tickets
- Printing voyage details
- Cancelling voyages
- Generating a Z Report of all voyages
The system is implemented in Java following Object-Oriented Programming (OOP) principles, including abstraction, encapsulation, inheritance, and polymorphism.
- Standard Bus (2+2 seating arrangement)
- Premium Bus (1+2 seating arrangement with premium seats)
- Minibus (2 seats per row, tickets are non-refundable)
- INIT_VOYAGE: Initialize a new voyage
- SELL_TICKET: Sell a ticket for a specific seat
- REFUND_TICKET: Refund a sold ticket (if refundable)
- PRINT_VOYAGE: Display the seating plan and revenue details
- CANCEL_VOYAGE: Cancel a voyage and refund passengers
- Z_REPORT: Display all active voyages
- Java
- A terminal or command line interface
- Compile the project