I have working in a not dissimilar industry and had the following setup;
TrainTestSuite (this might be per supplier/operator)
-testcase->SingleBooking
-testcase->ReturnBooking
Both would utilize the same endpoint as the Test Suite
Within each test case I would have the following;
- OutboundDataSourceProperties (containing from and to locations)
- PropertyTransfer (Transfer values to JsonSingleRQ using xpath)
- JsonSingleRQ (your JSON request)
- DatasourceLoop (back to the start)
Duplicate this for your return journeys (obviously with additional values in the data sourceproperties). I would suggest to treat them as indipendantindependent values rather than transferring to opposing targets on the return.