fake till you make it
use interface
fake BookingService
use BookingService (fake) in TicketOffice
fake TrainDataService
fake converting train data json to pojos
consistent naming
mocked Services
removed duplication
make sure reservation is on correct train