Assertis APIs

Rail, it's in our DNA

WebTis API
Documentation

Introduction

The Assertis WebTIS (AWT) API is a RESTful JSON API that enables customers to plan rail journeys and buy rail tickets for travel on the British rail network.

Using the API, customers can plan a journey from any National Rail station to any other. The API also enables customers to buy any ticket - Advance, Off-Peak, Anytime as well as group tickets, carnets, packages and season tickets - to and from any station up to three months before travel. Travelcards, zonal tickets, other TfL and metro products and Plusbus are also supported, as are all railcard discounts, reservations and child fares. Fares and journey planning can be delivered separately, as well as together.

The API supports basket functionality and secure payment with Visa, MasterCard, Amex and other payment cards, PayPal and payment on account. Customers can have their tickets printed and posted; collect them from stations; or print them at home / send them to their phone for some routes.

The API also offers order management, comprehensive rail reference data and refunds through the customer administration service.

All the data that the API uses is from rail-industry approved sources, updated daily in the case of fares and train schedules, and fully in line with industry best practice. The API is accredited by the Rail Delivery Group (RDG), which represents all of the Train Operating Companies (TOCs) and Network Rail (the infrastructure provider) in Britain.

Getting started

Your account manager will provide you with a URL for your dedicated test environment. The test environment will be a fully functional system integrated with test versions of all rail systems except LENNON.

Test card numbers will be provided that can be used to complete purchases. After a successful payment fulfilment will be completed.

Support queries and service issues can be sent via your account manager or to techsupport@assertis.co.uk.

If you wish to perform load testing please provide 24 hours notice.

Protocols

The API itself is a collection of microservices grouped together under a single domain using HAProxy. It is built using REST principles which ensures predictable URLs that makes writing applications easy. This API follows HTTP rules, enabling a wide range of HTTP clients can be used to interact with the API.

Every resource is exposed as a URL. The URL of each resource can be obtained by accessing the API Root Endpoint.

All requests and responses are in JSON. The structure of each request and response is outlined with examples and a JSON-Schema. In general the responses are similar to the standard JSON API design but links are condensed.

For example:

  
    GET /customer/1
  

Would return:

  
    {
      "status": "success",
      "data": {
        "title": "Mr",
        "firstNames": "John",
        "surname": "Smith",
        "email": "john.smith@example.org",
        "emailMarketing": false,
        "smsMarketing": false,
        "telephoneNumber": "+447754000000",
        "created": "2015-05-06T09:54:06Z",
        "login": "2015-05-06T09:54:06Z",
        "updated": "2015-05-06T09:54:06Z",
        "firstPurchase": "2015-05-06T09:54:06Z",
        "addresses": [
          "/address/2"
        ]
      },
      "links": {
        "/address/2": {
          "title": "Mr",
          "firstNames": "John",
          "surname": "Smith",
          "address1": "123 Test Street",
          "address2": "Another Street",
          "address3": null,
          "town": "Town",
          "county": null,
          "country": "United Kingdom",
          "postCode": "TE57 1NG",
          "telephoneNumber": "+447754000000"
        }
      }
    }
  

Any properties that contain a link to another entity (in this case /address/2) are automatically populated in the links section of the response.

Callbacks

There are additional call backs from the AWT that are not documented here as they usually contain a bespoke payload.

The available callbacks are:

Security

The API is only available via HTTPS. Certificates are signed by Let's Encrypt.

Some parts of the API may be publically available and may be used by end clients (SPA applications / Mobile devices), other parts are restricted by IP. In addition to this some resources are restricted by access token.

Where an access token is required it must be provided by HTTP header. For example

  
    X-Auth-Token: "a1b2c3d4e5f6g7h8i9j0"
  

Reference data

Reference data is provided inline in the API responses as part of the links section. If there is a need to cache it on the client it can be cached for 24 hours.

Reference data is updated nightly between 03:00am and 04:00am.

Expiry headers

You should pay attention to Expires headers returned when order is created or modified. Various rules are in place to ensure basket validity conforms to industry standards.

Auth

Auth Service API

Auth service generates tokens to be used in authorization / authentication in other services.

POST /auth

Request schema (show)
{
    "description": "Auth service token generation request",
    "type": "object",
    "additionalProperties": false,
    "required": [
        "vendor",
        "text",
        "signature"
    ],
    "properties": {
        "vendor": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]+$",
            "description": "Vendor name that exchanged with us its public key; letters, digits, _ and - only"
        },
        "text": {
            "type": "string",
            "description": "Text to be verified against signature"
        },
        "signature": {
            "type": "string",
            "description": "Base64 of signature to verify"
        },
        "userId": {
            "type": "string",
            "description": "Optional user id that match some of our customers e.g. /users/{id}"
        },
        "username": {
            "type": "string",
            "description": "Optional username"
        },
        "password": {
            "type": "string",
            "description": "Optional password"
        },
        "twoFactorCode": {
            "type": "string",
            "description": "Optional 2factor code"
        },
        "expiry": {
            "type": "number",
            "description": "Optional expiry time in hours"
        }
    }
}
Request example (show)
{
    "vendor": "vendor",
    "text": "1561b543-ec80-461b-b55b-43b9ff2a03a8",
    "signature": "rLMwGb6mEAEBimzg0+f7Mi//s6ypkLvAhJ2C99u6OS0+iQ6t==",
    "userId": "/users/14"
}
200 application/json
Response schema (show)
{
    "description": "Auth Serivce token response",
    "type": "object",
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Response resolved links",
                            "type": [
                                "object",
                                "array"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "properties": {
                        "token": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "token"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "token": "eyJhbGciOiJIUzI1NiI.eyJzZXNzaW9uSWQiOiIiwidGVuYW5.niCtFnxnL-Z5jUYafohiN7SSO2coL"
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "vendor": "must not be empty"
    }
}
401 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "message": "Error occured during signature validation. Check your vendor and tenent header"
    }
}
403 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "message": "Passed vendor / user / token does not match with the token"
    }
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

POST /pre-auth

Request schema (show)
{
    "description": "Auth service pre-token action request",
    "type": "object",
    "additionalProperties": false,
    "required": [
        "vendor",
        "text",
        "signature"
    ],
    "properties": {
        "vendor": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]+$",
            "description": "Vendor name that exchanged with us its public key; letters, digits, _ and - only"
        },
        "text": {
            "type": "string",
            "description": "Text to be verified against signature"
        },
        "signature": {
            "type": "string",
            "description": "Base64 of signature to verify"
        },
        "otpNonce": {
            "type": "string",
            "description": "Used for resending OTP. Value should be: OTP Nonce returned by service which requested the otp (one that emitted OTPRequested event)"
        }
    }
}
Request example (show)
{
    "vendor": "vendor",
    "text": "1561b543-ec80-461b-b55b-43b9ff2a03a8",
    "signature": "rLMwGb6mEAEBimzg0+f7Mi//s6ypkLvAhJ2C99u6OS0+iQ6t==",
    "otpNonce": "1561b543-ec80-461b-b55b-43b9ff2a03a8"
}
200 application/json
Response schema (show)
{
    "description": "Auth Serivce pre-token response",
    "type": "object",
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Response resolved links",
                            "type": [
                                "object",
                                "array"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "description": "Response data",
                    "type": "object"
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "message": "OTP has been re-sent",
        "validUntil": "2023-01-01T00:00:00.000Z"
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "vendor": "must not be empty"
    }
}
401 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "message": "Error occured during signature validation. Check your vendor and tenent header"
    }
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

Reference Data

Introduction

Welcome to the Reference Data API Documentation. The API allows you to fetch information about entities common for all parts of TIS. This service agreggate data supplied by external providers.

GET /railcard

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "code": {
                                "$oneOf": [
                                    {
                                        "type": "string",
                                        "pattern": "^[A-Z0-9]{3}$"
                                    },
                                    {
                                        "type": "string",
                                        "pattern": "^$"
                                    }
                                ]
                            },
                            "description": {
                                "type": "string"
                            },
                            "name": {
                                "type": "object",
                                "properties": {
                                    "display": {
                                        "type": "string"
                                    },
                                    "print": {
                                        "type": "string"
                                    }
                                }
                            },
                            "status": {
                                "type": "object",
                                "properties": {
                                    "adult": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "child": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                }
                            },
                            "minPassengers": {
                                "type": "integer"
                            },
                            "maxPassengers": {
                                "type": "integer"
                            },
                            "minHolders": {
                                "type": "integer"
                            },
                            "maxHolders": {
                                "type": "integer"
                            },
                            "minAdults": {
                                "type": "integer"
                            },
                            "maxAdults": {
                                "type": "integer"
                            },
                            "minChildren": {
                                "type": "integer"
                            },
                            "maxChildren": {
                                "type": "integer"
                            },
                            "minAccAdults": {
                                "type": "integer"
                            },
                            "maxAccAdults": {
                                "type": "integer"
                            },
                            "quoteDate": {
                                "type": "string"
                            },
                            "startDate": {
                                "type": "string"
                            },
                            "endDate": {
                                "type": "string"
                            },
                            "lastValidDate": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "code",
                            "description",
                            "name",
                            "minPassengers",
                            "maxPassengers",
                            "minHolders",
                            "maxHolders",
                            "minAdults",
                            "maxAdults",
                            "minChildren",
                            "maxChildren",
                            "minAccAdults",
                            "maxAccAdults",
                            "quoteDate",
                            "startDate",
                            "endDate",
                            "lastValidDate"
                        ]
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": [
        {
            "code": "",
            "description": "PUBLIC",
            "name": {
                "display": "PUBLIC",
                "print": "PUBLIC"
            },
            "status": {
                "adult": "000",
                "child": "001"
            },
            "minPassengers": 0,
            "maxPassengers": 8,
            "minHolders": 0,
            "maxHolders": 8,
            "minAdults": 0,
            "maxAdults": 8,
            "minChildren": 0,
            "maxChildren": 8,
            "minAccAdults": 0,
            "maxAccAdults": 8,
            "quoteDate": "2020-12-01",
            "startDate": "2020-12-01",
            "endDate": "2020-12-01",
            "lastValidDate": null
        },
        {
            "code": "AT1",
            "description": "1YR DISABLED PERSONS",
            "name": {
                "display": "1YR DISABLED PERSONS.",
                "print": "1YR DISABLED PERSONS."
            },
            "status": {
                "adult": "003",
                "child": null
            },
            "minPassengers": 1,
            "maxPassengers": 2,
            "minHolders": 1,
            "maxHolders": 2,
            "minAdults": 1,
            "maxAdults": 2,
            "minChildren": 0,
            "maxChildren": 8,
            "minAccAdults": 0,
            "maxAccAdults": 0,
            "quoteDate": "2020-12-01",
            "startDate": "2020-12-01",
            "endDate": "2020-12-01",
            "lastValidDate": "2020-12-04"
        }
    ]
}
URI parameters

string id (required)

Pattern: ^[A-Z0-9]{3}$

GET /railcard/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                        "code": {
                            "$oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^[A-Z0-9]{3}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^$"
                                }
                            ]
                        },
                        "description": {
                            "type": "string"
                        },
                        "name": {
                            "type": "object",
                            "properties": {
                                "display": {
                                    "type": "string"
                                },
                                "print": {
                                    "type": "string"
                                }
                            }
                        },
                        "status": {
                            "type": "object",
                            "properties": {
                                "adult": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "child": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            }
                        },
                        "minPassengers": {
                            "type": "integer"
                        },
                        "maxPassengers": {
                            "type": "integer"
                        },
                        "minHolders": {
                            "type": "integer"
                        },
                        "maxHolders": {
                            "type": "integer"
                        },
                        "minAdults": {
                            "type": "integer"
                        },
                        "maxAdults": {
                            "type": "integer"
                        },
                        "minChildren": {
                            "type": "integer"
                        },
                        "maxChildren": {
                            "type": "integer"
                        },
                        "minAccAdults": {
                            "type": "integer"
                        },
                        "maxAccAdults": {
                            "type": "integer"
                        },
                        "quoteDate": {
                            "type": "string"
                        },
                        "startDate": {
                            "type": "string"
                        },
                        "endDate": {
                            "type": "string"
                        },
                        "lastValidDate": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    "required": [
                        "code",
                        "description",
                        "name",
                        "minPassengers",
                        "maxPassengers",
                        "minHolders",
                        "maxHolders",
                        "minAdults",
                        "maxAdults",
                        "minChildren",
                        "maxChildren",
                        "minAccAdults",
                        "maxAccAdults",
                        "quoteDate",
                        "startDate",
                        "endDate",
                        "lastValidDate"
                    ]
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "code": "AT1",
        "description": "1YR DISABLED PERSONS",
        "name": {
            "display": "1YR DISABLED PERSONS.",
            "print": "1YR DISABLED PERSONS."
        },
        "status": {
            "adult": "003",
            "child": null
        },
        "minPassengers": 1,
        "maxPassengers": 2,
        "minHolders": 1,
        "maxHolders": 2,
        "minAdults": 1,
        "maxAdults": 2,
        "minChildren": 0,
        "maxChildren": 8,
        "minAccAdults": 0,
        "maxAccAdults": 0,
        "quoteDate": "2020-12-01",
        "startDate": "2020-12-01",
        "endDate": "2020-12-01",
        "lastValidDate": "2020-12-04"
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Railcard ABC was not found"
}
URI parameters

string id (required)

Pattern: ^[0-9]{5}$

GET /route/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "required": [
                        "name",
                        "code",
                        "included",
                        "excluded",
                        "lul"
                    ],
                    "additionalProperties": false,
                    "properties": {
                        "name": {
                            "type": "object",
                            "properties": {
                                "description": {
                                    "type": "string"
                                },
                                "aaaDescription": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "print": {
                                    "type": "string"
                                },
                                "display": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "description",
                                "print",
                                "display"
                            ]
                        },
                        "code": {
                            "type": "string",
                            "pattern": "^\\d{5}$"
                        },
                        "included": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^/station/[0-9A-Z]{4}$"
                            }
                        },
                        "excluded": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^/station/[0-9A-Z]{4}$"
                            }
                        },
                        "lul": {
                            "type": "string"
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "code": "00000",
        "name": {
            "description": "ANY PERMITTED",
            "aaaDescription": null,
            "print": "Valid via any permitted route",
            "display": "Travel is allowed via any permitted route."
        },
        "included": [],
        "excluded": [
            "/station/0362"
        ],
        "lul": "NNNNNN-000000000000-_"
    },
    "links": []
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Route 12345 was not found"
}
URI parameters

string code (required)

Pattern: ^[\d\w]{3}$

GET /rover-type/{code}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "required": [
                        "code",
                        "names"
                    ],
                    "additionalProperties": false,
                    "properties": {
                        "code": {
                            "type": "string",
                            "pattern": "^[\\d\\w]{3}$"
                        },
                        "names": {
                            "type": "object",
                            "required": [
                                "description",
                                "display"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "description": {
                                    "type": "string"
                                },
                                "display": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "code": "14R",
        "names": {
            "description": "ALL LINE ROVER 14DAY",
            "display": "All Line Rover 14 Days"
        }
    },
    "links": []
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Rover XXX was not found"
}

GET /station

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "name": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                    "station": {
                                        "type": "string"
                                    },
                                    "location": {
                                        "type": "string"
                                    },
                                    "display": {
                                        "type": "string"
                                    },
                                    "print": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "station",
                                    "location",
                                    "display",
                                    "print"
                                ]
                            },
                            "code": {
                                "type": "object",
                                "additionalProperties": false,
                                "properties": {
                                    "nlc": {
                                        "oneOf": [
                                            {
                                                "type": "string",
                                                "pattern": "^[0-9A-Z]{4}$",
                                                "example": "5595"
                                            },
                                            {
                                                "type": "null"
                                            }
                                        ]
                                    },
                                    "uic": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "crs": {
                                        "type": "string",
                                        "pattern": "^[A-Z]{3}$",
                                        "example": "CLJ"
                                    },
                                    "tiploc": {
                                        "oneOf": [
                                            {
                                                "type": "string",
                                                "pattern": "^[0-9A-Z]+$",
                                                "example": "CLPHMJW"
                                            },
                                            {
                                                "type": "null"
                                            }
                                        ]
                                    },
                                    "tiploc_alternatives": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "pattern": "^[0-9A-Z]+$",
                                            "example": "CLPHMJW"
                                        }
                                    },
                                    "atco": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "nlc",
                                    "uic",
                                    "crs",
                                    "tiploc",
                                    "atco"
                                ]
                            },
                            "latitude": {
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "longitude": {
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "facilities": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "groups": {
                                "oneOf": [
                                    {
                                        "type": "string",
                                        "pattern": "^/station/[0-9A-Z]{4}/groups$"
                                    },
                                    {
                                        "type": "array"
                                    }
                                ]
                            },
                            "members": {
                                "oneOf": [
                                    {
                                        "type": "string",
                                        "pattern": "^/station/[0-9A-Z]{4}$"
                                    },
                                    {
                                        "type": "array"
                                    }
                                ]
                            },
                            "londonTerminals": {
                                "oneOf": [
                                    {
                                        "type": "string",
                                        "pattern": "^/station/[0-9A-Z]{4}/london-terminals$"
                                    },
                                    {
                                        "type": "array"
                                    }
                                ]
                            },
                            "isGoldCardLocation": {
                                "type": "boolean"
                            },
                            "lul": {
                                "type": "string"
                            },
                            "zoneNo": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "zoneInd": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "locIdTypes": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "fareGroup": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "name",
                            "code",
                            "latitude",
                            "longitude",
                            "facilities",
                            "groups",
                            "members",
                            "londonTerminals",
                            "isGoldCardLocation",
                            "lul",
                            "locIdTypes",
                            "fareGroup"
                        ]
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": [
        {
            "name": {
                "station": "LONDON EUSTON",
                "location": "LONDON EUSTON",
                "display": "London Euston",
                "print": "London Euston"
            },
            "code": {
                "nlc": "1444",
                "uic": "7014440",
                "crs": "EUS",
                "tiploc": "EUSTON",
                "tiploc_alternatives": [
                    "EUSTON"
                ],
                "atco": "9100EUSTON"
            },
            "latitude": 51.528136,
            "longitude": -0.133924,
            "facilities": [
                "TVM"
            ],
            "groups": "/station/1444/groups",
            "members": [],
            "londonTerminals": "/station/1444/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-169000000000-_-0N006009S0",
            "zoneNo": "0027",
            "zoneInd": "1 ",
            "locIdTypes": [],
            "fareGroup": "1072"
        },
        {
            "name": {
                "station": "BESCOT STADIUM",
                "location": "BESCOT STADIUM",
                "display": "Bescot Stadium",
                "print": "Bescot Stadium"
            },
            "code": {
                "nlc": "1003",
                "uic": "7010030",
                "crs": "BSC",
                "tiploc": "BSCTSTA",
                "tiploc_alternatives": [
                    "BSCTSTA"
                ],
                "atco": "9100BSCTSTA"
            },
            "latitude": 52.563093,
            "longitude": -1.991105,
            "facilities": [
                "BO",
                "TVM"
            ],
            "groups": "/station/1003/groups",
            "members": [
                "/station/0011",
                "/station/0012"
            ],
            "londonTerminals": "/station/1003/london-terminals",
            "isGoldCardLocation": true,
            "lul": "NNNNNN-000000000000-_-0N009003S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "O"
            ],
            "fareGroup": "1003"
        }
    ]
}
URI parameters

string id (required)

NLC or CRS

Pattern: ^[0-9A-Z]{3,4}$

GET /station/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                        "name": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                                "station": {
                                    "type": "string"
                                },
                                "location": {
                                    "type": "string"
                                },
                                "display": {
                                    "type": "string"
                                },
                                "print": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "station",
                                "location",
                                "display",
                                "print"
                            ]
                        },
                        "code": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                                "nlc": {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^[0-9A-Z]{4}$",
                                            "example": "5595"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                },
                                "uic": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "crs": {
                                    "type": "string",
                                    "pattern": "^[A-Z]{3}$",
                                    "example": "CLJ"
                                },
                                "tiploc": {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^[0-9A-Z]+$",
                                            "example": "CLPHMJW"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                },
                                "tiploc_alternatives": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "pattern": "^[0-9A-Z]+$",
                                        "example": "CLPHMJW"
                                    }
                                },
                                "atco": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            },
                            "required": [
                                "nlc",
                                "uic",
                                "crs",
                                "tiploc",
                                "atco"
                            ]
                        },
                        "latitude": {
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "longitude": {
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "facilities": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "groups": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/station/[0-9A-Z]{4}/groups$"
                                },
                                {
                                    "type": "array"
                                }
                            ]
                        },
                        "members": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/station/[0-9A-Z]{4}$"
                                },
                                {
                                    "type": "array"
                                }
                            ]
                        },
                        "londonTerminals": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/station/[0-9A-Z]{4}/london-terminals$"
                                },
                                {
                                    "type": "array"
                                }
                            ]
                        },
                        "isGoldCardLocation": {
                            "type": "boolean"
                        },
                        "lul": {
                            "type": "string"
                        },
                        "zoneNo": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "zoneInd": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "locIdTypes": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "fareGroup": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    "required": [
                        "name",
                        "code",
                        "latitude",
                        "longitude",
                        "facilities",
                        "groups",
                        "members",
                        "londonTerminals",
                        "isGoldCardLocation",
                        "lul",
                        "locIdTypes",
                        "fareGroup"
                    ]
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "name": {
            "station": "LONDON EUSTON",
            "location": "LONDON EUSTON",
            "display": "London Euston",
            "print": "London Euston"
        },
        "code": {
            "nlc": "1444",
            "uic": "7014440",
            "crs": "EUS",
            "tiploc": "EUSTON",
            "tiploc_alternatives": [
                "EUSTON"
            ],
            "atco": "9100EUSTON"
        },
        "latitude": 51.528136,
        "longitude": -0.133924,
        "facilities": [
            "TVM"
        ],
        "groups": "/station/1444/groups",
        "members": [
            "/station/0011",
            "/station/0012"
        ],
        "londonTerminals": "/station/1444/london-terminals",
        "isGoldCardLocation": false,
        "lul": "NNNNNN-169000000000-_-0N006009S0",
        "zoneNo": "0027",
        "zoneInd": "1 ",
        "locIdTypes": [
            "S",
            "N"
        ],
        "fareGroup": "1072"
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Station 1234 was not found"
}
URI parameters

string id (required)

NLC or CRS

Pattern: ^[0-9A-Z]{3,4}$

GET /station/{id}/london-terminals

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "londonTerminals": {
                        "type": [
                            "array",
                            "object"
                        ]
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "londonTerminals": {
            "00000": [
                "/station/1444",
                "/station/1475",
                "/station/3087"
            ],
            "00042": [
                "/station/1444"
            ],
            "00081": [
                "/station/1444"
            ],
            "00305": [
                "/station/1475",
                "/station/3087"
            ]
        }
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Station 1234 was not found"
}
URI parameters

string id (required)

NLC or CRS or UIC

Pattern: ^[0-9A-Z]{3,7}$

GET /station/{id}/fulfilment-locations

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "array"
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": [
        "633597013A05A4",
        "633597600905A4",
        "633597012205A4"
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Station 1234 was not found"
}
URI parameters

string id (required)

NLC or CRS

Pattern: ^[0-9A-Z]{3,4}$

GET /station/{id}/groups

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "groups": {
                        "type": [
                            "array"
                        ]
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "groups": [
            "/station/0032",
            "/station/0033",
            "/station/0034",
            "/station/0035",
            "/station/0051",
            "/station/0060",
            "/station/0064",
            "/station/0065",
            "/station/0785",
            "/station/0786",
            "/station/0790",
            "/station/0791",
            "/station/0792",
            "/station/1072",
            "/station/H107",
            "/station/K269"
        ]
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Station 1234 was not found"
}
URI parameters

string id (required)

NLC or CRS

Pattern: ^[0-9A-Z]{3,4}$

string secondId (required)

NLC or CRS

Pattern: ^[0-9A-Z]{3,4}$

string route (required)

Pattern: ^[0-9]{5}$

GET /station/{id}/permitted-stations/{secondId}/{route}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "members": {
                        "type": [
                            "array"
                        ]
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "members": [
            "/station/0032",
            "/station/0033",
            "/station/0034"
        ]
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Station 1234 was not found"
}
URI parameters

string id (required)

Pattern: ^[0-9A-Z]{3}$

GET /supplement-type/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "required": [
                        "code",
                        "type",
                        "capriCode",
                        "description",
                        "shortDescription",
                        "price",
                        "minGroup",
                        "maxGroup",
                        "class",
                        "isSeparateTicket",
                        "sundryCode",
                        "packageDirections"
                    ],
                    "additionalProperties": false,
                    "properties": {
                        "code": {
                            "type": "string",
                            "pattern": "^[A-Z0-9]{3}$"
                        },
                        "type": [],
                        "capriCode": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "description": {
                            "type": "string"
                        },
                        "shortDescription": {
                            "type": "string"
                        },
                        "price": {
                            "type": "integer"
                        },
                        "minGroup": {
                            "type": "integer"
                        },
                        "maxGroup": {
                            "type": "integer"
                        },
                        "class": {
                            "type": [
                                "integer",
                                "null"
                            ]
                        },
                        "isSeparateTicket": {
                            "type": "boolean"
                        },
                        "sundryCode": {
                            "type": [
                                "integer",
                                "null"
                            ]
                        },
                        "packageDirections": {
                            "type": [
                                "object",
                                "array"
                            ]
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "code": "BIK",
        "type": "EXA",
        "capriCode": "ZAX",
        "description": "BICYCLE RESERVATION",
        "shortDescription": "CYCLE RES",
        "price": 500,
        "minGroup": 1,
        "maxGroup": 1,
        "class": 1,
        "isSeparateTicket": true,
        "sundryCode": 96094,
        "packageDirections": {
            "1SA": "E",
            "1SB": "O"
        }
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
URI parameters

string code (required)

Pattern: ^[A-Z0-9]{3}$

GET /ticket-type/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "properties": {
                        "name": {
                            "type": "object",
                            "properties": {
                                "display": {
                                    "type": "string"
                                },
                                "print": {
                                    "type": "string"
                                },
                                "description": {
                                    "type": "string"
                                }
                            }
                        },
                        "ccstFormat": {
                            "type": "string"
                        },
                        "code": {
                            "type": "string",
                            "pattern": "^[A-Z0-9]{3}$"
                        },
                        "isReturn": {
                            "type": "boolean"
                        },
                        "isSeason": {
                            "type": "boolean"
                        },
                        "isAdvance": {
                            "type": "boolean"
                        },
                        "isPackage": {
                            "type": "boolean"
                        },
                        "isCarnet": {
                            "type": "boolean"
                        },
                        "isFirstClass": {
                            "type": "boolean"
                        },
                        "reservationType": {
                            "type": "string",
                            "enum": [
                                "N",
                                "B",
                                "O",
                                "R",
                                "E"
                            ],
                            "description": "N = 'no' ; O = 'reservation required on outward journey' ; R = 'reservation required on inward journey ; B = 'reservation required on both outward and return journey' ; E = 'reservation required either outward or return journey'"
                        },
                        "validity": {
                            "type": "string",
                            "pattern": "^/validity\\-type/[0-9A-Z]{2}$"
                        },
                        "minPassengers": {
                            "type": "integer"
                        },
                        "maxPassengers": {
                            "type": "integer"
                        },
                        "minAdults": {
                            "type": "integer"
                        },
                        "maxAdults": {
                            "type": "integer"
                        },
                        "minChildren": {
                            "type": "integer"
                        },
                        "maxChildren": {
                            "type": "integer"
                        },
                        "utsCode": {
                            "type": "integer"
                        },
                        "timeRestriction": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 3
                        },
                        "capriCode": {
                            "type": "string",
                            "pattern": "^[A-Z]{3}$"
                        },
                        "canBeRetailed": {
                            "type": "boolean"
                        },
                        "ticketCategory": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "reservationSupplement": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    "required": [
                        "name",
                        "code",
                        "utsCode",
                        "timeRestriction",
                        "capriCode",
                        "canBeRetailed",
                        "ticketCategory"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "name": {
            "display": "Standard Open Single",
            "print": "standard open single",
            "description": "ANYTIME S"
        },
        "ccstFormat": "X01",
        "code": "SOS",
        "isReturn": false,
        "isSeason": true,
        "isAdvance": false,
        "isPackage": true,
        "isCarnet": false,
        "isFirstClass": false,
        "reservationType": "B",
        "validity": "/validity-type/AA",
        "minPassengers": 1,
        "maxPassengers": 1,
        "minAdults": 1,
        "maxAdults": 1,
        "minChildren": 0,
        "maxChildren": 0,
        "utsCode": 99,
        "timeRestriction": 0,
        "capriCode": "UAB",
        "canBeRetailed": true,
        "ticketCategory": "advance",
        "reservationSupplement": "CAX"
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Ticket ABC was not found"
}
URI parameters

string id (required)

Pattern: ^[A-Z0-9]{2}$

GET /validity-type/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "additionalProperties": false,
                    "required": [
                        "code",
                        "outward",
                        "return",
                        "returnMustBeAfter"
                    ],
                    "properties": {
                        "code": {
                            "type": "string",
                            "pattern": "^[A-Z0-9]{2}$"
                        },
                        "outward": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "days",
                                "months",
                                "break",
                                "description"
                            ],
                            "properties": {
                                "days": {
                                    "type": "integer"
                                },
                                "months": {
                                    "type": "integer"
                                },
                                "break": {
                                    "type": "boolean"
                                },
                                "description": {
                                    "type": "string"
                                }
                            }
                        },
                        "return": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "days",
                                "months",
                                "break",
                                "description"
                            ],
                            "properties": {
                                "days": {
                                    "type": "integer"
                                },
                                "months": {
                                    "type": "integer"
                                },
                                "break": {
                                    "type": "boolean"
                                },
                                "description": {
                                    "type": "string"
                                }
                            }
                        },
                        "returnMustBeAfter": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "days",
                                "months",
                                "dayOfWeek"
                            ],
                            "properties": {
                                "days": {
                                    "type": "integer"
                                },
                                "months": {
                                    "type": "integer"
                                },
                                "dayOfWeek": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "code": "3E",
        "outward": {
            "days": 5,
            "months": 0,
            "break": true,
            "description": "FIVE DAYS"
        },
        "return": {
            "days": 0,
            "months": 1,
            "break": false,
            "description": "ONE MONTH"
        },
        "returnMustBeAfter": {
            "days": 1,
            "months": 0,
            "dayOfWeek": "Tuesday"
        }
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Ticket Validity AA was not found"
}
URI parameters

string code (required)

Pattern: ^[A-Z\\*]{2}$

GET /toc/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "required": [
                        "code",
                        "name",
                        "description",
                        "active"
                    ],
                    "additionalProperties": false,
                    "properties": {
                        "code": {
                            "type": "string",
                            "pattern": "^[A-Z\\*]{2}$"
                        },
                        "name": {
                            "type": "string"
                        },
                        "description": {
                            "type": "string"
                        },
                        "active": {
                            "type": "boolean"
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "code": "AW",
        "name": "Transport For Wales Rail",
        "description": "Transport for Wales",
        "active": true
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Toc AA was not found"
}

Accepts two formats, late/123 and late/123/at/TIPLOC.

GET /darwin-reason/{data}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                        "code",
                        "text"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "cancel",
                                "late"
                            ]
                        },
                        "code": {
                            "type": "string"
                        },
                        "range": {
                            "oneOf": [
                                {
                                    "type": "null"
                                },
                                {
                                    "type": "string",
                                    "enum": [
                                        "at",
                                        "near"
                                    ]
                                }
                            ]
                        },
                        "station": {
                            "oneOf": [
                                {
                                    "type": "null"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^/station/[0-9A-Z]{4}$"
                                }
                            ]
                        },
                        "text": {
                            "type": "string"
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "type": "late",
        "code": "100",
        "range": "at",
        "station": "/station/3813",
        "text": "This train has been delayed by a broken down train"
    },
    "links": {
        "/station/3813": []
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
URI parameters

string code (required)

Pattern: ^[0-9A-Za-z]{3}$

GET /restriction/{code}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "required": [
                        "restrictionHeader",
                        "restrictionRailcard",
                        "restrictionTime",
                        "restrictionTimeDate",
                        "restrictionTimeToc",
                        "restrictionTrain",
                        "restrictionTrainDate",
                        "restrictionTrainQuota"
                    ],
                    "additionalProperties": false,
                    "properties": {
                        "restrictionHeader": {
                            "type": "array",
                            "items": {
                                "allOf": [
                                    {
                                        "required": [
                                            "timeMarker",
                                            "restrictionCode",
                                            "description",
                                            "descOut",
                                            "descRtn",
                                            "typeOut",
                                            "typeRtn",
                                            "changeInd"
                                        ],
                                        "additionalProperties": false,
                                        "properties": {
                                            "timeMarker": {
                                                "type": "string"
                                            },
                                            "restrictionCode": {
                                                "type": "string"
                                            },
                                            "description": {
                                                "type": "string"
                                            },
                                            "descOut": {
                                                "type": "string"
                                            },
                                            "descRtn": {
                                                "type": "string"
                                            },
                                            "typeOut": {
                                                "type": "string"
                                            },
                                            "typeRtn": {
                                                "type": "string"
                                            },
                                            "changeInd": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "restrictionRailcard": {
                            "type": "array",
                            "items": {
                                "allOf": [
                                    {
                                        "required": [
                                            "timeMarker",
                                            "restrictionCode",
                                            "railcardCode",
                                            "restrictionSequence",
                                            "ticketCode",
                                            "routeCode",
                                            "locationCrs",
                                            "totalBan",
                                            "startDate",
                                            "endDate"
                                        ],
                                        "additionalProperties": false,
                                        "properties": {
                                            "timeMarker": {
                                                "type": "string"
                                            },
                                            "restrictionCode": {
                                                "type": "string"
                                            },
                                            "railcardCode": {
                                                "type": "string"
                                            },
                                            "restrictionSequence": {
                                                "type": "string"
                                            },
                                            "ticketCode": {
                                                "type": "string"
                                            },
                                            "routeCode": {
                                                "type": "string"
                                            },
                                            "locationCrs": {
                                                "type": "string"
                                            },
                                            "totalBan": {
                                                "type": "integer"
                                            },
                                            "startDate": {
                                                "type": "string"
                                            },
                                            "endDate": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "restrictionTime": {
                            "type": "array",
                            "items": {
                                "allOf": [
                                    {
                                        "required": [
                                            "timeMarker",
                                            "restrictionCode",
                                            "sequenceNo",
                                            "outRet",
                                            "timeFrom",
                                            "timeTo",
                                            "arrDepVia",
                                            "location",
                                            "rstrType",
                                            "trainType",
                                            "minFareFlag",
                                            "startDate",
                                            "endDate"
                                        ],
                                        "additionalProperties": false,
                                        "properties": {
                                            "timeMarker": {
                                                "type": "string"
                                            },
                                            "restrictionCode": {
                                                "type": "string"
                                            },
                                            "sequenceNo": {
                                                "type": "string"
                                            },
                                            "outRet": {
                                                "type": "string"
                                            },
                                            "timeFrom": {
                                                "type": "string"
                                            },
                                            "timeTo": {
                                                "type": "string"
                                            },
                                            "arrDepVia": {
                                                "type": "string"
                                            },
                                            "location": {
                                                "type": "string"
                                            },
                                            "rstrType": {
                                                "type": "string"
                                            },
                                            "trainType": {
                                                "type": "string"
                                            },
                                            "minFareFlag": {
                                                "type": "string"
                                            },
                                            "startDate": {
                                                "type": "string"
                                            },
                                            "endDate": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "restrictionTimeDate": {
                            "type": "array",
                            "items": {
                                "allOf": [
                                    {
                                        "required": [
                                            "timeMarker",
                                            "restrictionCode",
                                            "sequenceNo",
                                            "outRet",
                                            "monday",
                                            "tuesday",
                                            "wednesday",
                                            "thursday",
                                            "friday",
                                            "saturday",
                                            "sunday",
                                            "startDate",
                                            "endDate"
                                        ],
                                        "additionalProperties": false,
                                        "properties": {
                                            "timeMarker": {
                                                "type": "string"
                                            },
                                            "restrictionCode": {
                                                "type": "string"
                                            },
                                            "sequenceNo": {
                                                "type": "string"
                                            },
                                            "outRet": {
                                                "type": "string"
                                            },
                                            "monday": {
                                                "type": "integer"
                                            },
                                            "tuesday": {
                                                "type": "integer"
                                            },
                                            "wednesday": {
                                                "type": "integer"
                                            },
                                            "thursday": {
                                                "type": "integer"
                                            },
                                            "friday": {
                                                "type": "integer"
                                            },
                                            "saturday": {
                                                "type": "integer"
                                            },
                                            "sunday": {
                                                "type": "integer"
                                            },
                                            "startDate": {
                                                "type": "string"
                                            },
                                            "endDate": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "restrictionTimeToc": {
                            "type": "array",
                            "items": {
                                "allOf": [
                                    {
                                        "required": [
                                            "timeMarker",
                                            "restrictionCode",
                                            "sequenceNo",
                                            "outRet",
                                            "tocCode"
                                        ],
                                        "additionalProperties": false,
                                        "properties": {
                                            "timeMarker": {
                                                "type": "string"
                                            },
                                            "restrictionCode": {
                                                "type": "string"
                                            },
                                            "sequenceNo": {
                                                "type": "string"
                                            },
                                            "outRet": {
                                                "type": "string"
                                            },
                                            "tocCode": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "restrictionTrain": {
                            "type": "array",
                            "items": {
                                "allOf": [
                                    {
                                        "required": [
                                            "timeMarker",
                                            "restrictionCode",
                                            "trainNo",
                                            "outRet",
                                            "location",
                                            "quotaInd",
                                            "arrDep",
                                            "sleeperInd",
                                            "startDate",
                                            "endDate"
                                        ],
                                        "additionalProperties": false,
                                        "properties": {
                                            "timeMarker": {
                                                "type": "string"
                                            },
                                            "restrictionCode": {
                                                "type": "string"
                                            },
                                            "trainNo": {
                                                "type": "string"
                                            },
                                            "outRet": {
                                                "type": "string"
                                            },
                                            "location": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            },
                                            "quotaInd": {
                                                "type": "string"
                                            },
                                            "arrDep": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            },
                                            "sleeperInd": {
                                                "type": "string"
                                            },
                                            "startDate": {
                                                "type": "string"
                                            },
                                            "endDate": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "restrictionTrainDate": {
                            "type": "array",
                            "items": {
                                "allOf": [
                                    {
                                        "required": [
                                            "timeMarker",
                                            "restrictionCode",
                                            "trainNo",
                                            "outRet",
                                            "monday",
                                            "tuesday",
                                            "wednesday",
                                            "thursday",
                                            "friday",
                                            "saturday",
                                            "sunday",
                                            "startDate",
                                            "endDate"
                                        ],
                                        "additionalProperties": false,
                                        "properties": {
                                            "timeMarker": {
                                                "type": "string"
                                            },
                                            "restrictionCode": {
                                                "type": "string"
                                            },
                                            "trainNo": {
                                                "type": "string"
                                            },
                                            "outRet": {
                                                "type": "string"
                                            },
                                            "monday": {
                                                "type": "integer"
                                            },
                                            "tuesday": {
                                                "type": "integer"
                                            },
                                            "wednesday": {
                                                "type": "integer"
                                            },
                                            "thursday": {
                                                "type": "integer"
                                            },
                                            "friday": {
                                                "type": "integer"
                                            },
                                            "saturday": {
                                                "type": "integer"
                                            },
                                            "sunday": {
                                                "type": "integer"
                                            },
                                            "startDate": {
                                                "type": "string"
                                            },
                                            "endDate": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "restrictionTrainQuota": {
                            "type": "array",
                            "items": {
                                "allOf": [
                                    {
                                        "required": [
                                            "timeMarker",
                                            "restrictionCode",
                                            "trainNo",
                                            "outRet",
                                            "location",
                                            "quotaInd",
                                            "arrDep",
                                            "sleeperInd",
                                            "startDate",
                                            "endDate"
                                        ],
                                        "additionalProperties": false,
                                        "properties": {
                                            "timeMarker": {
                                                "type": "string"
                                            },
                                            "restrictionCode": {
                                                "type": "string"
                                            },
                                            "trainNo": {
                                                "type": "string"
                                            },
                                            "outRet": {
                                                "type": "string"
                                            },
                                            "location": {
                                                "type": "string"
                                            },
                                            "quotaInd": {
                                                "type": "string"
                                            },
                                            "arrDep": {
                                                "type": "string"
                                            },
                                            "sleeperInd": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            },
                                            "startDate": {
                                                "type": "string"
                                            },
                                            "endDate": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                ]
                            }
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "restrictionHeader": [
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "description": "IEC OFF-PEAK",
                "descOut": "NOT VALID ARRIVING INTO LONDON BEFORE 1008 M-F",
                "descRtn": "NOT VALID FROM LONDON 0645-0759 M-F&1559-1745 M-TH",
                "typeOut": "P",
                "typeRtn": "N",
                "changeInd": "1"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "description": "IEC OFF-PEAK",
                "descOut": "NOT VALID ARRIVING INTO LONDON BEFORE 1008 M-F",
                "descRtn": "NOT VALID FROM LONDON 0645-0759 M-F&1559-1745 M-TH",
                "typeOut": "P",
                "typeRtn": "N",
                "changeInd": "1"
            }
        ],
        "restrictionRailcard": [
            {
                "timeMarker": "C",
                "restrictionCode": "BU",
                "railcardCode": "BUD",
                "restrictionSequence": "0001",
                "ticketCode": "",
                "routeCode": "",
                "locationCrs": "   ",
                "totalBan": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "BU",
                "railcardCode": "BUD",
                "restrictionSequence": "0001",
                "ticketCode": "",
                "routeCode": "",
                "locationCrs": "   ",
                "totalBan": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            }
        ],
        "restrictionTime": [
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0001",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:29",
                "arrDepVia": "D",
                "location": "",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0001",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:29",
                "arrDepVia": "D",
                "location": "",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0002",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "ZFD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0002",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "ZFD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0003",
                "outRet": "O",
                "timeFrom": "00:06:39",
                "timeTo": "00:10:47",
                "arrDepVia": "A",
                "location": "MKC",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0003",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "ZFD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0004",
                "outRet": "O",
                "timeFrom": "00:06:44",
                "timeTo": "00:10:44",
                "arrDepVia": "A",
                "location": "WFJ",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0004",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:50",
                "arrDepVia": "D",
                "location": "MKC",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "O",
                "timeFrom": "00:07:20",
                "timeTo": "00:11:29",
                "arrDepVia": "A",
                "location": "EUS",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:37",
                "arrDepVia": "D",
                "location": "WFJ",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0006",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:29",
                "arrDepVia": "A",
                "location": "BDM",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0006",
                "outRet": "R",
                "timeFrom": "00:14:39",
                "timeTo": "00:18:37",
                "arrDepVia": "D",
                "location": "WFJ",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0007",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:03",
                "arrDepVia": "A",
                "location": "LUT",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0007",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:25",
                "arrDepVia": "D",
                "location": "EUS",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0008",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:02",
                "arrDepVia": "A",
                "location": "STP",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0008",
                "outRet": "R",
                "timeFrom": "00:15:01",
                "timeTo": "00:18:44",
                "arrDepVia": "D",
                "location": "EUS",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0009",
                "outRet": "O",
                "timeFrom": "00:01:00",
                "timeTo": "00:10:04",
                "arrDepVia": "A",
                "location": "PAD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0009",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:00",
                "arrDepVia": "D",
                "location": "BDM",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0010",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:08:56",
                "arrDepVia": "D",
                "location": "BTH",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0010",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:00",
                "arrDepVia": "D",
                "location": "LUT",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0011",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:03",
                "arrDepVia": "A",
                "location": "LTN",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0011",
                "outRet": "R",
                "timeFrom": "00:16:30",
                "timeTo": "00:18:58",
                "arrDepVia": "D",
                "location": "LUT",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0012",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "BFR",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0012",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:08:46",
                "arrDepVia": "D",
                "location": "STP",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0013",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "CTK",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0013",
                "outRet": "R",
                "timeFrom": "00:16:35",
                "timeTo": "00:18:46",
                "arrDepVia": "D",
                "location": "STP",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0014",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "LBG",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0014",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:08:56",
                "arrDepVia": "D",
                "location": "BTH",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0015",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "EPH",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0015",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:00",
                "arrDepVia": "D",
                "location": "LTN",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0016",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:02",
                "arrDepVia": "A",
                "location": "ECR",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0016",
                "outRet": "R",
                "timeFrom": "00:16:30",
                "timeTo": "00:18:58",
                "arrDepVia": "D",
                "location": "LTN",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0017",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:02",
                "arrDepVia": "A",
                "location": "NWD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0017",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "BFR",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0018",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "HHY",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0018",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "BFR",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "timeFrom": "00:04:00",
                "timeTo": "00:09:56",
                "arrDepVia": "A",
                "location": "SVG",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "CTK",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0020",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "FPK",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0020",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "CTK",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "KGX",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "LBG",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0022",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:59",
                "arrDepVia": "A",
                "location": "LST",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0022",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "LBG",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0023",
                "outRet": "O",
                "timeFrom": "00:04:00",
                "timeTo": "00:07:20",
                "arrDepVia": "D",
                "location": "TTF",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0023",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "EPH",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0024",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "EPH",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0025",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:08:46",
                "arrDepVia": "D",
                "location": "ECR",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0026",
                "outRet": "R",
                "timeFrom": "00:16:35",
                "timeTo": "00:18:46",
                "arrDepVia": "D",
                "location": "ECR",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0027",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:08:46",
                "arrDepVia": "D",
                "location": "NWD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0028",
                "outRet": "R",
                "timeFrom": "00:16:35",
                "timeTo": "00:18:46",
                "arrDepVia": "D",
                "location": "NWD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0029",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "HHY",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0030",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "HHY",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0031",
                "outRet": "R",
                "timeFrom": "00:06:25",
                "timeTo": "00:08:16",
                "arrDepVia": "D",
                "location": "HIT",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0032",
                "outRet": "R",
                "timeFrom": "00:15:52",
                "timeTo": "00:17:32",
                "arrDepVia": "D",
                "location": "HIT",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "timeFrom": "00:07:15",
                "timeTo": "00:08:14",
                "arrDepVia": "D",
                "location": "SVG",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "timeFrom": "00:16:18",
                "timeTo": "00:17:57",
                "arrDepVia": "D",
                "location": "SVG",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0035",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "FPK",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0036",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "FPK",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "KGX",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "KGX",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0039",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:29",
                "arrDepVia": "D",
                "location": "LST",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0040",
                "outRet": "R",
                "timeFrom": "00:16:30",
                "timeTo": "00:18:58",
                "arrDepVia": "D",
                "location": "LST",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0001",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:29",
                "arrDepVia": "D",
                "location": "",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0001",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:29",
                "arrDepVia": "D",
                "location": "",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0002",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "ZFD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0002",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "ZFD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0003",
                "outRet": "O",
                "timeFrom": "00:06:39",
                "timeTo": "00:10:47",
                "arrDepVia": "A",
                "location": "MKC",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0003",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "ZFD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0004",
                "outRet": "O",
                "timeFrom": "00:06:44",
                "timeTo": "00:10:44",
                "arrDepVia": "A",
                "location": "WFJ",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0004",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:50",
                "arrDepVia": "D",
                "location": "MKC",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "O",
                "timeFrom": "00:07:20",
                "timeTo": "00:11:29",
                "arrDepVia": "A",
                "location": "EUS",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:37",
                "arrDepVia": "D",
                "location": "WFJ",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0006",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:29",
                "arrDepVia": "A",
                "location": "BDM",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0006",
                "outRet": "R",
                "timeFrom": "00:14:39",
                "timeTo": "00:18:37",
                "arrDepVia": "D",
                "location": "WFJ",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0007",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:03",
                "arrDepVia": "A",
                "location": "LUT",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0007",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:25",
                "arrDepVia": "D",
                "location": "EUS",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0008",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:02",
                "arrDepVia": "A",
                "location": "STP",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0008",
                "outRet": "R",
                "timeFrom": "00:15:01",
                "timeTo": "00:18:44",
                "arrDepVia": "D",
                "location": "EUS",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0009",
                "outRet": "O",
                "timeFrom": "00:01:00",
                "timeTo": "00:10:04",
                "arrDepVia": "A",
                "location": "PAD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0009",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:00",
                "arrDepVia": "D",
                "location": "BDM",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0010",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:08:56",
                "arrDepVia": "D",
                "location": "BTH",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0010",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:00",
                "arrDepVia": "D",
                "location": "LUT",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0011",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:03",
                "arrDepVia": "A",
                "location": "LTN",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0011",
                "outRet": "R",
                "timeFrom": "00:16:30",
                "timeTo": "00:18:58",
                "arrDepVia": "D",
                "location": "LUT",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0012",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "BFR",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0012",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:08:46",
                "arrDepVia": "D",
                "location": "STP",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0013",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "CTK",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0013",
                "outRet": "R",
                "timeFrom": "00:16:35",
                "timeTo": "00:18:46",
                "arrDepVia": "D",
                "location": "STP",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0014",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "LBG",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0014",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:08:56",
                "arrDepVia": "D",
                "location": "BTH",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0015",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "EPH",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0015",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:00",
                "arrDepVia": "D",
                "location": "LTN",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0016",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:02",
                "arrDepVia": "A",
                "location": "ECR",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0016",
                "outRet": "R",
                "timeFrom": "00:16:30",
                "timeTo": "00:18:58",
                "arrDepVia": "D",
                "location": "LTN",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0017",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:02",
                "arrDepVia": "A",
                "location": "NWD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0017",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "BFR",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0018",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "HHY",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0018",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "BFR",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "timeFrom": "00:04:00",
                "timeTo": "00:09:56",
                "arrDepVia": "A",
                "location": "SVG",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "CTK",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0020",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "FPK",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0020",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "CTK",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:10:07",
                "arrDepVia": "A",
                "location": "KGX",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "LBG",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0022",
                "outRet": "O",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:59",
                "arrDepVia": "A",
                "location": "LST",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0022",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "LBG",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0023",
                "outRet": "O",
                "timeFrom": "00:04:00",
                "timeTo": "00:07:20",
                "arrDepVia": "D",
                "location": "TTF",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0023",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "EPH",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0024",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "EPH",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0025",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:08:46",
                "arrDepVia": "D",
                "location": "ECR",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0026",
                "outRet": "R",
                "timeFrom": "00:16:35",
                "timeTo": "00:18:46",
                "arrDepVia": "D",
                "location": "ECR",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0027",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:08:46",
                "arrDepVia": "D",
                "location": "NWD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0028",
                "outRet": "R",
                "timeFrom": "00:16:35",
                "timeTo": "00:18:46",
                "arrDepVia": "D",
                "location": "NWD",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0029",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "HHY",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0030",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "HHY",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0031",
                "outRet": "R",
                "timeFrom": "00:06:25",
                "timeTo": "00:08:16",
                "arrDepVia": "D",
                "location": "HIT",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0032",
                "outRet": "R",
                "timeFrom": "00:15:52",
                "timeTo": "00:17:32",
                "arrDepVia": "D",
                "location": "HIT",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "timeFrom": "00:07:15",
                "timeTo": "00:08:14",
                "arrDepVia": "D",
                "location": "SVG",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "timeFrom": "00:16:18",
                "timeTo": "00:17:57",
                "arrDepVia": "D",
                "location": "SVG",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0035",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "FPK",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0036",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "FPK",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "timeFrom": "00:06:45",
                "timeTo": "00:07:58",
                "arrDepVia": "D",
                "location": "KGX",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "timeFrom": "00:15:58",
                "timeTo": "00:17:45",
                "arrDepVia": "D",
                "location": "KGX",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0039",
                "outRet": "R",
                "timeFrom": "00:04:30",
                "timeTo": "00:09:29",
                "arrDepVia": "D",
                "location": "LST",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0040",
                "outRet": "R",
                "timeFrom": "00:16:30",
                "timeTo": "00:18:58",
                "arrDepVia": "D",
                "location": "LST",
                "rstrType": "T",
                "trainType": "A",
                "minFareFlag": "0",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            }
        ],
        "restrictionTimeDate": [
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0003",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0003",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0003",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0003",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0003",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0018",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0018",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0018",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0018",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0018",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0020",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0020",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0020",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0020",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0020",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0022",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0022",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0022",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0022",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0022",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0024",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0024",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0024",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0024",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0024",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0030",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0030",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0030",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0030",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0030",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0036",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0036",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0036",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0036",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0036",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0019",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0021",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0033",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0034",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0037",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0038",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 0,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            }
        ],
        "restrictionTimeToc": [
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0001",
                "outRet": "O",
                "tocCode": "XC"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0001",
                "outRet": "R",
                "tocCode": "XC"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "O",
                "tocCode": "CS"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "O",
                "tocCode": "LM"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "O",
                "tocCode": "LO"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "O",
                "tocCode": "SR"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "O",
                "tocCode": "VT"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0001",
                "outRet": "O",
                "tocCode": "XC"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0001",
                "outRet": "R",
                "tocCode": "XC"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "O",
                "tocCode": "CS"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "O",
                "tocCode": "LM"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "O",
                "tocCode": "LO"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "O",
                "tocCode": "SR"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "sequenceNo": "0005",
                "outRet": "O",
                "tocCode": "VT"
            }
        ],
        "restrictionTrain": [
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C76152",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C77350",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C77559",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78532",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78534",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78535",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78536",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78538",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78539",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78543",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78544",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78545",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78546",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78548",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78549",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78550",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78552",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "1D",
                "trainNo": "C78553",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "C11125",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "C11147",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "C11369",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61049",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61050",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61051",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61054",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61055",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61056",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61062",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61063",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61064",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61067",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61068",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61069",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61072",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61073",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "1D",
                "trainNo": "G61074",
                "outRet": "O",
                "location": null,
                "quotaInd": "N",
                "arrDep": null,
                "sleeperInd": "N",
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            }
        ],
        "restrictionTrainDate": [
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81206",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81206",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81206",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81206",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81206",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81206",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81206",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81206",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81206",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "C",
                "restrictionCode": "GZ",
                "trainNo": "Y81206",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71881",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y71900",
                "outRet": "R",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            },
            {
                "timeMarker": "F",
                "restrictionCode": "GZ",
                "trainNo": "Y81201",
                "outRet": "O",
                "monday": 1,
                "tuesday": 1,
                "wednesday": 1,
                "thursday": 1,
                "friday": 1,
                "saturday": 0,
                "sunday": 0,
                "startDate": "2019-01-02",
                "endDate": "2999-12-31"
            }
        ],
        "restrictionTrainQuota": [
            {
                "timeMarker": "C",
                "restrictionCode": "1A",
                "trainNo": "L80549",
                "outRet": "R",
                "location": "BTP",
                "quotaInd": "",
                "arrDep": "A",
                "sleeperInd": null,
                "startDate": "2018-09-02",
                "endDate": "2019-01-01"
            }
        ]
    },
    "links": []
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Restriction 123 was not found"
}

GET /ticket-categories

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "anytime": {
                            "type": "array"
                        },
                        "off-peak": {
                            "type": "array"
                        },
                        "advance": {
                            "type": "array"
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "anytime": [
            "MCA"
        ],
        "off-peak": [
            "TKR",
            "YFR"
        ],
        "advance": [
            "WC1",
            "WCC",
            "XS8"
        ]
    },
    "links": []
}

GET /sleeper-tickets

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "additionalProperties": true
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "1D0": {
            "min": 1,
            "max": 5
        },
        "2D0": {
            "min": 1,
            "max": 1
        },
        "SSR": {
            "min": 2,
            "max": 2
        }
    },
    "links": []
}
URI parameters

string originNlc (required)

Pattern: ^[[:alnum:]]{3,4}$

string destinationNlc (required)

Pattern: ^[[:alnum:]]{3,4}$

string routeCode (required)

Pattern: ^\d{5}$

string ticketCode (required)

Pattern: ^[A-Z0-9]{3}$

string date (required)

Pattern: ^\d{4}-\d{2}-\d{2}$

GET /product-type/search/{originNlc}/{destinationNlc}/{routeCode}/{ticketCode}/{date}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                        "id": {
                            "type": "string"
                        },
                        "iin": {
                            "type": "string"
                        },
                        "oid": {
                            "type": "string"
                        },
                        "typ": {
                            "type": "integer"
                        },
                        "ptyp": {
                            "type": "integer"
                        }
                    },
                    "required": [
                        "id",
                        "iin",
                        "oid",
                        "typ",
                        "ptyp"
                    ]
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "id": "05EO",
        "iin": "633597",
        "oid": "0246",
        "typ": 23,
        "ptyp": 1
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Did not find any products with given criteria"
}

GET /reservation-supplement-finder

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array",
                                "string"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Resolved URIs from 'data' section ",
                            "type": [
                                "array",
                                "object"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": "/supplement-type/CAX",
    "links": {
        "/supplement-type/CAX": {
            "code": "CAX",
            "type": "SLE",
            "capriCode": "ZMW",
            "description": "CLSC RESERVATION",
            "shortDescription": "CLSC RESVTN ",
            "price": 0,
            "minGroup": 2,
            "maxGroup": 6,
            "class": 2,
            "isSeparateTicket": true,
            "sundryCode": null,
            "packageDirections": []
        }
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array",
                        "string"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Resolved URIs from 'data' section ",
                    "type": [
                        "array",
                        "object"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

Journey Planning

This API has its own page: Journey Planning.

This API is documented at https://docs.assertis.co.uk/journey-planning.html.

Journey Planning Reference Data

This API has its own page: Journey Planning Reference Data.

This API is documented at https://docs.assertis.co.uk/journey-planning-reference-data.html.

Orders

Orders in the AWT are a heavily nested data structure with many sub-elements. Until an order has sufficient payment records it is considered an incomplete basket with an expiry date set by the server. When enough payment records have been added to cover the cost of the items the order sold callback will be triggered and the order will be sent for fulfilment. At present only one fulfilment method is allowed per order.

The items in an order can either be a trip or a sundry. A trip is analogous to a basket item whereas a sundry is an additional item, such as a delivery fee or card fee.

POST /order

Create an order. This endpoint will return an API token that will be needed for future modification of the order. It can create also change of journey order.

Request schema (show)
{
    "type": "object",
    "properties": {
        "items": {
            "oneOf": [
                {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "outward": {
                                "description": "for outward fare option",
                                "type": "object",
                                "required": [
                                    "journey",
                                    "reservationPreferences"
                                ],
                                "additionalProperties": false,
                                "properties": {
                                    "journey": {
                                        "type": "string",
                                        "pattern": "^/odyssey/journey/.+$"
                                    },
                                    "reservationRequested": {
                                        "type": "boolean"
                                    },
                                    "reservationPreferences": {
                                        "type": "array",
                                        "items": {
                                            "enum": [
                                                "AISL",
                                                "WIND",
                                                "AIRL",
                                                "TABL",
                                                "FACE",
                                                "BACK",
                                                "QUIE"
                                            ]
                                        }
                                    }
                                }
                            },
                            "inward": {
                                "description": "for inward (in case of 2 singles or return ticket) ticket",
                                "type": "object",
                                "required": [
                                    "journey",
                                    "reservationPreferences"
                                ],
                                "additionalProperties": false,
                                "properties": {
                                    "journey": {
                                        "type": "string",
                                        "pattern": "^/odyssey/journey/.+$"
                                    },
                                    "reservationRequested": {
                                        "type": "boolean"
                                    },
                                    "reservationPreferences": {
                                        "type": "array",
                                        "items": {
                                            "enum": [
                                                "AISL",
                                                "WIND",
                                                "AIRL",
                                                "TABL",
                                                "FACE",
                                                "BACK",
                                                "QUIE"
                                            ]
                                        }
                                    }
                                }
                            },
                            "fares": {
                                "type": "object",
                                "properties": {
                                    "outwardSingle": {
                                        "type": "string",
                                        "pattern": "^/odyssey/fare-option/.+$"
                                    },
                                    "inwardSingle": {
                                        "type": "string",
                                        "pattern": "^/odyssey/fare-option/.+$"
                                    },
                                    "return": {
                                        "type": "string",
                                        "pattern": "^/odyssey/fare-option/.+$"
                                    },
                                    "carnet": {
                                        "fareOption": {
                                            "type": "string",
                                            "pattern": "^/odyssey/fare-option/.+$"
                                        },
                                        "validFrom": {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                                        }
                                    },
                                    "travelcard": {
                                        "type": "string",
                                        "pattern": "^/odyssey/fare-option/.+$"
                                    }
                                },
                                "additionalProperties": false
                            },
                            "addons": {
                                "type": "object",
                                "properties": {
                                    "outward": {
                                        "origin": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "pattern": "^/odyssey/fare-option/addon/.+$"
                                            }
                                        },
                                        "destination": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "pattern": "^/odyssey/fare-option/addon/.+$"
                                            }
                                        }
                                    },
                                    "inward": {
                                        "origin": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "pattern": "^/odyssey/fare-option/addon/.+$"
                                            }
                                        },
                                        "destination": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "pattern": "^/odyssey/fare-option/addon/.+$"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "additionalProperties": false
                    }
                },
                {
                    "type": "object",
                    "properties": {
                        "outward": {
                            "description": "for outward fare option",
                            "type": "object",
                            "required": [
                                "journey",
                                "reservationPreferences"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "journey": {
                                    "type": "string",
                                    "pattern": "^/odyssey/journey/.+$"
                                },
                                "reservationRequested": {
                                    "type": "boolean"
                                },
                                "reservationPreferences": {
                                    "type": "array",
                                    "items": {
                                        "enum": [
                                            "AISL",
                                            "WIND",
                                            "AIRL",
                                            "TABL",
                                            "FACE",
                                            "BACK",
                                            "QUIE"
                                        ]
                                    }
                                }
                            }
                        },
                        "inward": {
                            "description": "for inward (in case of 2 singles or return ticket) ticket",
                            "type": "object",
                            "required": [
                                "journey",
                                "reservationPreferences"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "journey": {
                                    "type": "string",
                                    "pattern": "^/odyssey/journey/.+$"
                                },
                                "reservationRequested": {
                                    "type": "boolean"
                                },
                                "reservationPreferences": {
                                    "type": "array",
                                    "items": {
                                        "enum": [
                                            "AISL",
                                            "WIND",
                                            "AIRL",
                                            "TABL",
                                            "FACE",
                                            "BACK",
                                            "QUIE"
                                        ]
                                    }
                                }
                            }
                        },
                        "fares": {
                            "type": "object",
                            "properties": {
                                "outwardSingle": {
                                    "type": "string",
                                    "pattern": "^/odyssey/fare-option/.+$"
                                },
                                "inwardSingle": {
                                    "type": "string",
                                    "pattern": "^/odyssey/fare-option/.+$"
                                },
                                "return": {
                                    "type": "string",
                                    "pattern": "^/odyssey/fare-option/.+$"
                                },
                                "carnet": {
                                    "fareOption": {
                                        "type": "string",
                                        "pattern": "^/odyssey/fare-option/.+$"
                                    },
                                    "validFrom": {
                                        "type": "string",
                                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                                    }
                                },
                                "travelcard": {
                                    "type": "string",
                                    "pattern": "^/odyssey/fare-option/.+$"
                                }
                            },
                            "additionalProperties": false
                        },
                        "addons": {
                            "type": "object",
                            "properties": {
                                "outward": {
                                    "origin": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "pattern": "^/odyssey/fare-option/addon/.+$"
                                        }
                                    },
                                    "destination": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "pattern": "^/odyssey/fare-option/addon/.+$"
                                        }
                                    }
                                },
                                "inward": {
                                    "origin": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "pattern": "^/odyssey/fare-option/addon/.+$"
                                        }
                                    },
                                    "destination": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "pattern": "^/odyssey/fare-option/addon/.+$"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "additionalProperties": false
                }
            ]
        },
        "referrer": {
            "type": "string"
        },
        "campaign": {
            "type": "string"
        },
        "links": {
            "type": [
                "array",
                "object"
            ]
        },
        "originalTickets": {
            "type": "string"
        }
    },
    "required": [
        "items"
    ],
    "additionalProperties": false
}
Request example (show)
{
    "items": {
        "fares": {
            "outwardSingle": "/odyssey/fare-option/161:/fare/8649-1444-00345-2S8-000-1-U6--161-1-0--2-0"
        },
        "outward": {
            "reservationPreferences": [],
            "journey": "/odyssey/journey/161:161:INV_EUS_C83856"
        }
    }
}
201 application/json
Response headers

string Location (required)

Response schema (show)
{
    "description": "Response with data",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "$schema": "http://json-schema.org/schema",
    "allOf": [
        {
            "$ref": "../Shared/ResponseWithData.jschema"
        },
        {
            "properties": {
                "data": {
                    "properties": {
                        "uri": {
                            "$ref": "../Shared/Types.jschema#/definitions/PassengerAssistURI"
                        }
                    },
                    "required": [
                        "uri"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
422 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
424 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /order/{id}

Return an order and the products and payments inside the order.

Parameters

string include

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "tenant": {
                            "type": "string",
                            "pattern": "^[a-z]+$"
                        },
                        "state": {
                            "description": "Order state",
                            "type": "string",
                            "enum": [
                                "Held",
                                "Sold",
                                "Fulfilled",
                                "Cancelled",
                                "Non Issued"
                            ]
                        },
                        "owner": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "retailer": {
                            "type": "string",
                            "pattern": "^[0-9]{4}$"
                        },
                        "purchased": {
                            "oneOf": [
                                {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                        }
                                    ]
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "created": {
                            "oneOf": [
                                {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                        }
                                    ]
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "updated": {
                            "oneOf": [
                                {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                        }
                                    ]
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "channel": {
                            "type": "string"
                        },
                        "referrer": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "campaign": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "originalOrder": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "travelReason": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "items": {
                            "type": "array",
                            "items": {
                                "oneOf": [
                                    {
                                        "type": "string",
                                        "pattern": "^/trip/[0-9]+$"
                                    },
                                    {
                                        "type": "string",
                                        "pattern": "^/sundry/[0-9]+$"
                                    }
                                ]
                            }
                        },
                        "payments": {
                            "description": "URLs for direct payment entities",
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^/(st-card|warrant|card)-payment|paypal|account-warrant/[0-9]+$"
                            }
                        },
                        "orderPayments": {
                            "description": "URLs for internal OrderService payment entities",
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^/(st-card|warrant|card)-payment|paypal|account-warrant/[0-9]+$"
                            }
                        },
                        "customer": {
                            "type": "string",
                            "pattern": "^/customer/[0-9]+$"
                        },
                        "delivery": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "type": {
                                    "type": "string",
                                    "pattern": "^/delivery/.+$"
                                },
                                "sundry": {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^/sundry/[0-9]+$"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                },
                                "fulfilmentMethod": {
                                    "type": "number"
                                },
                                "collectionReference": {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^[0-9A-Z]{8}$"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                },
                                "smartcardUri": {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^/(smartcards|external-smartcards|temporary-smartcards)/[A-Z0-9]+$"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                },
                                "address": {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^/address/[0-9]+$"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                },
                                "tracking": {
                                    "description": "Royal Mail tracking for a tracked CCST postal delivery (RMR1S, RMS05, RMS25); null otherwise",
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "number": {
                                                    "type": "string"
                                                },
                                                "url": {
                                                    "type": "string",
                                                    "format": "uri"
                                                },
                                                "deliveryMethodCode": {
                                                    "type": "string",
                                                    "enum": [
                                                        "RMR1S",
                                                        "RMS05",
                                                        "RMS25"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "number",
                                                "url",
                                                "deliveryMethodCode"
                                            ],
                                            "additionalProperties": false
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                }
                            }
                        },
                        "fulfilment": {
                            "type": "string",
                            "pattern": "^/order/[0-9]+/fulfilment$"
                        },
                        "totalPrice": {
                            "description": "An amount of GBP pence",
                            "type": "integer"
                        },
                        "totalLeftToPay": {
                            "oneOf": [
                                {
                                    "description": "An amount of GBP pence",
                                    "type": "integer"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "changeoverExtraPence": {
                            "oneOf": [
                                {
                                    "description": "An amount of GBP pence",
                                    "type": "integer"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "priceIncrease": {
                            "oneOf": [
                                {
                                    "description": "An amount of GBP pence",
                                    "type": "integer"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "priceCoveredByOriginalTickets": {
                            "oneOf": [
                                {
                                    "description": "An amount of GBP pence",
                                    "type": "integer"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "priceOfOriginalTickets": {
                            "oneOf": [
                                {
                                    "description": "An amount of GBP pence",
                                    "type": "integer"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "cojEvents": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            },
                            "description": "An amount of GBP pence"
                        },
                        "hash": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "tenant",
                        "retailer",
                        "purchased"
                    ],
                    "additionalProperties": false
                },
                "links": {
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "tenant": "company",
        "state": "Fulfilled",
        "owner": "/user/123",
        "retailer": "1234",
        "purchased": "2023-10-30T07:43:38+00:00",
        "created": "2023-10-30T07:43:30+00:00",
        "updated": "2023-10-30T07:43:38+00:00",
        "channel": "WEB",
        "referrer": "",
        "campaign": "",
        "travelReason": null,
        "originalOrder": null,
        "fulfilment": "/order/12/fulfilment",
        "items": [
            "/trip/123",
            "/trip/124",
            "/sundry/123",
            "/sundry/124"
        ],
        "payments": [
            "/st-card-payment/123",
            "/warrant/123456"
        ],
        "orderPayments": [
            "/card-payment/234",
            "/warrant-payment/456"
        ],
        "hash": "0046511fa7c78f066a01250e5c44794fc9d6d000",
        "totalPrice": 5432,
        "totalLeftToPay": 0,
        "delivery": {
            "type": "/delivery/e-ticket",
            "sundry": null,
            "fulfilmentMethod": 6,
            "collectionReference": null,
            "collectionPoint": null,
            "smartcardUri": null,
            "address": "/address/12345",
            "tracking": null
        }
    }
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

PUT /order/{id}

Reclaim order as logged in user.

Headers

string X-Token-Data (required)

Request schema (show)
{
    "type": "any"
}
200 application/json
Response schema (show)
{
    "description": "Response with data",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "$schema": "http://json-schema.org/schema",
    "allOf": [
        {
            "$ref": "../Shared/ResponseWithData.jschema"
        },
        {
            "properties": {
                "data": {
                    "properties": {
                        "uri": {
                            "$ref": "../Shared/Types.jschema#/definitions/PassengerAssistURI"
                        }
                    },
                    "required": [
                        "uri"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

DELETE /order/{id}

Deletes an order and all its trips. Uses distributed locking to prevent concurrent deletes.

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "description": "A standard JSON response",
    "type": "object",
    "required": [
        "status"
    ],
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "description": "Response data",
            "type": [
                "object",
                "array"
            ]
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    }
}
202 application/json
Response headers

string Location (required)

Response schema (show)
{
    "description": "A standard JSON response",
    "type": "object",
    "required": [
        "status"
    ],
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "description": "Response data",
            "type": [
                "object",
                "array"
            ]
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    }
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
422 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "Response with error",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "message"
                    ]
                }
            ]
        },
        {
            "required": [
                "invalidFields"
            ]
        }
    ]
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

GET /order/{id}/state

Return the state of the order.

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "state": {
                            "description": "Order state",
                            "type": "string",
                            "enum": [
                                "Held",
                                "Sold",
                                "Fulfilled",
                                "Cancelled",
                                "Non Issued"
                            ]
                        }
                    },
                    "required": [
                        "state"
                    ],
                    "additionalProperties": false
                },
                "links": {
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "state": "Fulfilled"
    }
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

POST /order/{id}/confirmation

Re-send order confirmation email

Headers

string X-Token-Data (required)

Request schema (show)
{
    "type": "array",
    "additionalProperties": false
}
200 application/json
Response schema (show)
{
    "description": "A standard JSON response",
    "type": "object",
    "required": [
        "status"
    ],
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "description": "Response data",
            "type": [
                "object",
                "array"
            ]
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    }
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

POST /order/{id}/travel-reason

Add travel reason to existing order

Request schema (show)
{
    "type": "object",
    "properties": {
        "reason": {
            "type": "string",
            "description": "A travel reason of the customer. Can be any string"
        }
    },
    "required": [
        "reason"
    ],
    "additionalProperties": false
}
Request example (show)
{
    "reason": "Ditching"
}
200 application/json
Response schema (show)
{
    "description": "A standard JSON response",
    "type": "object",
    "required": [
        "status"
    ],
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "description": "Response data",
            "type": [
                "object",
                "array"
            ]
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

POST /order/{id}/cost-centres

Add cost centres to existing not yet sold order

Request schema (show)
{
    "type": "object",
    "properties": {
        "costCentres": {
            "type": "string"
        }
    },
    "required": [
        "costCentres"
    ],
    "additionalProperties": false
}
Request example (show)
{
    "costCentres": "Cost centre 1, Cost centre 2"
}
200 application/json
Response schema (show)
{
    "description": "A standard JSON response",
    "type": "object",
    "required": [
        "status"
    ],
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "description": "Response data",
            "type": [
                "object",
                "array"
            ]
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

GET /order/{id}/payments

Returns payment URIs for the order and any associated CoJ original orders, keyed by order ID.

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "type": "object",
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "type": "object",
            "description": "Map of order ID to array of payment URIs. Includes the requested order and any CoJ original orders.",
            "additionalProperties": {
                "type": "array",
                "items": {
                    "type": "string",
                    "description": "URI of a payment record (e.g. /card-payment/1)"
                }
            }
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    },
    "required": [
        "status"
    ],
    "additionalProperties": false
}
Response example (show)
{
    "status": "success",
    "data": {
        "123": [
            "/card-payment/1",
            "/warrant-payment/2"
        ]
    }
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

DELETE /order/{id}/trip/{tripId}

Delete trip from existing order. Cancel all trip reservations. If order was already paid for or delivery type was set, trip won't be removed.

200 application/json
Response schema (show)
{
    "description": "A standard JSON response",
    "type": "object",
    "required": [
        "status"
    ],
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "description": "Response data",
            "type": [
                "object",
                "array"
            ]
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

POST /order/{id}/reservation

Reserve seats on a Held order, per trip and direction (MF-2050). For each trip and direction every reservable leg without a seat is reserved, for every passenger. The direction's existing reservation-service booking gains the seats (add-legs); a direction without one gets a new booking. Best effort per item: results[].status is reserved, nothingtoreserve or failed (with a machine-readable reason: tripnotfound, multiplebookings, bookingexpired, noavailability, legacydataunsupported, unsupportedjourney, seatsnotsaved, rarserror, reservationbusy). Nothing is rolled back. Seat supplements raise the order total. reservation_busy: another add was still running on the same booking after a few retries; retry the call shortly.

Request schema (show)
{
    "type": "object",
    "required": [
        "trips"
    ],
    "properties": {
        "trips": {
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "required": [
                    "tripId",
                    "directions"
                ],
                "properties": {
                    "tripId": {
                        "type": "integer"
                    },
                    "directions": {
                        "type": "array",
                        "minItems": 1,
                        "items": {
                            "enum": [
                                "outward",
                                "inward"
                            ]
                        }
                    },
                    "reservationPreferences": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            }
        }
    }
}
Request example (show)
{
    "trips": [
        {
            "tripId": 456,
            "directions": [
                "outward",
                "inward"
            ],
            "reservationPreferences": [
                "WIND"
            ]
        },
        {
            "tripId": 789,
            "directions": [
                "outward"
            ]
        }
    ]
}
200 application/json
Response schema (show)
{
    "description": "Response with data",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "results": [
            {
                "tripId": 456,
                "direction": "outward",
                "status": "reserved"
            },
            {
                "tripId": 456,
                "direction": "inward",
                "status": "nothing_to_reserve"
            },
            {
                "tripId": 789,
                "direction": "outward",
                "status": "failed",
                "reason": "no_availability",
                "message": "No seats are available on this train."
            }
        ],
        "order": {
            "totalPrice": 4550,
            "totalLeftToPay": 4550,
            "expiresAt": "2026-10-09T12:42:00Z"
        }
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
409 application/json
Response schema (show)
{
    "description": "A standard JSON response",
    "type": "object",
    "required": [
        "status"
    ],
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "description": "Response data",
            "type": [
                "object",
                "array"
            ]
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    }
}
422 application/json
Response schema (show)
{
    "description": "A standard JSON response",
    "type": "object",
    "required": [
        "status"
    ],
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "description": "Response data",
            "type": [
                "object",
                "array"
            ]
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    }
}
URI parameters

string customerId (required)

Pattern: ^\d+$

GET /order-by-customer/{customerId}

Return the list of orders by customer id

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "meta": {
                            "type": "object",
                            "properties": {
                                "page": {
                                    "type": "integer"
                                },
                                "perPage": {
                                    "type": "integer"
                                },
                                "lastPage": {
                                    "type": "integer"
                                }
                            }
                        },
                        "data": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^/order/[0-9]+$"
                            }
                        }
                    }
                },
                "links": {
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "meta": {
            "page": 1,
            "perPage": 10,
            "lastPage": 10
        },
        "data": [
            "/order/0001018025",
            "/order/0001018024"
        ]
    }
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

Returns the count of fulfilled unassigned orders matching the authenticated customer's delivery email.

GET /order-number

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "type": "object",
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "integer",
                    "description": "Count of fulfilled unassigned orders matching the customer's delivery email"
                }
            },
            "required": [
                "number"
            ],
            "additionalProperties": false
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    },
    "required": [
        "status"
    ],
    "additionalProperties": false
}
Response example (show)
{
    "status": "success",
    "data": {
        "number": 3
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

Checks whether the authenticated token is authorized to read the specified order.

URI parameters

string id (required)

Pattern: ^\d+$

GET /order-authorized/{id}

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "type": "object",
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "description": "Empty array on success"
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    },
    "required": [
        "status"
    ],
    "additionalProperties": false
}
Response example (show)
{
    "status": "success",
    "data": []
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

Returns an order looked up by one of its ticket IDs.

URI parameters

string id (required)

Pattern: ^\d+$

GET /order-by-ticket-id/{id}

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "tenant": {
                            "type": "string",
                            "pattern": "^[a-z]+$"
                        },
                        "state": {
                            "description": "Order state",
                            "type": "string",
                            "enum": [
                                "Held",
                                "Sold",
                                "Fulfilled",
                                "Cancelled",
                                "Non Issued"
                            ]
                        },
                        "owner": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "retailer": {
                            "type": "string",
                            "pattern": "^[0-9]{4}$"
                        },
                        "purchased": {
                            "oneOf": [
                                {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                        }
                                    ]
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "created": {
                            "oneOf": [
                                {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                        }
                                    ]
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "updated": {
                            "oneOf": [
                                {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                        }
                                    ]
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "channel": {
                            "type": "string"
                        },
                        "referrer": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "campaign": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "originalOrder": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "travelReason": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "items": {
                            "type": "array",
                            "items": {
                                "oneOf": [
                                    {
                                        "type": "string",
                                        "pattern": "^/trip/[0-9]+$"
                                    },
                                    {
                                        "type": "string",
                                        "pattern": "^/sundry/[0-9]+$"
                                    }
                                ]
                            }
                        },
                        "payments": {
                            "description": "URLs for direct payment entities",
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^/(st-card|warrant|card)-payment|paypal|account-warrant/[0-9]+$"
                            }
                        },
                        "orderPayments": {
                            "description": "URLs for internal OrderService payment entities",
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^/(st-card|warrant|card)-payment|paypal|account-warrant/[0-9]+$"
                            }
                        },
                        "customer": {
                            "type": "string",
                            "pattern": "^/customer/[0-9]+$"
                        },
                        "delivery": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "type": {
                                    "type": "string",
                                    "pattern": "^/delivery/.+$"
                                },
                                "sundry": {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^/sundry/[0-9]+$"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                },
                                "fulfilmentMethod": {
                                    "type": "number"
                                },
                                "collectionReference": {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^[0-9A-Z]{8}$"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                },
                                "smartcardUri": {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^/(smartcards|external-smartcards|temporary-smartcards)/[A-Z0-9]+$"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                },
                                "address": {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^/address/[0-9]+$"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                },
                                "tracking": {
                                    "description": "Royal Mail tracking for a tracked CCST postal delivery (RMR1S, RMS05, RMS25); null otherwise",
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "number": {
                                                    "type": "string"
                                                },
                                                "url": {
                                                    "type": "string",
                                                    "format": "uri"
                                                },
                                                "deliveryMethodCode": {
                                                    "type": "string",
                                                    "enum": [
                                                        "RMR1S",
                                                        "RMS05",
                                                        "RMS25"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "number",
                                                "url",
                                                "deliveryMethodCode"
                                            ],
                                            "additionalProperties": false
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                }
                            }
                        },
                        "fulfilment": {
                            "type": "string",
                            "pattern": "^/order/[0-9]+/fulfilment$"
                        },
                        "totalPrice": {
                            "description": "An amount of GBP pence",
                            "type": "integer"
                        },
                        "totalLeftToPay": {
                            "oneOf": [
                                {
                                    "description": "An amount of GBP pence",
                                    "type": "integer"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "changeoverExtraPence": {
                            "oneOf": [
                                {
                                    "description": "An amount of GBP pence",
                                    "type": "integer"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "priceIncrease": {
                            "oneOf": [
                                {
                                    "description": "An amount of GBP pence",
                                    "type": "integer"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "priceCoveredByOriginalTickets": {
                            "oneOf": [
                                {
                                    "description": "An amount of GBP pence",
                                    "type": "integer"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "priceOfOriginalTickets": {
                            "oneOf": [
                                {
                                    "description": "An amount of GBP pence",
                                    "type": "integer"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "cojEvents": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            },
                            "description": "An amount of GBP pence"
                        },
                        "hash": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "tenant",
                        "retailer",
                        "purchased"
                    ],
                    "additionalProperties": false
                },
                "links": {
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "tenant": "company",
        "state": "Fulfilled",
        "owner": "/user/123",
        "retailer": "1234",
        "purchased": "2023-10-30T07:43:38+00:00",
        "created": "2023-10-30T07:43:30+00:00",
        "updated": "2023-10-30T07:43:38+00:00",
        "channel": "WEB",
        "referrer": "",
        "campaign": "",
        "travelReason": null,
        "originalOrder": null,
        "fulfilment": "/order/12/fulfilment",
        "items": [
            "/trip/123",
            "/trip/124",
            "/sundry/123",
            "/sundry/124"
        ],
        "payments": [
            "/st-card-payment/123",
            "/warrant/123456"
        ],
        "orderPayments": [
            "/card-payment/234",
            "/warrant-payment/456"
        ],
        "hash": "0046511fa7c78f066a01250e5c44794fc9d6d000",
        "totalPrice": 5432,
        "totalLeftToPay": 0,
        "delivery": {
            "type": "/delivery/e-ticket",
            "sundry": null,
            "fulfilmentMethod": 6,
            "collectionReference": null,
            "collectionPoint": null,
            "smartcardUri": null,
            "address": "/address/12345",
            "tracking": null
        }
    }
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /trip/{id}

A trip is a equivilent to a single basket item. It may consist of one or two journeys and one to two fare options for those journeys. In addition to the fares for the journeys, fare options for plus bus, season tickets or travelcards may be added.

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "properties": {
                        "outwardJourney": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/journey/[0-9]+$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "returnJourney": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/journey/[0-9]+$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "items": {
                            "type": "object",
                            "properties": {
                                "outwardSingle": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "pattern": "^/ticket/[0-9]+$"
                                    }
                                },
                                "returnSingle": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "pattern": "^/ticket/[0-9]+$"
                                    }
                                },
                                "return": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "pattern": "^/ticket/[0-9]+$"
                                    }
                                },
                                "outwardPlusBus": {
                                    "type": "object",
                                    "properties": {
                                        "origin": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "pattern": "^/ticket/[0-9]+$"
                                            }
                                        },
                                        "destination": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "pattern": "^/ticket/[0-9]+$"
                                            }
                                        }
                                    },
                                    "additionalProperties": false
                                },
                                "returnPlusBus": {
                                    "type": "object",
                                    "properties": {
                                        "origin": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "pattern": "^/ticket/[0-9]+$"
                                            }
                                        },
                                        "destination": {
                                            "type": "array",
                                            "items": {
                                                "type": "string",
                                                "pattern": "^/ticket/[0-9]+$"
                                            }
                                        }
                                    },
                                    "additionalProperties": false
                                },
                                "travelcardAddon": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "pattern": "^/ticket/[0-9]+$"
                                    }
                                },
                                "petTickets": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "pattern": "^/ticket/[0-9]+$"
                                    }
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "required": [
                        "outwardJourney",
                        "returnJourney",
                        "items"
                    ],
                    "additionalProperties": false
                },
                "links": {
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "outwardJourney": "/journey/123456789123",
        "returnJourney": null,
        "items": {
            "outwardSingle": [
                "/ticket/1111",
                "/ticket/1112"
            ],
            "returnSingle": [
                "/ticket/1211",
                "/ticket/1212"
            ],
            "outwardPlusBus": {
                "origin": [
                    "/ticket/1121",
                    "/ticket/1122"
                ]
            },
            "returnPlusBus": {
                "destination": [
                    "/ticket/1221",
                    "/ticket/1222"
                ]
            }
        }
    }
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Trip with id 9223372036854775807 not found."
}

PUT /trip/{id}/seating

Update trip seating

Request schema (show)
{
    "type": "object",
    "additionalProperties": true
}
Request example (show)
{
    "/seat-reservation/1": "K13L",
    "/seat-reservation/3": "L13L"
}
200 application/json
Response schema (show)
{
    "description": "A standard JSON response",
    "type": "object",
    "required": [
        "status"
    ],
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "description": "Response data",
            "type": [
                "object",
                "array"
            ]
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    }
}
Response example (show)
{
    "status": "success",
    "data": {
        "uri": "/trip/123"
    }
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

POST /trip/{id}/nodes

Add trip nodes

Request schema (show)
{
    "type": "object",
    "additionalProperties": true
}
Request example (show)
{
    "children5To11": 3,
    "children12To15": 1
}
200 application/json
Response schema (show)
{
    "description": "A standard JSON response",
    "type": "object",
    "required": [
        "status"
    ],
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "description": "Response data",
            "type": [
                "object",
                "array"
            ]
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    }
}
Response example (show)
{
    "status": "success",
    "data": {
        "uri": "/trip/123"
    }
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

GET /trip/{id}/pax

Returns the passenger count summary for a trip, including adults, children, pets, bikes, and seat reservation details.

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "type": "object",
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "type": "object",
            "properties": {
                "adults": {
                    "type": "integer",
                    "description": "Number of adult passengers"
                },
                "children": {
                    "type": "integer",
                    "description": "Number of child passengers"
                },
                "pets": {
                    "type": "integer",
                    "description": "Number of pets"
                },
                "bikesOnRacks": {
                    "type": "integer",
                    "description": "Number of bikes on racks"
                },
                "bikesInBags": {
                    "type": "integer",
                    "description": "Number of bikes in bags"
                },
                "reservations": {
                    "type": "object",
                    "description": "Seat reservation breakdown by category",
                    "properties": {
                        "rooms": {
                            "type": "object",
                            "description": "Room/sleeper reservations keyed by ticket type and segment",
                            "additionalProperties": true
                        },
                        "bikesOnRacks": {
                            "type": "object",
                            "description": "Bike-on-rack reservations keyed by ticket type and segment",
                            "additionalProperties": true
                        },
                        "bikesInBags": {
                            "type": "object",
                            "description": "Bike-in-bag reservations keyed by ticket type and segment",
                            "additionalProperties": true
                        }
                    },
                    "required": [
                        "rooms",
                        "bikesOnRacks",
                        "bikesInBags"
                    ],
                    "additionalProperties": false
                }
            },
            "required": [
                "adults",
                "children",
                "pets",
                "bikesOnRacks",
                "bikesInBags",
                "reservations"
            ],
            "additionalProperties": false
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    },
    "required": [
        "status"
    ],
    "additionalProperties": false
}
Response example (show)
{
    "status": "success",
    "data": {
        "adults": 2,
        "children": 1,
        "pets": 0,
        "bikesOnRacks": 1,
        "bikesInBags": 0,
        "reservations": {
            "rooms": [],
            "bikesOnRacks": {
                "single": {
                    "KGX_EDB": {
                        "A": [
                            "12",
                            "13"
                        ]
                    }
                }
            },
            "bikesInBags": []
        }
    }
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /ticket/{id}

A ticket is the right to travel for one or more passengers on one or two journeys.

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "properties": {
                        "fare": {
                            "type": "string",
                            "pattern": "^/fare/[0-9]+$"
                        },
                        "adults": {
                            "type": "integer"
                        },
                        "children": {
                            "type": "integer"
                        },
                        "transactionNumber": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{5}$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "reservation": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/reservation/[A-Z0-9]+$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "utn": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "outwardPortion": {
                            "type": "string",
                            "pattern": "^/journey/[0-9]+$"
                        },
                        "returnPortion": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/journey/[0-9]+$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "outwardFareJourney": {
                            "type": "string",
                            "pattern": "^/journey/[0-9]+$"
                        },
                        "returnFareJourney": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/journey/[0-9]+$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "outwardValidity": {
                            "properties": {
                                "validFrom": {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                                },
                                "validTo": {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                                }
                            }
                        },
                        "returnValidity": {
                            "properties": {
                                "validFrom": {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                                },
                                "validTo": {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                                }
                            }
                        },
                        "supplements": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^/supplement/[0-9]+$"
                            }
                        },
                        "seats": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "seat": {
                                        "type": "string",
                                        "pattern": "^/seat-reservation/[0-9]+$"
                                    },
                                    "leg": {
                                        "type": "string",
                                        "pattern": "^/leg/[0-9]+$"
                                    },
                                    "supplement": {
                                        "type": "string",
                                        "pattern": "^/supplement/[0-9]+$"
                                    }
                                },
                                "required": [
                                    "seat",
                                    "leg",
                                    "supplement"
                                ]
                            }
                        },
                        "splitInfo": {
                            "type": "object",
                            "required": [
                                "sectionIds",
                                "outwardOrigin",
                                "outwardDestination",
                                "inwardOrigin",
                                "inwardDestination"
                            ],
                            "properties": {
                                "sectionIds": {
                                    "type": "array",
                                    "items": {
                                        "type": "integer"
                                    },
                                    "examples": [
                                        [
                                            1
                                        ],
                                        [
                                            1,
                                            3,
                                            4
                                        ]
                                    ]
                                },
                                "outwardOrigin": {
                                    "$oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^[A-Z]{3}$"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ],
                                    "examples": [
                                        "EUS",
                                        null
                                    ]
                                },
                                "outwardDestination": {
                                    "$oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^[A-Z]{3}$"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ],
                                    "examples": [
                                        "EUS",
                                        null
                                    ]
                                },
                                "inwardOrigin": {
                                    "$oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^[A-Z]{3}$"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ],
                                    "examples": [
                                        "EUS",
                                        null
                                    ]
                                },
                                "inwardDestination": {
                                    "$oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^[A-Z]{3}$"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ],
                                    "examples": [
                                        "EUS",
                                        null
                                    ]
                                }
                            }
                        },
                        "passenger": {
                            "type": [
                                "string"
                            ]
                        },
                        "originalTicket": {
                            "type": "string",
                            "pattern": "^/ticket/[0-9]+$"
                        },
                        "priceCoveredByOriginalTicket": {
                            "type": [
                                "integer",
                                "null"
                            ]
                        },
                        "ticketPrice": {
                            "type": "integer"
                        },
                        "refundId": {
                            "type": [
                                "integer",
                                "null"
                            ]
                        },
                        "changeoverOf": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/ticket/[0-9]+$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "changeoverCreditPence": {
                            "type": [
                                "integer",
                                "null"
                            ]
                        },
                        "reissueOf": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/ticket/[0-9]+$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "reissueKind": {
                            "enum": [
                                "DUPLICATE",
                                "REPLACEMENT",
                                null
                            ]
                        },
                        "supersededBy": {
                            "oneOf": [
                                {
                                    "type": "object",
                                    "properties": {
                                        "ticket": {
                                            "type": "string",
                                            "pattern": "^/ticket/[0-9]+$"
                                        },
                                        "order": {
                                            "type": "string"
                                        },
                                        "kind": {
                                            "enum": [
                                                "DUPLICATE",
                                                "REPLACEMENT",
                                                null
                                            ]
                                        },
                                        "state": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "ticket",
                                        "order",
                                        "kind",
                                        "state"
                                    ]
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "frtJobId": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "frtTrackingNumber": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    "required": [
                        "fare",
                        "adults",
                        "children",
                        "transactionNumber",
                        "reservation",
                        "utn",
                        "outwardPortion",
                        "outwardFareJourney",
                        "outwardValidity",
                        "returnValidity",
                        "supplements",
                        "seats",
                        "ticketPrice"
                    ],
                    "additionalProperties": false
                },
                "links": {
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "fare": "/fare/5",
        "adults": 1,
        "children": 0,
        "transactionNumber": "00123",
        "reservation": "/reservation/XXXYYY",
        "utn": "AA123456789",
        "outwardPortion": "/journey/1",
        "returnPortion": null,
        "outwardFareJourney": "/journey/1",
        "returnFareJourney": null,
        "outwardValidity": {
            "validFrom": "2017-01-24",
            "validUntil": "2018-01-23"
        },
        "returnValidity": null,
        "supplements": [
            "/supplement/123456"
        ],
        "seats": [
            {
                "seat": "/seat-reservation/123",
                "origin": "WVH",
                "destination": "SGB",
                "leg": "/leg/123",
                "supplement": "/supplement/123456"
            },
            {
                "seat": "/seat-reservation/124",
                "origin": "SGB",
                "destination": "CRA",
                "leg": "/leg/124",
                "supplement": "/supplement/123456"
            }
        ],
        "splitInfo": {
            "sectionIds": [
                1
            ],
            "outwardOrigin": "KID",
            "outwardDestination": "CRA",
            "inwardOrigin": null,
            "inwardDestination": null
        },
        "passenger": "/passenger/123",
        "originalTicket": "/ticket/321998",
        "priceCoveredByOriginalTicket": 520,
        "ticketPrice": 1299,
        "refundId": null
    },
    "links": {
        "/fare/5": [],
        "/reservation/XXXYYY": [],
        "/supplement/123456": [],
        "/ticket/321998": []
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Ticket with id 9223372036854775807 not found."
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /fare/{id}

Abstract information for a ticket. The fare itself contains the origin, destination, route, ticket type and restriction of the fare but is not bound to a particular date range like the ticket. Instead the ticket type has a validity duration.

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "ticketType": {
                            "type": "string",
                            "pattern": "^/ticket-type/[A-Z0-9]{3}$"
                        },
                        "origin": {
                            "type": "string",
                            "pattern": "^/station/[A-Z0-9]+$"
                        },
                        "destination": {
                            "type": "string",
                            "pattern": "^/station/[A-Z0-9]+$"
                        },
                        "price": {
                            "type": "number"
                        },
                        "originalPrice": {
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "railcard": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "restrictionCode": {
                            "type": "string",
                            "pattern": "^[A-Z0-9]{2}$"
                        },
                        "route": {
                            "type": "string",
                            "pattern": "^/route/[0-9]{5}$"
                        },
                        "statusCode": {
                            "type": "string"
                        },
                        "fareSetter": {
                            "type": [
                                "null",
                                "string"
                            ]
                        },
                        "xLondon": {
                            "type": "number",
                            "description": "0 - not cross London; 1 - cross London; 2 - cross London by underground"
                        },
                        "isPlusBus": {
                            "type": "boolean"
                        },
                        "discount": {
                            "oneOf": [
                                {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string",
                                            "pattern": "^/discount/[0-9]+$"
                                        },
                                        "lennonCode": {
                                            "type": "string"
                                        },
                                        "promoCode": {
                                            "type": "string"
                                        },
                                        "percent": {
                                            "type": "number"
                                        },
                                        "shortDescription": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "required": [],
                                    "additionalProperties": false
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "childStatusDescription": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "adultStatusDescription": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    "required": [
                        "ticketType",
                        "origin",
                        "destination",
                        "price",
                        "railcard",
                        "restrictionCode",
                        "route",
                        "statusCode",
                        "xLondon",
                        "isPlusBus",
                        "discount",
                        "childStatusDescription",
                        "adultStatusDescription"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "ticketType": "/ticket-type/VDS",
        "origin": "/station/1072",
        "destination": "/station/2961",
        "price": 2700,
        "originalPrice": 5400,
        "railcard": "/railcard/2TR",
        "restrictionCode": "VR",
        "route": "/route/00452",
        "statusCode": "052",
        "fareSetter": null,
        "xLondon": 1,
        "isPlusBus": false,
        "discount": {
            "type": "/discount/123",
            "lennonCode": "0301",
            "promoCode": "test",
            "percent": 50,
            "shortDescription": "Some description of the discount made up by a marketing genius"
        },
        "childStatusDescription": "CHILD",
        "adultStatusDescription": null
    },
    "links": []
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "error",
    "message": "Fare with id 99999 not found."
}

Returns a fare leg (journey leg used for fare calculation) by ID.

URI parameters

string id (required)

Pattern: ^\d+$

GET /fare-leg/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "type": {
                            "enum": [
                                "timetabled",
                                "fixed"
                            ]
                        },
                        "origin": {
                            "type": "string",
                            "pattern": "^/station/[A-Z0-9]+$"
                        },
                        "destination": {
                            "type": "string",
                            "pattern": "^/station/[A-Z0-9]+$"
                        },
                        "mode": {
                            "enum": [
                                "train",
                                "bus",
                                "walk"
                            ]
                        },
                        "service": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/service/[0-9A-Z_]+/\\d{4}-\\d{2}-\\d{2}$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "operator": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/toc/[A-Z]{2}$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "scheduledDeparture": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "scheduledArrival": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "boardingTime": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "alightingTime": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "duration": {
                            "type": "number"
                        },
                        "availableFrom": {
                            "type": "string",
                            "pattern": "^\\d{2}:\\d{2}$"
                        },
                        "availableTo": {
                            "type": "string",
                            "pattern": "^\\d{2}:\\d{2}$"
                        },
                        "callingPoints": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "crs": {
                                        "type": "string",
                                        "pattern": "^[A-Z]{3}$"
                                    },
                                    "arrival": {
                                        "oneOf": [
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                            }
                                        ]
                                    },
                                    "departure": {
                                        "oneOf": [
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                            }
                                        ]
                                    },
                                    "platform": {
                                        "type": "string",
                                        "description": "The platform number or letter"
                                    },
                                    "pickup": {
                                        "type": "boolean",
                                        "description": "Does the train stop here for passengers to board"
                                    },
                                    "dropoff": {
                                        "type": "boolean",
                                        "description": "Does the train stop here for passengers to alight"
                                    }
                                },
                                "required": [
                                    "crs",
                                    "arrival",
                                    "departure",
                                    "platform",
                                    "pickup",
                                    "dropoff"
                                ]
                            }
                        }
                    },
                    "required": [
                        "type",
                        "origin",
                        "destination",
                        "operator",
                        "mode"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "type": "timetabled",
        "origin": "/station/1027",
        "destination": "/station/5187",
        "mode": "train",
        "service": "/service/A12345/2015-12-07",
        "scheduledDeparture": "2015-12-07T11:59:59+00:00",
        "scheduledArrival": "2015-12-07T11:59:59+00:00",
        "alightingTime": "2015-12-07T12:03:00+00:00",
        "operator": "/toc/AB",
        "callingPoints": [
            {
                "crs": "KID",
                "arrival": "2023-11-27T11:54:00+00:00",
                "departure": "2023-11-27T11:54:00+00:00",
                "platform": "1",
                "pickup": true,
                "dropoff": false
            },
            {
                "crs": "BKD",
                "arrival": "2023-11-27T11:58:00+00:00",
                "departure": "2023-11-27T11:58:00+00:00",
                "platform": null,
                "pickup": true,
                "dropoff": true
            }
        ]
    },
    "links": []
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Leg with id 20234234234234324 not found."
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /journey/{id}

A complete passenger journey from an origin to a destination. It will involve journeys on one or more legs.

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "legs": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^/leg/[0-9]+$"
                            }
                        },
                        "fareLegs": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^/leg/[0-9]+$"
                            }
                        },
                        "distance": {
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "co2": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "required": [
                                "train"
                            ],
                            "properties": {
                                "train": {
                                    "type": "number"
                                }
                            },
                            "additionalProperties": true
                        }
                    },
                    "required": [
                        "legs",
                        "fareLegs",
                        "distance",
                        "co2"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "legs": [
            "/leg/123",
            "/leg/456"
        ],
        "fareLegs": [
            "/fare-leg/214",
            "/fare-leg/214"
        ]
    },
    "links": []
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Journey with id 9223372036854775807 not found."
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /leg/{id}

A particular segment of an overall journey constrained to one service of method of travel. There are two types of legs; timetable legs that have a departure and arrival time and fixed legs that only have a duration (walk, tube, etc). Given a journey from Tunbridge Wells to Diss there may be a timetable leg from Tunbridge Wells to London Bridge (on a Hastings to Charing Cross service), a fixed leg walk to London Liverpool Street and then a final timetable leg from London Liverpool Street to Diss (on the London Liverpool Street to Norwich service).

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "type": {
                            "enum": [
                                "timetabled",
                                "fixed"
                            ]
                        },
                        "origin": {
                            "type": "string",
                            "pattern": "^/station/[A-Z0-9]+$"
                        },
                        "destination": {
                            "type": "string",
                            "pattern": "^/station/[A-Z0-9]+$"
                        },
                        "mode": {
                            "enum": [
                                "train",
                                "bus",
                                "walk"
                            ]
                        },
                        "service": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/service/[0-9A-Z_]+/\\d{4}-\\d{2}-\\d{2}$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "operator": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/toc/[A-Z]{2}$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "scheduledDeparture": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "scheduledArrival": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "boardingTime": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "alightingTime": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "duration": {
                            "type": "number"
                        },
                        "availableFrom": {
                            "type": "string",
                            "pattern": "^\\d{2}:\\d{2}$"
                        },
                        "availableTo": {
                            "type": "string",
                            "pattern": "^\\d{2}:\\d{2}$"
                        },
                        "callingPoints": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "crs": {
                                        "type": "string",
                                        "pattern": "^[A-Z]{3}$"
                                    },
                                    "arrival": {
                                        "oneOf": [
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                            }
                                        ]
                                    },
                                    "departure": {
                                        "oneOf": [
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                            }
                                        ]
                                    },
                                    "platform": {
                                        "type": "string",
                                        "description": "The platform number or letter"
                                    },
                                    "pickup": {
                                        "type": "boolean",
                                        "description": "Does the train stop here for passengers to board"
                                    },
                                    "dropoff": {
                                        "type": "boolean",
                                        "description": "Does the train stop here for passengers to alight"
                                    }
                                },
                                "required": [
                                    "crs",
                                    "arrival",
                                    "departure",
                                    "platform",
                                    "pickup",
                                    "dropoff"
                                ]
                            }
                        }
                    },
                    "required": [
                        "type",
                        "origin",
                        "destination",
                        "operator",
                        "mode"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "type": "timetabled",
        "origin": "/station/1027",
        "destination": "/station/5187",
        "mode": "train",
        "service": "/service/A12345/2015-12-07",
        "scheduledDeparture": "2015-12-07T11:59:59+00:00",
        "scheduledArrival": "2015-12-07T11:59:59+00:00",
        "alightingTime": "2015-12-07T12:03:00+00:00",
        "operator": "/toc/AB",
        "callingPoints": [
            {
                "crs": "KID",
                "arrival": "2023-11-27T11:54:00+00:00",
                "departure": "2023-11-27T11:54:00+00:00",
                "platform": "1",
                "pickup": true,
                "dropoff": false
            },
            {
                "crs": "BKD",
                "arrival": "2023-11-27T11:58:00+00:00",
                "departure": "2023-11-27T11:58:00+00:00",
                "platform": null,
                "pickup": true,
                "dropoff": true
            }
        ]
    },
    "links": []
}
201 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "type": {
                            "enum": [
                                "timetabled",
                                "fixed"
                            ]
                        },
                        "origin": {
                            "type": "string",
                            "pattern": "^/station/[A-Z0-9]+$"
                        },
                        "destination": {
                            "type": "string",
                            "pattern": "^/station/[A-Z0-9]+$"
                        },
                        "mode": {
                            "enum": [
                                "train",
                                "bus",
                                "walk"
                            ]
                        },
                        "service": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/service/[0-9A-Z_]+/\\d{4}-\\d{2}-\\d{2}$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "operator": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/toc/[A-Z]{2}$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "scheduledDeparture": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "scheduledArrival": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "boardingTime": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "alightingTime": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "duration": {
                            "type": "number"
                        },
                        "availableFrom": {
                            "type": "string",
                            "pattern": "^\\d{2}:\\d{2}$"
                        },
                        "availableTo": {
                            "type": "string",
                            "pattern": "^\\d{2}:\\d{2}$"
                        },
                        "callingPoints": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "crs": {
                                        "type": "string",
                                        "pattern": "^[A-Z]{3}$"
                                    },
                                    "arrival": {
                                        "oneOf": [
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                            }
                                        ]
                                    },
                                    "departure": {
                                        "oneOf": [
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                            },
                                            {
                                                "type": "string",
                                                "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                            }
                                        ]
                                    },
                                    "platform": {
                                        "type": "string",
                                        "description": "The platform number or letter"
                                    },
                                    "pickup": {
                                        "type": "boolean",
                                        "description": "Does the train stop here for passengers to board"
                                    },
                                    "dropoff": {
                                        "type": "boolean",
                                        "description": "Does the train stop here for passengers to alight"
                                    }
                                },
                                "required": [
                                    "crs",
                                    "arrival",
                                    "departure",
                                    "platform",
                                    "pickup",
                                    "dropoff"
                                ]
                            }
                        }
                    },
                    "required": [
                        "type",
                        "origin",
                        "destination",
                        "operator",
                        "mode"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "type": "fixed",
        "origin": "/station/5187",
        "destination": "/station/5100",
        "mode": "walk",
        "operator": "/toc/AB",
        "duration": 15,
        "availableFrom": "05:30",
        "availableTo": "22:45"
    },
    "links": []
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Leg with id 20234234234234324 not found."
}
URI parameters

string tuid (required)

Pattern: ^[0-9A-Z_]+$

string date (required)

Pattern: ^[0-9\-]+$

GET /service/{tuid}/{date}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "properties": {
                        "type": {
                            "type": "string",
                            "pattern": "^fixed|timetable$"
                        },
                        "mode": {
                            "type": "string",
                            "pattern": "^train$"
                        },
                        "retailServiceId": {
                            "type": "string",
                            "pattern": "^[0-9A-Z]+$"
                        },
                        "trainUid": {
                            "type": "string",
                            "pattern": "^[0-9A-Z_]+$"
                        },
                        "iptisTripIdentifier": {
                            "type": "string"
                        },
                        "facilities": {
                            "type": "object",
                            "properties": {
                                "firstClass": {
                                    "type": "boolean"
                                },
                                "firstClassMeal": {
                                    "type": "boolean"
                                },
                                "firstClassRestaurant": {
                                    "type": "boolean"
                                },
                                "hotFood": {
                                    "type": "boolean"
                                },
                                "buffet": {
                                    "type": "boolean"
                                },
                                "restaurant": {
                                    "type": "boolean"
                                },
                                "trolley": {
                                    "type": "boolean"
                                },
                                "wheelchair": {
                                    "type": "boolean"
                                }
                            },
                            "additionalProperties": true
                        },
                        "isTemporaryTrain": {
                            "type": "boolean"
                        },
                        "isCountedPlace": {
                            "type": "boolean"
                        },
                        "callingPoints": {
                            "type": "string",
                            "pattern": "^/service/[0-9A-Z_]+/\\d{4}-\\d{2}-\\d{2}/calling-points$"
                        },
                        "transferAdvice": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "reservable": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "required": [
                        "type",
                        "mode",
                        "retailServiceId",
                        "trainUid",
                        "callingPoints"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "type": "fixed",
        "mode": "train",
        "retailServiceId": "AB12345",
        "trainUid": "A1234",
        "callingPoints": "/service/A12345/2017-02-09/calling-points",
        "reservable": [
            "Recommended"
        ]
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
URI parameters

string tuid (required)

Pattern: ^[0-9A-Z_]+$

string date (required)

Pattern: ^[0-9\-]+$

GET /service/{tuid}/{date}/calling-points

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "location": {
                                "type": "object",
                                "properties": {
                                    "crs": {
                                        "type": "string",
                                        "pattern": "^[A-Z]{3}$"
                                    },
                                    "nlc": {
                                        "type": "string",
                                        "pattern": "^[0-9]{4}$"
                                    }
                                }
                            },
                            "order": {
                                "type": "integer"
                            },
                            "arriveTime": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "departTime": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "platform": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": [
        {
            "location": {
                "crs": "EDB",
                "nlc": "9328"
            },
            "order": 1,
            "arriveTime": "6:40",
            "departTime": "4:40",
            "platform": "11"
        },
        {
            "location": {
                "crs": "INK",
                "nlc": "9136"
            },
            "order": 2,
            "arriveTime": "4:58",
            "departTime": "3:58",
            "platform": "2"
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /passenger/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "title": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "initials": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "surname": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "photocardNumber": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "isChild": {
                            "type": "boolean"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "title",
                        "initials",
                        "surname",
                        "photocardNumber",
                        "isChild"
                    ]
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "title": "Mr",
        "initials": "F",
        "surname": "Bar",
        "photocardNumber": "12345678",
        "isChild": false
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Passenger with id 20234234234234324 not found."
}
URI parameters

string id (required)

Pattern: ^.+$

GET /reservation/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "created": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                },
                                {
                                    "type": "string",
                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                }
                            ]
                        },
                        "seats": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^/seat-reservation/[0-9]+$"
                            }
                        }
                    },
                    "required": [
                        "created",
                        "seats"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "created": "2015-03-31T13:50:58+01:00",
        "seats": [
            "/seat-reservation/1234",
            "/seat-reservation/4567"
        ]
    },
    "links": []
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /seat-reservation/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "coach": {
                            "type": "string",
                            "pattern": "^[A-Z]$"
                        },
                        "seat": {
                            "type": "string",
                            "pattern": "^[0-9]{1,3}[A-Z]$"
                        },
                        "leg": {
                            "type": "string",
                            "pattern": "^/leg/[0-9]+$"
                        },
                        "fareLeg": {
                            "type": "string",
                            "pattern": "^/leg/[0-9]+$"
                        },
                        "supplement": {
                            "type": "string",
                            "pattern": "^/supplement/[0-9]+$"
                        },
                        "reservation": {
                            "type": "string",
                            "pattern": "^/reservation/[A-Z0-9]+$"
                        },
                        "display": {
                            "type": "object",
                            "properties": {
                                "coach": {
                                    "type": "string",
                                    "pattern": "^[A-Z]$"
                                },
                                "seat": {
                                    "type": "string",
                                    "pattern": "^[0-9]{1,3}[A-Z]$"
                                }
                            }
                        }
                    },
                    "required": [
                        "coach",
                        "seat",
                        "leg",
                        "fareLeg",
                        "supplement",
                        "reservation",
                        "display"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "coach": "A",
        "seat": "12F",
        "display": {
            "coach": "A",
            "seat": "12"
        },
        "leg": "/leg/123",
        "fareLeg": "/leg/123",
        "supplement": "/supplement/123456",
        "reservation": "/reservation/ZY1233DB"
    },
    "links": []
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Passenger with id 20234234234234324 not found."
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /supplement/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "number"
                        },
                        "type": {
                            "type": "string",
                            "pattern": "^/supplement-type/[A-Z0-9]+$"
                        },
                        "transactionNumber": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "price": {
                            "type": "number"
                        },
                        "hasReservation": {
                            "type": "boolean"
                        },
                        "isBerth": {
                            "type": "boolean"
                        },
                        "isMandatory": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "id",
                        "type",
                        "transactionNumber",
                        "price",
                        "hasReservation",
                        "isBerth",
                        "isMandatory"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "id": 1,
        "type": "/supplement-type/XFS",
        "transactionNumber": null,
        "price": 0,
        "hasReservation": true,
        "isBerth": false,
        "isMandatory": false
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Supplement with id 1123213213 not found."
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /sundry/{id}

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "properties": {
                        "type": {
                            "type": "string",
                            "pattern": "^/sundry-type/[0-9]{5}$"
                        },
                        "price": {
                            "type": "integer"
                        },
                        "refundId": {
                            "type": [
                                "integer",
                                "null"
                            ]
                        }
                    },
                    "required": [
                        "type",
                        "price",
                        "refundId"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "type": "/sundry-type/09015",
        "price": 100,
        "refundId": null
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Sundry with id 1123213213 not found."
}

Returns a user by ID.

URI parameters

string id (required)

Pattern: ^\d+$

GET /user/{id}

200 application/json
Response schema (show)
{
    "type": "object",
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "User ID"
                },
                "group": {
                    "type": "string",
                    "description": "User group"
                },
                "description": {
                    "type": "string",
                    "description": "Human-readable description of the user"
                },
                "business": {
                    "description": "Business ID, or null if not associated with a business",
                    "oneOf": [
                        {
                            "type": "integer"
                        },
                        {
                            "type": "null"
                        }
                    ]
                },
                "in_credits": {
                    "type": "boolean",
                    "description": "Whether the user is in credits mode"
                },
                "shoutbox": {
                    "description": "Shoutbox content, or null",
                    "oneOf": [
                        {
                            "type": "string"
                        },
                        {
                            "type": "null"
                        }
                    ]
                },
                "icon": {
                    "type": "string",
                    "description": "User icon identifier"
                }
            },
            "required": [
                "id",
                "group",
                "description",
                "in_credits",
                "icon"
            ],
            "additionalProperties": false
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    },
    "required": [
        "status"
    ],
    "additionalProperties": false
}
Response example (show)
{
    "status": "success",
    "data": {
        "id": "42",
        "group": "customer",
        "description": "Jane Smith",
        "business": null,
        "in_credits": false,
        "shoutbox": null,
        "icon": "user"
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

GET /search-coj

Search for change of journey for original tickets. Query parameters require only originalTickets, but it can be extended with any odyssey query parameter to change date & time of travel, adults, children and railcards. It returns augmented odyssey response. It additionally has "priceCoveredByOriginalTickets" property on fareOption, "priceCoveredByOriginalFare" property on fare, "originalTicket" on fareOption's fare and "sameAsOriginalJourney" on journey.

200 application/json
Response schema (show)
{
    "type": "object",
    "additionalProperties": false,
    "required": [
        "pagination",
        "response"
    ],
    "properties": {
        "pagination": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "outward": {
                    "$ref": "./PaginationResult.jschema"
                },
                "inward": {
                    "$ref": "./PaginationResult.jschema"
                }
            }
        },
        "response": {
            "type": "object",
            "additionalProperties": false,
            "required": [
                "outward",
                "inward",
                "fares",
                "availability"
            ],
            "properties": {
                "outward": {
                    "type": "array",
                    "items": {
                        "$ref": "Types.jschema#/journeyUri"
                    }
                },
                "inward": {
                    "type": "array",
                    "items": {
                        "$ref": "Types.jschema#/journeyUri"
                    }
                },
                "fares": {
                    "type": "object",
                    "description": "array associate journeys with fares."
                },
                "addons": {
                    "type": "object",
                    "required": [
                        "outward"
                    ],
                    "properties": {
                        "outward": {
                            "type": "object"
                        },
                        "inward": {
                            "type": "object"
                        }
                    }
                },
                "availability": {
                    "type": "object",
                    "description": "availabilities associated with journeys and ticket types"
                }
            }
        },
        "messages": {
            "type": "array",
            "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "tag",
                    "level",
                    "title"
                ],
                "properties": {
                    "tag": {
                        "type": "string"
                    },
                    "level": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    }
                }
            },
            "additionalProperties": false,
            "properties": {
                "outward": {
                    "$ref": "./PaginationResult.jschema"
                },
                "inward": {
                    "$ref": "./PaginationResult.jschema"
                }
            }
        },
        "links": {
            "type": "object",
            "additionalProperties": false,
            "patternProperties": {
                "^/odyssey/fare/.+$": {
                    "$ref": "Fare.jschema"
                },
                "^/odyssey/fare-option/.+$": {
                    "$ref": "FareOption.jschema"
                },
                "^/odyssey/journey/.+$": {
                    "$ref": "Journey.jschema"
                },
                "^/odyssey/leg/.+$": {
                    "$ref": "Leg.jschema"
                }
            }
        }
    }
}
Response example (show)
{
    "response": {
        "outward": [
            "/odyssey/journey/270:270:MCV_HBD_G37312",
            "/odyssey/journey/270:270:MCV_HBD_G30188",
            "/odyssey/journey/270:270:MCV_HBD_G30155",
            "/odyssey/journey/270:270:MCV_HBD_G37319",
            "/odyssey/journey/270:270:MCV_HBD_G31967"
        ],
        "inward": [],
        "fares": {
            "/odyssey/journey/270:270:MCV_HBD_G37312": {
                "outward": [
                    "/odyssey/fare-option/270:/fare/2970-8524-00429-DG0-000-1-NT---268-1-0--370-1-0"
                ],
                "inward": [],
                "return": []
            },
            "/odyssey/journey/270:270:MCV_HBD_G30188": {
                "outward": [
                    "/odyssey/fare-option/270:/fare/2970-8524-00429-DG3-000-1-NT---268-1-0--440-1-0"
                ],
                "inward": [],
                "return": []
            },
            "/odyssey/journey/270:270:MCV_HBD_G30155": {
                "outward": [
                    "/odyssey/fare-option/270:/fare/2970-8524-00429-DG6-000-1-NT---268-1-0--520-1-0"
                ],
                "inward": [],
                "return": []
            },
            "/odyssey/journey/270:270:MCV_HBD_G37319": {
                "outward": [
                    "/odyssey/fare-option/270:/fare/2970-8524-00429-DG6-000-1-NT---268-1-0--520-1-0"
                ],
                "inward": [],
                "return": []
            },
            "/odyssey/journey/270:270:MCV_HBD_G31967": {
                "outward": [
                    "/odyssey/fare-option/270:/fare/2970-8524-00429-DG0-000-1-NT---268-1-0--370-1-0"
                ],
                "inward": [],
                "return": []
            }
        },
        "addons": {
            "outward": {
                "origin": [],
                "destination": []
            }
        },
        "availability": {
            "/odyssey/journey/270:270:MCV_HBD_G37312": {
                "/ticket-type/DG0": {
                    "/route/00429": 8
                }
            },
            "/odyssey/journey/270:270:MCV_HBD_G30188": {
                "/ticket-type/DG3": {
                    "/route/00429": 8
                }
            },
            "/odyssey/journey/270:270:MCV_HBD_G30155": {
                "/ticket-type/DG6": {
                    "/route/00429": 8
                }
            },
            "/odyssey/journey/270:270:MCV_HBD_G37319": {
                "/ticket-type/DG6": {
                    "/route/00429": 8
                }
            },
            "/odyssey/journey/270:270:MCV_HBD_G31967": {
                "/ticket-type/DG0": {
                    "/route/00429": 8
                }
            }
        }
    },
    "pagination": {
        "outward": {
            "current": "origin=2970&destination=8524&outwardDate=2024-09-26&outwardDepartAt=13%3A33&adults=1&children=0&limit=5&returns=false&ticketCategory=advance&originalTickets=140099",
            "earlier": "origin=2970&destination=8524&outwardDate=2024-09-26&outwardDepartBy=13%3A36&adults=1&children=0&limit=5&returns=false&ticketCategory=advance&originalTickets=140099",
            "later": "origin=2970&destination=8524&outwardDate=2024-09-26&outwardDepartAt=14%3A54&adults=1&children=0&limit=5&returns=false&ticketCategory=advance&originalTickets=140099"
        }
    },
    "links": {
        "/odyssey/fare/2970-8524-00429-DG0-000-1-NT---268-1-0--370": {
            "origin": "/station/2970",
            "destination": "/station/8524",
            "route": "/route/00429",
            "price": 370,
            "originalPrice": 370,
            "ticketType": "/ticket-type/DG0",
            "restrictionCode": "NT",
            "fareSetter": "NTH",
            "railcard": null,
            "statusCode": "000",
            "xLondon": 0,
            "permittedDestinationStations": "/station/8524/permitted-stations/2970/00429",
            "permittedOriginStations": "/station/2970/permitted-stations/8524/00429",
            "discount": null,
            "groups": [
                "2970-8524-00429-DG0"
            ],
            "priceCoveredByOriginalTickets": 370
        },
        "/odyssey/fare-option/270:/fare/2970-8524-00429-DG0-000-1-NT---268-1-0--370-1-0": {
            "totalPrice": 370,
            "labels": [
                "advance"
            ],
            "hasETicket": "/has-e-ticket/2970-8524-2970-8524-00429-DG0",
            "supplements": [],
            "fares": [
                {
                    "adults": 1,
                    "children": 0,
                    "fare": "/odyssey/fare/2970-8524-00429-DG0-000-1-NT---268-1-0--370",
                    "originalTicket": "/ticket/140099"
                }
            ],
            "validUntil": "2024-09-27T23:59:59",
            "priceCoveredByOriginalTickets": 370
        },
        "/odyssey/fare/2970-8524-00429-DG3-000-1-NT---268-1-0--440": {
            "origin": "/station/2970",
            "destination": "/station/8524",
            "route": "/route/00429",
            "price": 440,
            "originalPrice": 440,
            "ticketType": "/ticket-type/DG3",
            "restrictionCode": "NT",
            "fareSetter": "NTH",
            "railcard": null,
            "statusCode": "000",
            "xLondon": 0,
            "permittedDestinationStations": "/station/8524/permitted-stations/2970/00429",
            "permittedOriginStations": "/station/2970/permitted-stations/8524/00429",
            "discount": null,
            "groups": [
                "2970-8524-00429-DG3"
            ],
            "priceCoveredByOriginalTickets": 440
        },
        "/odyssey/fare-option/270:/fare/2970-8524-00429-DG3-000-1-NT---268-1-0--440-1-0": {
            "totalPrice": 440,
            "labels": [
                "advance"
            ],
            "hasETicket": "/has-e-ticket/2970-8524-2970-8524-00429-DG3",
            "supplements": [],
            "fares": [
                {
                    "adults": 1,
                    "children": 0,
                    "fare": "/odyssey/fare/2970-8524-00429-DG3-000-1-NT---268-1-0--440",
                    "originalTicket": "/ticket/140099"
                }
            ],
            "validUntil": "2024-09-27T23:59:59",
            "priceCoveredByOriginalTickets": 440
        },
        "/odyssey/fare/2970-8524-00429-DG6-000-1-NT---268-1-0--520": {
            "origin": "/station/2970",
            "destination": "/station/8524",
            "route": "/route/00429",
            "price": 520,
            "originalPrice": 520,
            "ticketType": "/ticket-type/DG6",
            "restrictionCode": "NT",
            "fareSetter": "NTH",
            "railcard": null,
            "statusCode": "000",
            "xLondon": 0,
            "permittedDestinationStations": "/station/8524/permitted-stations/2970/00429",
            "permittedOriginStations": "/station/2970/permitted-stations/8524/00429",
            "discount": null,
            "groups": [
                "2970-8524-00429-DG6"
            ],
            "priceCoveredByOriginalTickets": 520
        },
        "/odyssey/fare-option/270:/fare/2970-8524-00429-DG6-000-1-NT---268-1-0--520-1-0": {
            "totalPrice": 520,
            "labels": [
                "advance"
            ],
            "hasETicket": "/has-e-ticket/2970-8524-2970-8524-00429-DG6",
            "supplements": [],
            "fares": [
                {
                    "adults": 1,
                    "children": 0,
                    "fare": "/odyssey/fare/2970-8524-00429-DG6-000-1-NT---268-1-0--520",
                    "originalTicket": "/ticket/140099"
                }
            ],
            "validUntil": "2024-09-27T23:59:59",
            "priceCoveredByOriginalTickets": 520
        },
        "/odyssey/leg/270:MCV_HBD_G37312": {
            "type": "timetabled",
            "source": "dtd",
            "origin": "/station/MCV",
            "destination": "/station/HBD",
            "mode": "train",
            "operator": "/toc/NT",
            "service": {
                "trainUid": "G37312",
                "retailServiceId": "NT414700",
                "reservationFlag": "S",
                "reservable": [
                    "Possible"
                ],
                "origin": "/station/WGW",
                "destination": "/station/LDS",
                "date": "2024-09-26",
                "scheduledDeparture": "2024-09-26T12:49:00"
            },
            "departure": "2024-09-26T13:36:00",
            "arrival": "2024-09-26T14:15:00",
            "scheduledDeparture": "2024-09-26T13:36:00",
            "scheduledArrival": "2024-09-26T14:15:00",
            "disruptions": "/disruption/2024-09-26T13:36:00/NT_MCV_HBD_G37312",
            "callingPoints": [
                {
                    "station": "/station/MCV",
                    "departure": "2024-09-26T13:36:00",
                    "arrival": "2024-09-26T13:33:00",
                    "scheduledDeparture": "2024-09-26T13:36:00",
                    "scheduledArrival": "2024-09-26T13:33:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "6",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/RCD",
                    "departure": "2024-09-26T13:51:00",
                    "arrival": "2024-09-26T13:51:00",
                    "scheduledDeparture": "2024-09-26T13:51:00",
                    "scheduledArrival": "2024-09-26T13:51:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "1",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/SMB",
                    "departure": "2024-09-26T13:55:00",
                    "arrival": "2024-09-26T13:55:00",
                    "scheduledDeparture": "2024-09-26T13:55:00",
                    "scheduledArrival": "2024-09-26T13:55:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/LTL",
                    "departure": "2024-09-26T13:59:00",
                    "arrival": "2024-09-26T13:58:00",
                    "scheduledDeparture": "2024-09-26T13:59:00",
                    "scheduledArrival": "2024-09-26T13:58:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/WDN",
                    "departure": "2024-09-26T14:05:00",
                    "arrival": "2024-09-26T14:05:00",
                    "scheduledDeparture": "2024-09-26T14:05:00",
                    "scheduledArrival": "2024-09-26T14:05:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/TOD",
                    "departure": "2024-09-26T14:08:00",
                    "arrival": "2024-09-26T14:08:00",
                    "scheduledDeparture": "2024-09-26T14:08:00",
                    "scheduledArrival": "2024-09-26T14:08:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/HBD",
                    "departure": "2024-09-26T14:15:00",
                    "arrival": "2024-09-26T14:15:00",
                    "scheduledDeparture": "2024-09-26T14:15:00",
                    "scheduledArrival": "2024-09-26T14:15:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                }
            ],
            "isDelayed": false
        },
        "/odyssey/journey/270:270:MCV_HBD_G37312": {
            "id": "/odyssey/journey/270:270:MCV_HBD_G37312",
            "origin": "/station/MCV",
            "destination": "/station/HBD",
            "departure": "2024-09-26T13:36:00",
            "arrival": "2024-09-26T14:15:00",
            "scheduledDeparture": "2024-09-26T13:36:00",
            "scheduledArrival": "2024-09-26T14:15:00",
            "legs": [
                "/odyssey/leg/270:MCV_HBD_G37312"
            ],
            "disruptions": "/disruption/2024-09-26T13:36:00/NT_MCV_HBD_G37312",
            "isReservationCompulsory": false,
            "isReservationPossible": true,
            "isOvertaken": false,
            "overtakingJourneysCount": 0,
            "status": "ready",
            "boardingTime": null,
            "alightingTime": null,
            "distance": 23,
            "sameAsOriginalJourney": false
        },
        "/odyssey/leg/270:MCV_HBD_G30188": {
            "type": "timetabled",
            "source": "dtd",
            "origin": "/station/MCV",
            "destination": "/station/HBD",
            "mode": "train",
            "operator": "/toc/NT",
            "service": {
                "trainUid": "G30188",
                "retailServiceId": "NT414900",
                "reservationFlag": "S",
                "reservable": [
                    "Possible"
                ],
                "origin": "/station/MCV",
                "destination": "/station/LDS",
                "date": "2024-09-26",
                "scheduledDeparture": "2024-09-26T13:57:00"
            },
            "departure": "2024-09-26T13:57:00",
            "arrival": "2024-09-26T14:25:00",
            "scheduledDeparture": "2024-09-26T13:57:00",
            "scheduledArrival": "2024-09-26T14:25:00",
            "disruptions": "/disruption/2024-09-26T13:57:00/NT_MCV_HBD_G30188",
            "callingPoints": [
                {
                    "station": "/station/MCV",
                    "departure": "2024-09-26T13:57:00",
                    "arrival": "2024-09-26T13:57:00",
                    "scheduledDeparture": "2024-09-26T13:57:00",
                    "scheduledArrival": "2024-09-26T13:57:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "1",
                    "pickup": true,
                    "dropoff": false,
                    "activities": [
                        "PickUpOnly"
                    ]
                },
                {
                    "station": "/station/RCD",
                    "departure": "2024-09-26T14:10:00",
                    "arrival": "2024-09-26T14:09:00",
                    "scheduledDeparture": "2024-09-26T14:10:00",
                    "scheduledArrival": "2024-09-26T14:09:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "1",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/TOD",
                    "departure": "2024-09-26T14:19:00",
                    "arrival": "2024-09-26T14:19:00",
                    "scheduledDeparture": "2024-09-26T14:19:00",
                    "scheduledArrival": "2024-09-26T14:19:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/HBD",
                    "departure": "2024-09-26T14:26:00",
                    "arrival": "2024-09-26T14:25:00",
                    "scheduledDeparture": "2024-09-26T14:26:00",
                    "scheduledArrival": "2024-09-26T14:25:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                }
            ],
            "isDelayed": false
        },
        "/odyssey/journey/270:270:MCV_HBD_G30188": {
            "id": "/odyssey/journey/270:270:MCV_HBD_G30188",
            "origin": "/station/MCV",
            "destination": "/station/HBD",
            "departure": "2024-09-26T13:57:00",
            "arrival": "2024-09-26T14:25:00",
            "scheduledDeparture": "2024-09-26T13:57:00",
            "scheduledArrival": "2024-09-26T14:25:00",
            "legs": [
                "/odyssey/leg/270:MCV_HBD_G30188"
            ],
            "disruptions": "/disruption/2024-09-26T13:57:00/NT_MCV_HBD_G30188",
            "isReservationCompulsory": false,
            "isReservationPossible": true,
            "isOvertaken": false,
            "overtakingJourneysCount": 0,
            "status": "ready",
            "boardingTime": null,
            "alightingTime": null,
            "distance": 23,
            "sameAsOriginalJourney": false
        },
        "/odyssey/leg/270:MCV_HBD_G30155": {
            "type": "timetabled",
            "source": "dtd",
            "origin": "/station/MCV",
            "destination": "/station/HBD",
            "mode": "train",
            "operator": "/toc/NT",
            "service": {
                "trainUid": "G30155",
                "retailServiceId": "NT415100",
                "reservationFlag": "S",
                "reservable": [
                    "Possible"
                ],
                "origin": "/station/CTR",
                "destination": "/station/LDS",
                "date": "2024-09-26",
                "scheduledDeparture": "2024-09-26T13:28:00"
            },
            "departure": "2024-09-26T14:21:00",
            "arrival": "2024-09-26T14:49:00",
            "scheduledDeparture": "2024-09-26T14:21:00",
            "scheduledArrival": "2024-09-26T14:49:00",
            "disruptions": "/disruption/2024-09-26T14:21:00/NT_MCV_HBD_G30155",
            "callingPoints": [
                {
                    "station": "/station/MCV",
                    "departure": "2024-09-26T14:21:00",
                    "arrival": "2024-09-26T14:18:00",
                    "scheduledDeparture": "2024-09-26T14:21:00",
                    "scheduledArrival": "2024-09-26T14:18:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "4",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/RCD",
                    "departure": "2024-09-26T14:34:00",
                    "arrival": "2024-09-26T14:33:00",
                    "scheduledDeparture": "2024-09-26T14:34:00",
                    "scheduledArrival": "2024-09-26T14:33:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "1",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/TOD",
                    "departure": "2024-09-26T14:43:00",
                    "arrival": "2024-09-26T14:43:00",
                    "scheduledDeparture": "2024-09-26T14:43:00",
                    "scheduledArrival": "2024-09-26T14:43:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/HBD",
                    "departure": "2024-09-26T14:50:00",
                    "arrival": "2024-09-26T14:49:00",
                    "scheduledDeparture": "2024-09-26T14:50:00",
                    "scheduledArrival": "2024-09-26T14:49:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                }
            ],
            "isDelayed": false
        },
        "/odyssey/journey/270:270:MCV_HBD_G30155": {
            "id": "/odyssey/journey/270:270:MCV_HBD_G30155",
            "origin": "/station/MCV",
            "destination": "/station/HBD",
            "departure": "2024-09-26T14:21:00",
            "arrival": "2024-09-26T14:49:00",
            "scheduledDeparture": "2024-09-26T14:21:00",
            "scheduledArrival": "2024-09-26T14:49:00",
            "legs": [
                "/odyssey/leg/270:MCV_HBD_G30155"
            ],
            "disruptions": "/disruption/2024-09-26T14:21:00/NT_MCV_HBD_G30155",
            "isReservationCompulsory": false,
            "isReservationPossible": true,
            "isOvertaken": false,
            "overtakingJourneysCount": 0,
            "status": "ready",
            "boardingTime": null,
            "alightingTime": null,
            "distance": 23,
            "sameAsOriginalJourney": false
        },
        "/odyssey/leg/270:MCV_HBD_G37319": {
            "type": "timetabled",
            "source": "dtd",
            "origin": "/station/MCV",
            "destination": "/station/HBD",
            "mode": "train",
            "operator": "/toc/NT",
            "service": {
                "trainUid": "G37319",
                "retailServiceId": "NT415300",
                "reservationFlag": "S",
                "reservable": [
                    "Possible"
                ],
                "origin": "/station/WGW",
                "destination": "/station/LDS",
                "date": "2024-09-26",
                "scheduledDeparture": "2024-09-26T13:49:00"
            },
            "departure": "2024-09-26T14:36:00",
            "arrival": "2024-09-26T15:15:00",
            "scheduledDeparture": "2024-09-26T14:36:00",
            "scheduledArrival": "2024-09-26T15:15:00",
            "disruptions": "/disruption/2024-09-26T14:36:00/NT_MCV_HBD_G37319",
            "callingPoints": [
                {
                    "station": "/station/MCV",
                    "departure": "2024-09-26T14:36:00",
                    "arrival": "2024-09-26T14:33:00",
                    "scheduledDeparture": "2024-09-26T14:36:00",
                    "scheduledArrival": "2024-09-26T14:33:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "6",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/RCD",
                    "departure": "2024-09-26T14:51:00",
                    "arrival": "2024-09-26T14:50:00",
                    "scheduledDeparture": "2024-09-26T14:51:00",
                    "scheduledArrival": "2024-09-26T14:50:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "1",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/SMB",
                    "departure": "2024-09-26T14:55:00",
                    "arrival": "2024-09-26T14:55:00",
                    "scheduledDeparture": "2024-09-26T14:55:00",
                    "scheduledArrival": "2024-09-26T14:55:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/LTL",
                    "departure": "2024-09-26T14:59:00",
                    "arrival": "2024-09-26T14:58:00",
                    "scheduledDeparture": "2024-09-26T14:59:00",
                    "scheduledArrival": "2024-09-26T14:58:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/WDN",
                    "departure": "2024-09-26T15:05:00",
                    "arrival": "2024-09-26T15:05:00",
                    "scheduledDeparture": "2024-09-26T15:05:00",
                    "scheduledArrival": "2024-09-26T15:05:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/TOD",
                    "departure": "2024-09-26T15:08:00",
                    "arrival": "2024-09-26T15:08:00",
                    "scheduledDeparture": "2024-09-26T15:08:00",
                    "scheduledArrival": "2024-09-26T15:08:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/HBD",
                    "departure": "2024-09-26T15:15:00",
                    "arrival": "2024-09-26T15:15:00",
                    "scheduledDeparture": "2024-09-26T15:15:00",
                    "scheduledArrival": "2024-09-26T15:15:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                }
            ],
            "isDelayed": false
        },
        "/odyssey/journey/270:270:MCV_HBD_G37319": {
            "id": "/odyssey/journey/270:270:MCV_HBD_G37319",
            "origin": "/station/MCV",
            "destination": "/station/HBD",
            "departure": "2024-09-26T14:36:00",
            "arrival": "2024-09-26T15:15:00",
            "scheduledDeparture": "2024-09-26T14:36:00",
            "scheduledArrival": "2024-09-26T15:15:00",
            "legs": [
                "/odyssey/leg/270:MCV_HBD_G37319"
            ],
            "disruptions": "/disruption/2024-09-26T14:36:00/NT_MCV_HBD_G37319",
            "isReservationCompulsory": false,
            "isReservationPossible": true,
            "isOvertaken": false,
            "overtakingJourneysCount": 0,
            "status": "ready",
            "boardingTime": null,
            "alightingTime": null,
            "distance": 23,
            "sameAsOriginalJourney": true
        },
        "/odyssey/leg/270:MCV_HBD_G31967": {
            "type": "timetabled",
            "source": "dtd",
            "origin": "/station/MCV",
            "destination": "/station/HBD",
            "mode": "train",
            "operator": "/toc/NT",
            "service": {
                "trainUid": "G31967",
                "retailServiceId": "NT415500",
                "reservationFlag": "S",
                "reservable": [
                    "Possible"
                ],
                "origin": "/station/MCV",
                "destination": "/station/LDS",
                "date": "2024-09-26",
                "scheduledDeparture": "2024-09-26T14:54:00"
            },
            "departure": "2024-09-26T14:54:00",
            "arrival": "2024-09-26T15:25:00",
            "scheduledDeparture": "2024-09-26T14:54:00",
            "scheduledArrival": "2024-09-26T15:25:00",
            "disruptions": "/disruption/2024-09-26T14:54:00/NT_MCV_HBD_G31967",
            "callingPoints": [
                {
                    "station": "/station/MCV",
                    "departure": "2024-09-26T14:54:00",
                    "arrival": "2024-09-26T14:54:00",
                    "scheduledDeparture": "2024-09-26T14:54:00",
                    "scheduledArrival": "2024-09-26T14:54:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "1",
                    "pickup": true,
                    "dropoff": false,
                    "activities": [
                        "PickUpOnly"
                    ]
                },
                {
                    "station": "/station/RCD",
                    "departure": "2024-09-26T15:09:00",
                    "arrival": "2024-09-26T15:06:00",
                    "scheduledDeparture": "2024-09-26T15:09:00",
                    "scheduledArrival": "2024-09-26T15:06:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "1",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/TOD",
                    "departure": "2024-09-26T15:19:00",
                    "arrival": "2024-09-26T15:18:00",
                    "scheduledDeparture": "2024-09-26T15:19:00",
                    "scheduledArrival": "2024-09-26T15:18:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                },
                {
                    "station": "/station/HBD",
                    "departure": "2024-09-26T15:26:00",
                    "arrival": "2024-09-26T15:25:00",
                    "scheduledDeparture": "2024-09-26T15:26:00",
                    "scheduledArrival": "2024-09-26T15:25:00",
                    "cancelled": false,
                    "delayed": false,
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true,
                    "activities": [
                        "Normal"
                    ]
                }
            ],
            "isDelayed": false
        },
        "/odyssey/journey/270:270:MCV_HBD_G31967": {
            "id": "/odyssey/journey/270:270:MCV_HBD_G31967",
            "origin": "/station/MCV",
            "destination": "/station/HBD",
            "departure": "2024-09-26T14:54:00",
            "arrival": "2024-09-26T15:25:00",
            "scheduledDeparture": "2024-09-26T14:54:00",
            "scheduledArrival": "2024-09-26T15:25:00",
            "legs": [
                "/odyssey/leg/270:MCV_HBD_G31967"
            ],
            "disruptions": "/disruption/2024-09-26T14:54:00/NT_MCV_HBD_G31967",
            "isReservationCompulsory": false,
            "isReservationPossible": true,
            "isOvertaken": false,
            "overtakingJourneysCount": 0,
            "status": "ready",
            "boardingTime": null,
            "alightingTime": null,
            "distance": 23,
            "sameAsOriginalJourney": false
        },
        "/station/CTR": {
            "name": {
                "station": "CHESTER",
                "location": "CHESTER",
                "display": "Chester",
                "print": "Chester"
            },
            "code": {
                "nlc": "2412",
                "uic": "7024120",
                "crs": "CTR",
                "tiploc": "CHST",
                "atco": "9100CHST"
            },
            "latitude": 53.196695,
            "longitude": -2.879594,
            "facilities": [
                "BO",
                "TVM",
                "G",
                "L",
                "LI",
                "LI",
                "LI"
            ],
            "groups": "/station/2412/groups",
            "members": [],
            "londonTerminals": "/station/2412/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-000000000000-_-0N009006S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "S"
            ],
            "fareGroup": "2412"
        },
        "/station/TOD": {
            "name": {
                "station": "TODMORDEN",
                "location": "TODMORDEN",
                "display": "Todmorden",
                "print": "Todmorden"
            },
            "code": {
                "nlc": "2677",
                "uic": "7026770",
                "crs": "TOD",
                "tiploc": "TODMRDN",
                "atco": "9100TODMRDN"
            },
            "latitude": 53.713818,
            "longitude": -2.099659,
            "facilities": [
                "TVM",
                "V",
                "L",
                "LI",
                "LI",
                "LI",
                "LI"
            ],
            "groups": [],
            "members": [],
            "londonTerminals": "/station/2677/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-000000000000-_-0N009006S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "S"
            ],
            "fareGroup": "2677"
        },
        "/station/WDN": {
            "name": {
                "station": "WALSDEN",
                "location": "WALSDEN",
                "display": "Walsden",
                "print": "Walsden"
            },
            "code": {
                "nlc": "2665",
                "uic": "7026650",
                "crs": "WDN",
                "tiploc": "WDEN",
                "atco": "9100WDEN"
            },
            "latitude": 53.69626,
            "longitude": -2.104464,
            "facilities": [
                "TVM",
                "L",
                "LI",
                "LI",
                "LI"
            ],
            "groups": [],
            "members": [],
            "londonTerminals": "/station/2665/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-000000000000-_-0N009000S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "S"
            ],
            "fareGroup": "2665"
        },
        "/station/LTL": {
            "name": {
                "station": "LITTLEBOROUGH",
                "location": "LITTLEBOROUGH",
                "display": "Littleborough",
                "print": "Littleborough"
            },
            "code": {
                "nlc": "2661",
                "uic": "7026610",
                "crs": "LTL",
                "tiploc": "LITLBRO",
                "atco": "9100LITLBRO"
            },
            "latitude": 53.642995,
            "longitude": -2.094651,
            "facilities": [
                "TVM",
                "V",
                "L",
                "LI",
                "LI",
                "LI",
                "LI"
            ],
            "groups": [],
            "members": [],
            "londonTerminals": "/station/2661/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-000000000000-_-0N009006S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "S"
            ],
            "fareGroup": "2661"
        },
        "/station/SMB": {
            "name": {
                "station": "SMITHY BRIDGE",
                "location": "SMITHY BRIDGE",
                "display": "Smithy Bridge",
                "print": "Smithy Bridge"
            },
            "code": {
                "nlc": "2660",
                "uic": "7026600",
                "crs": "SMB",
                "tiploc": "SMBG",
                "atco": "9100SMBG"
            },
            "latitude": 53.633254,
            "longitude": -2.113502,
            "facilities": [
                "TVM",
                "L",
                "LI",
                "LI",
                "LI"
            ],
            "groups": [],
            "members": [],
            "londonTerminals": "/station/2660/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-000000000000-_-0N009006S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "S"
            ],
            "fareGroup": "2660"
        },
        "/station/RCD": {
            "name": {
                "station": "ROCHDALE",
                "location": "ROCHDALE",
                "display": "Rochdale",
                "print": "Rochdale"
            },
            "code": {
                "nlc": "2924",
                "uic": "7029240",
                "crs": "RCD",
                "tiploc": "RCHDALE",
                "atco": "9100RCHDALE"
            },
            "latitude": 53.610307,
            "longitude": -2.153524,
            "facilities": [
                "TVM",
                "G",
                "L",
                "LI",
                "LI",
                "LI",
                "LI"
            ],
            "groups": "/station/2924/groups",
            "members": [],
            "londonTerminals": "/station/2924/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-000000000000-_-0N009006S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "S"
            ],
            "fareGroup": "2924"
        },
        "/station/LDS": {
            "name": {
                "station": "LEEDS",
                "location": "LEEDS",
                "display": "Leeds",
                "print": "Leeds"
            },
            "code": {
                "nlc": "8487",
                "uic": "7084870",
                "crs": "LDS",
                "tiploc": "LEEDS",
                "atco": "9100LEEDS"
            },
            "latitude": 53.795627,
            "longitude": -1.548026,
            "facilities": [
                "BO",
                "TVM",
                "G",
                "L",
                "LI",
                "LI",
                "LI",
                "LI"
            ],
            "groups": "/station/8487/groups",
            "members": [],
            "londonTerminals": "/station/8487/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-085000000000-_-0N009006S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "S"
            ],
            "fareGroup": "8487"
        },
        "/station/WGW": {
            "name": {
                "station": "WIGAN WALLGATE",
                "location": "WIGAN WALLGATE",
                "display": "Wigan Wallgate",
                "print": "Wigan Wallgate"
            },
            "code": {
                "nlc": "2406",
                "uic": "7024060",
                "crs": "WGW",
                "tiploc": "WIGANWL",
                "atco": "9100WIGANWL"
            },
            "latitude": 53.544821,
            "longitude": -2.633185,
            "facilities": [
                "TVM",
                "G",
                "L",
                "LI",
                "LI",
                "LI",
                "LI"
            ],
            "groups": "/station/2406/groups",
            "members": [],
            "londonTerminals": "/station/2406/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-000000000000-_-0N009006S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "S"
            ],
            "fareGroup": "0446"
        },
        "/toc/NT": {
            "code": "NT",
            "name": "NORTHERN",
            "description": "NORTHERN"
        },
        "/station/HBD": {
            "name": {
                "station": "HEBDEN BRIDGE",
                "location": "HEBDEN BRIDGE",
                "display": "Hebden Bridge",
                "print": "Hebden Bridge"
            },
            "code": {
                "nlc": "8524",
                "uic": "7085240",
                "crs": "HBD",
                "tiploc": "HBDNBDG",
                "atco": "9100HBDNBDG"
            },
            "latitude": 53.737587,
            "longitude": -2.009059,
            "facilities": [
                "TVM",
                "L",
                "LI",
                "LI",
                "LI",
                "LI"
            ],
            "groups": [],
            "members": [],
            "londonTerminals": "/station/8524/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-000000000000-_-0N009006S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "S"
            ],
            "fareGroup": "8524"
        },
        "/station/MCV": {
            "name": {
                "station": "MANCHESTER VICTORIA",
                "location": "MANCHESTER VIC",
                "display": "Manchester Victoria",
                "print": "Manchester Victoria"
            },
            "code": {
                "nlc": "2970",
                "uic": "7029700",
                "crs": "MCV",
                "tiploc": "MNCRVIC",
                "atco": "9100MNCRVIC"
            },
            "latitude": 53.487468,
            "longitude": -2.242599,
            "facilities": [
                "BO",
                "TVM",
                "G",
                "L",
                "LI",
                "LI",
                "LI",
                "LI",
                "LI"
            ],
            "groups": "/station/2970/groups",
            "members": [],
            "londonTerminals": "/station/2970/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-000000000000-_-0N009003S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "S"
            ],
            "fareGroup": "0438"
        },
        "/ticket-type/DG6": {
            "name": {
                "display": "Advance Single",
                "print": "Advance Single",
                "description": "ADVANCE"
            },
            "ccstFormat": "X10",
            "code": "DG6",
            "validity": "/validity-type/64",
            "isReturn": false,
            "isSeason": false,
            "isAdvance": true,
            "isPackage": false,
            "isCarnet": false,
            "isFirstClass": false,
            "reservationType": "B",
            "maxPassengers": 1,
            "minPassengers": 1,
            "minAdults": 0,
            "maxAdults": 1,
            "minChildren": 0,
            "maxChildren": 1,
            "utsCode": 0,
            "timeRestriction": 0,
            "capriCode": "SDI",
            "canBeRetailed": true,
            "ticketCategory": "advance",
            "reservationSupplement": null
        },
        "/ticket-type/DG3": {
            "name": {
                "display": "Advance Single",
                "print": "Advance Single",
                "description": "ADVANCE"
            },
            "ccstFormat": "X10",
            "code": "DG3",
            "validity": "/validity-type/64",
            "isReturn": false,
            "isSeason": false,
            "isAdvance": true,
            "isPackage": false,
            "isCarnet": false,
            "isFirstClass": false,
            "reservationType": "B",
            "maxPassengers": 1,
            "minPassengers": 1,
            "minAdults": 0,
            "maxAdults": 1,
            "minChildren": 0,
            "maxChildren": 1,
            "utsCode": 0,
            "timeRestriction": 0,
            "capriCode": "SDC",
            "canBeRetailed": true,
            "ticketCategory": "advance",
            "reservationSupplement": null
        },
        "/ticket-type/DG0": {
            "name": {
                "display": "Advance Single",
                "print": "Advance Single",
                "description": "ADVANCE"
            },
            "ccstFormat": "X10",
            "code": "DG0",
            "validity": "/validity-type/64",
            "isReturn": false,
            "isSeason": false,
            "isAdvance": true,
            "isPackage": false,
            "isCarnet": false,
            "isFirstClass": false,
            "reservationType": "B",
            "maxPassengers": 1,
            "minPassengers": 1,
            "minAdults": 0,
            "maxAdults": 1,
            "minChildren": 0,
            "maxChildren": 1,
            "utsCode": 0,
            "timeRestriction": 0,
            "capriCode": "SDM",
            "canBeRetailed": true,
            "ticketCategory": "advance",
            "reservationSupplement": null
        },
        "/route/00429": {
            "code": "00429",
            "name": {
                "description": "AP NORTHERN ONLY",
                "aaaDescription": null,
                "print": "Valid on specified Northern Trains only",
                "display": "Only valid on booked Northern services."
            },
            "included": [],
            "excluded": [],
            "lul": "NNNNNN-000000000000-_"
        },
        "/station/8524": {
            "name": {
                "station": "HEBDEN BRIDGE",
                "location": "HEBDEN BRIDGE",
                "display": "Hebden Bridge",
                "print": "Hebden Bridge"
            },
            "code": {
                "nlc": "8524",
                "uic": "7085240",
                "crs": "HBD",
                "tiploc": "HBDNBDG",
                "atco": "9100HBDNBDG"
            },
            "latitude": 53.737587,
            "longitude": -2.009059,
            "facilities": [
                "TVM",
                "L",
                "LI",
                "LI",
                "LI",
                "LI"
            ],
            "groups": [],
            "members": [],
            "londonTerminals": "/station/8524/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-000000000000-_-0N009006S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "S"
            ],
            "fareGroup": "8524"
        },
        "/station/2970": {
            "name": {
                "station": "MANCHESTER VICTORIA",
                "location": "MANCHESTER VIC",
                "display": "Manchester Victoria",
                "print": "Manchester Victoria"
            },
            "code": {
                "nlc": "2970",
                "uic": "7029700",
                "crs": "MCV",
                "tiploc": "MNCRVIC",
                "atco": "9100MNCRVIC"
            },
            "latitude": 53.487468,
            "longitude": -2.242599,
            "facilities": [
                "TVM",
                "G",
                "BO",
                "L",
                "LI",
                "LI",
                "LI",
                "LI",
                "LI"
            ],
            "groups": "/station/2970/groups",
            "members": [],
            "londonTerminals": "/station/2970/london-terminals",
            "isGoldCardLocation": false,
            "lul": "NNNNNN-000000000000-_-0N009003S0",
            "zoneNo": null,
            "zoneInd": null,
            "locIdTypes": [
                "S"
            ],
            "fareGroup": "0438"
        },
        "/validity-type/64": {
            "code": "64",
            "outward": {
                "days": 1,
                "months": 0,
                "break": false,
                "description": "BOOKDTRAINONLY"
            },
            "return": {
                "days": 0,
                "months": 0,
                "break": false,
                "description": "INVALID"
            },
            "returnMustBeAfter": {
                "days": 0,
                "months": 0,
                "dayOfWeek": null
            }
        },
        "/disruption/2024-09-26T14:36:00/NT_MCV_HBD_G37319": [],
        "/disruption/2024-09-26T14:54:00/NT_MCV_HBD_G31967": [],
        "/disruption/2024-09-26T13:57:00/NT_MCV_HBD_G30188": [],
        "/disruption/2024-09-26T14:21:00/NT_MCV_HBD_G30155": [],
        "/disruption/2024-09-26T13:36:00/NT_MCV_HBD_G37312": [],
        "/ticket/140099": {
            "fare": "/fare/130612",
            "adults": 1,
            "children": 0,
            "transactionNumber": "92083",
            "state": "Fulfilled",
            "reservation": "/reservation/YR782647",
            "utn": "R2FQ5R5WRFE",
            "outwardValidity": {
                "validFrom": "2024-09-26",
                "validUntil": "2024-09-26"
            },
            "returnValidity": null,
            "outwardPortion": "/journey/150743",
            "returnPortion": null,
            "supplements": [],
            "seats": [
                {
                    "seat": "/seat-reservation/94581",
                    "leg": "/leg/14235",
                    "supplement": "/supplement/113664"
                }
            ],
            "passenger": "/passenger/101137",
            "originalTicket": null,
            "priceCoveredByOriginalTicket": null
        },
        "/fare/130612": {
            "ticketType": "/ticket-type/DG6",
            "origin": "/station/2970",
            "destination": "/station/8524",
            "price": 520,
            "originalPrice": 520,
            "railcard": null,
            "restrictionCode": "NT",
            "route": "/route/00429",
            "statusCode": "000",
            "fareSetter": "NTH",
            "xLondon": 0,
            "isPlusBus": false,
            "discount": null,
            "childStatusDescription": null,
            "adultStatusDescription": null,
            "labels": [
                "advance"
            ],
            "assistedCode": null
        },
        "/reservation/YR782647": {
            "created": "2024-09-24T12:32:35+01:00",
            "seats": [
                "/seat-reservation/94581"
            ]
        },
        "/seat-reservation/94581": {
            "id": "94581",
            "coach": "*",
            "seat": "***",
            "leg": "/leg/14235",
            "supplement": "/supplement/113664",
            "reservation": "/reservation/YR782647"
        },
        "/leg/14235": {
            "type": "timetabled",
            "origin": "/station/2970",
            "destination": "/station/8524",
            "service": "/service/G37319/2024-09-26",
            "operator": "/toc/NT",
            "mode": "train",
            "scheduledDeparture": "2024-09-26T14:36:00+01:00",
            "scheduledArrival": "2024-09-26T15:15:00+01:00",
            "boardingTime": null,
            "alightingTime": null,
            "callingPoints": [
                {
                    "crs": "MCV",
                    "arrival": "2024-09-26T14:33:00+01:00",
                    "departure": "2024-09-26T14:36:00+01:00",
                    "platform": "6",
                    "pickup": true,
                    "dropoff": true
                },
                {
                    "crs": "RCD",
                    "arrival": "2024-09-26T14:50:00+01:00",
                    "departure": "2024-09-26T14:51:00+01:00",
                    "platform": "1",
                    "pickup": true,
                    "dropoff": true
                },
                {
                    "crs": "SMB",
                    "arrival": "2024-09-26T14:55:00+01:00",
                    "departure": "2024-09-26T14:55:00+01:00",
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true
                },
                {
                    "crs": "LTL",
                    "arrival": "2024-09-26T14:58:00+01:00",
                    "departure": "2024-09-26T14:59:00+01:00",
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true
                },
                {
                    "crs": "WDN",
                    "arrival": "2024-09-26T15:05:00+01:00",
                    "departure": "2024-09-26T15:05:00+01:00",
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true
                },
                {
                    "crs": "TOD",
                    "arrival": "2024-09-26T15:08:00+01:00",
                    "departure": "2024-09-26T15:08:00+01:00",
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true
                },
                {
                    "crs": "HBD",
                    "arrival": "2024-09-26T15:15:00+01:00",
                    "departure": "2024-09-26T15:15:00+01:00",
                    "platform": "2",
                    "pickup": true,
                    "dropoff": true
                }
            ]
        },
        "/service/G37319/2024-09-26": {
            "type": "fixed",
            "mode": "train",
            "retailServiceId": "NT415300",
            "trainUid": "G37319",
            "callingPoints": "/service/G37319/2024-09-26/calling-points",
            "reservable": [
                "Possible from any station"
            ]
        },
        "/service/G37319/2024-09-26/calling-points": [],
        "/supplement/113664": {
            "type": "/supplement-type/XFS",
            "transactionNumber": "92084",
            "price": 0,
            "isBerth": false
        },
        "/journey/150743": {
            "distance": 23,
            "co2": null,
            "boardingTime": null,
            "alightingTime": null,
            "legs": [
                "/leg/14235"
            ]
        },
        "/passenger/101137": {
            "title": "Mr",
            "initials": "Mateusz",
            "surname": "Angulski",
            "photocardNumber": null
        },
        "/supplement-type/XFS": {
            "code": "XFS",
            "type": "SEA",
            "capriCode": "ZYM",
            "description": "SEAT",
            "shortDescription": "SEAT        ",
            "price": 0,
            "minGroup": 1,
            "maxGroup": 4,
            "class": 2,
            "isSeparateTicket": true,
            "sundryCode": null,
            "packageDirections": []
        }
    },
    "messages": []
}
422 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

GET /coj-params

Params for change of journey generated based on original tickets

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "fareOrigin": {
                            "type": "string",
                            "pattern": "^/station/[A-Z0-9]+$"
                        },
                        "fareDestination": {
                            "type": "string",
                            "pattern": "^/station/[A-Z0-9]+$"
                        },
                        "adults": {
                            "type": "number"
                        },
                        "children": {
                            "type": "number"
                        },
                        "pets": {
                            "type": "number"
                        },
                        "bikes": {
                            "type": "number"
                        },
                        "maxPassengers": {
                            "type": "number"
                        },
                        "railcards": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^/railcard/[A-Z0-9]{3}$"
                            }
                        },
                        "railcard": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "splits": {
                            "type": "boolean"
                        },
                        "singles": {
                            "type": "boolean"
                        },
                        "returns": {
                            "type": "boolean"
                        },
                        "roomSupplements": {
                            "type": "boolean"
                        },
                        "promoCodes": {
                            "type": "boolean"
                        },
                        "originalOutwardDate": {
                            "type": "string",
                            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                        },
                        "originalOutwardDepartTime": {
                            "type": "string",
                            "pattern": "^\\d{2}:\\d{2}$"
                        }
                    },
                    "required": [
                        "fareOrigin",
                        "fareDestination",
                        "adults",
                        "children",
                        "pets",
                        "bikes",
                        "maxPassengers",
                        "railcards",
                        "splits",
                        "singles",
                        "returns",
                        "roomSupplements",
                        "promoCodes",
                        "originalOutwardDate",
                        "originalOutwardDepartTime"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "fareOrigin": "/station/1444",
        "fareDestination": "/station/9328",
        "adults": 1,
        "children": 0,
        "pets": 0,
        "bikes": 1,
        "maxPassengers": 2,
        "railcards": [],
        "splits": false,
        "singles": true,
        "returns": false,
        "roomSupplements": false,
        "promoCodes": true,
        "originalOutwardDate": "2025-12-12",
        "originalOutwardDepartTime": "23:45"
    },
    "links": []
}
422 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

POST /one-time-order-access

Request one time order access

Request schema (show)
{
    "type": "object",
    "properties": {
        "orderId": {
            "type": "number"
        },
        "surname": {
            "type": "string"
        },
        "vendor": {
            "type": "string"
        }
    },
    "required": [
        "orderId",
        "surname",
        "vendor"
    ],
    "additionalProperties": false
}
Request example (show)
{
    "orderId": 1234,
    "surname": "Doe",
    "vendor": "assertis"
}
200 application/json
Response schema (show)
{
    "description": "Response with data",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "orderId": 667574,
        "otpNonce": "jfa21kls-uiFA-SUOI-234",
        "validUntil": "2025-08-28T00:32:00Z"
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
401 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
422 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

GET /passenger-assist

Check whether an email exists in passenger assist external system

Parameters

array emails

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "type": "object",
            "properties": {
                "data": {
                    "patternProperties": {
                        "^[A-Za-z0-9\\._%\\+-]+@[A-Za-z0-9\\.-]+\\.[A-Za-z]{2,6}$": {
                            "type": "object",
                            "properties": {
                                "status": {
                                    "enum": [
                                        "success",
                                        "fail"
                                    ]
                                },
                                "data": {
                                    "type": "boolean"
                                }
                            },
                            "required": [
                                "status",
                                "data"
                            ],
                            "additionalProperties": false
                        }
                    },
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "a@example.com": {
            "status": "success",
            "data": true
        },
        "b@example.com": {
            "status": "success",
            "data": false
        }
    },
    "links": []
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
401 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

POST /passenger-assist

Create a passenger assist.

Request schema (show)
{
    "type": "object",
    "properties": {
        "legs": {
            "legs": {
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {
                        "uri": {
                            "type": "string",
                            "pattern": "^/leg/[0-9]+$"
                        },
                        "seat": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/seat-reservation/[0-9]+$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "journeyAssistances": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "otherAssistanceDetails": {
                            "type": "string"
                        },
                        "luggages": {
                            "type": "array",
                            "items": {
                                "enum": [
                                    "SMALL",
                                    "MEDIUM",
                                    "LARGE"
                                ]
                            }
                        }
                    },
                    "required": [
                        "uri",
                        "journeyAssistances",
                        "luggages"
                    ],
                    "additionalProperties": false
                }
            }
        },
        "email": {
            "type": "string"
        }
    },
    "required": [
        "email",
        "legs"
    ],
    "additionalProperties": false
}
Request example (show)
{
    "email": "user@example.com",
    "legs": [
        {
            "uri": "/leg/11042",
            "seat": "/seat-reservation/120206",
            "journeyAssistances": [
                "use_of_ramp"
            ],
            "otherAssistanceDetails": "i need a",
            "luggages": [
                "SMALL"
            ]
        }
    ]
}
201 application/json
Response headers

string Location (required)

Response schema (show)
{
    "status": "success",
    "data": {
        "uri": "/passenger-assist/123"
    }
}
Response example (show)
{
    "status": "success",
    "data": {
        "uri": "/passenger-assist/123"
    }
}
422 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
424 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /passenger-assist/{id}

Return an passenger assist booking

Parameters

string include

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "type": "object",
            "properties": {
                "data": {
                    "properties": {
                        "id": {
                            "type": "number"
                        },
                        "bookingRef": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "passenger": {
                            "type": "object",
                            "properties": {
                                "email": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "email"
                            ],
                            "additionalProperties": false
                        },
                        "firstOperator": {
                            "type": "object",
                            "properties": {
                                "name": {
                                    "type": "string"
                                },
                                "email": {
                                    "type": "string"
                                },
                                "phone": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "name",
                                "phone"
                            ],
                            "additionalProperties": false
                        },
                        "journey": {
                            "type": "object",
                            "properties": {
                                "outward": {
                                    "type": "object",
                                    "properties": {
                                        "uri": {
                                            "type": "string",
                                            "pattern": "^/journey/[0-9]+$"
                                        },
                                        "legs": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "uri": {
                                                        "type": "string",
                                                        "pattern": "^/leg/[0-9]+$"
                                                    },
                                                    "seat": {
                                                        "oneOf": [
                                                            {
                                                                "type": "string",
                                                                "pattern": "^/seat-reservation/[0-9]+$"
                                                            },
                                                            {
                                                                "type": "null"
                                                            }
                                                        ]
                                                    },
                                                    "journeyAssistances": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "otherAssistanceDetails": {
                                                        "type": "string"
                                                    },
                                                    "luggages": {
                                                        "type": "array",
                                                        "items": {
                                                            "enum": [
                                                                "SMALL",
                                                                "MEDIUM",
                                                                "LARGE"
                                                            ]
                                                        }
                                                    }
                                                },
                                                "required": [
                                                    "uri",
                                                    "journeyAssistances",
                                                    "otherAssistanceDetails",
                                                    "luggages"
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "uri",
                                        "legs"
                                    ],
                                    "additionalProperties": false
                                },
                                "inward": {
                                    "type": "object",
                                    "properties": {
                                        "uri": {
                                            "type": "string",
                                            "pattern": "^/journey/[0-9]+$"
                                        },
                                        "legs": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "uri": {
                                                        "type": "string",
                                                        "pattern": "^/leg/[0-9]+$"
                                                    },
                                                    "journeyAssistances": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "otherAssistanceDetails": {
                                                        "type": "string"
                                                    },
                                                    "luggages": {
                                                        "type": "array",
                                                        "items": {
                                                            "enum": [
                                                                "SMALL",
                                                                "MEDIUM",
                                                                "LARGE"
                                                            ]
                                                        }
                                                    }
                                                },
                                                "required": [
                                                    "uri",
                                                    "journeyAssistances",
                                                    "otherAssistanceDetails",
                                                    "luggages"
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "uri",
                                        "legs"
                                    ],
                                    "additionalProperties": false
                                }
                            },
                            "required": [
                                "outward"
                            ],
                            "additionalProperties": false
                        },
                        "metadata": {
                            "type": "object",
                            "properties": {
                                "state": {
                                    "enum": [
                                        "requested",
                                        "booking",
                                        "cancelling",
                                        "failed-booking",
                                        "failed-cancelling",
                                        "booked",
                                        "cancelled"
                                    ]
                                },
                                "requestedAt": {
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                        },
                                        {
                                            "type": "string",
                                            "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                        }
                                    ]
                                },
                                "bookedAt": {
                                    "oneOf": [
                                        {
                                            "oneOf": [
                                                {
                                                    "type": "string",
                                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                                },
                                                {
                                                    "type": "string",
                                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                                },
                                                {
                                                    "type": "string",
                                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                                },
                                                {
                                                    "type": "string",
                                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                },
                                "cancelledAt": {
                                    "oneOf": [
                                        {
                                            "oneOf": [
                                                {
                                                    "type": "string",
                                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                                },
                                                {
                                                    "type": "string",
                                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                                },
                                                {
                                                    "type": "string",
                                                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                                },
                                                {
                                                    "type": "string",
                                                    "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ]
                                },
                                "stateChanges": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "type": {
                                                "enum": [
                                                    "changed",
                                                    "booking",
                                                    "cancelling",
                                                    "failed-booking",
                                                    "failed-cancelling"
                                                ]
                                            },
                                            "at": {
                                                "oneOf": [
                                                    {
                                                        "type": "string",
                                                        "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}:\\d{2}$"
                                                    },
                                                    {
                                                        "type": "string",
                                                        "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+\\d{2}\\d{2}$"
                                                    },
                                                    {
                                                        "type": "string",
                                                        "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"
                                                    },
                                                    {
                                                        "type": "string",
                                                        "pattern": "^\\d{4}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z$"
                                                    }
                                                ]
                                            }
                                        },
                                        "required": [
                                            "type",
                                            "at"
                                        ]
                                    }
                                }
                            },
                            "required": [
                                "state",
                                "requestedAt",
                                "stateChanges"
                            ],
                            "additionalProperties": false
                        }
                    },
                    "required": [
                        "id",
                        "passenger",
                        "journey",
                        "metadata"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "id": 8,
        "bookingRef": "PA1234567",
        "passenger": {
            "email": "user@example.com"
        },
        "firstOperator": {
            "name": "First Operator",
            "email": "help@first_op.com",
            "phone": "0208 123 4567"
        },
        "journey": {
            "outward": {
                "uri": "/journey/164087",
                "legs": [
                    {
                        "uri": "/leg/11042",
                        "seat": "/seat-reservation/120206",
                        "journeyAssistances": [
                            "use_of_ramp"
                        ],
                        "otherAssistanceDetails": "",
                        "luggages": [
                            "SMALL"
                        ]
                    }
                ]
            }
        },
        "metadata": {
            "state": "cancelled",
            "requestedAt": "2025-12-12T11:21:30.087Z",
            "bookedAt": "2025-12-12T11:22:07.000Z",
            "cancelledAt": "2025-12-12T11:33:08.000Z",
            "stateChanges": [
                {
                    "type": "changed",
                    "at": "2025-12-12T11:21:30.087Z"
                },
                {
                    "type": "changed",
                    "at": "2025-12-12T11:22:01.077Z"
                },
                {
                    "type": "booking",
                    "at": "2025-12-12T11:22:02.000Z"
                },
                {
                    "type": "failed-booking",
                    "at": "2025-12-12T11:22:03.000Z",
                    "error": "GBR_EXCEPTION_3000"
                },
                {
                    "type": "booking",
                    "at": "2025-12-12T11:22:05.000Z"
                },
                {
                    "type": "cancelling",
                    "at": "2025-12-12T11:33:02.000Z"
                },
                {
                    "type": "failed-cancelling",
                    "at": "2025-12-12T11:33:03.000Z",
                    "error": "GBR_PA_6302"
                },
                {
                    "type": "cancelling",
                    "at": "2025-12-12T11:33:05.000Z"
                }
            ]
        }
    },
    "links": []
}
401 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

PUT /passenger-assist/{id}

Update an existing passenger assist booking.

Headers

string X-Token-Data (required)

Request schema (show)
{
    "type": "object",
    "properties": {
        "legs": {
            "legs": {
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {
                        "uri": {
                            "type": "string",
                            "pattern": "^/leg/[0-9]+$"
                        },
                        "seat": {
                            "oneOf": [
                                {
                                    "type": "string",
                                    "pattern": "^/seat-reservation/[0-9]+$"
                                },
                                {
                                    "type": "null"
                                }
                            ]
                        },
                        "journeyAssistances": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "otherAssistanceDetails": {
                            "type": "string"
                        },
                        "luggages": {
                            "type": "array",
                            "items": {
                                "enum": [
                                    "SMALL",
                                    "MEDIUM",
                                    "LARGE"
                                ]
                            }
                        }
                    },
                    "required": [
                        "uri",
                        "journeyAssistances",
                        "luggages"
                    ],
                    "additionalProperties": false
                }
            }
        },
        "email": {
            "type": "string"
        }
    },
    "required": [
        "email",
        "legs"
    ],
    "additionalProperties": false
}
Request example (show)
{
    "email": "user@example.com",
    "legs": [
        {
            "uri": "/leg/11042",
            "seat": "/seat-reservation/120206",
            "journeyAssistances": [
                "use_of_ramp"
            ],
            "otherAssistanceDetails": "i need a",
            "luggages": [
                "SMALL"
            ]
        }
    ]
}
200 application/json
Response schema (show)
{
    "description": "Response with data",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
422 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

DELETE /passenger-assist/{id}

Cancel a passenger assist booking.

Headers

string X-Token-Data (required)

422 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

Returns a paginated list of the authenticated customer's journeys whose validity ends today or earlier (fulfilled orders only).

GET /journeys-valid-until-today

Parameters

integer limit

Number of items per page (1–20, default 5)

integer page

Page number (default 1)

string include

Comma-separated list of related resources to embed

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "type": "object",
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "type": "object",
            "properties": {
                "meta": {
                    "type": "object",
                    "properties": {
                        "page": {
                            "type": "integer",
                            "description": "Current page number"
                        },
                        "perPage": {
                            "type": "integer",
                            "description": "Items per page"
                        },
                        "lastPage": {
                            "type": "integer",
                            "description": "Last available page number"
                        }
                    },
                    "required": [
                        "page",
                        "perPage",
                        "lastPage"
                    ],
                    "additionalProperties": false
                },
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "journey": {
                                "type": "string",
                                "description": "URI of the journey"
                            },
                            "tickets": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "description": "URIs of associated tickets"
                            },
                            "order": {
                                "type": "string",
                                "description": "URI of the order"
                            },
                            "refund": {
                                "type": "string",
                                "description": "URI of the refund resource for the order"
                            }
                        },
                        "required": [
                            "journey",
                            "tickets",
                            "order",
                            "refund"
                        ],
                        "additionalProperties": false
                    }
                }
            },
            "required": [
                "meta",
                "data"
            ],
            "additionalProperties": false
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    },
    "required": [
        "status"
    ],
    "additionalProperties": false
}
Response example (show)
{
    "status": "success",
    "data": {
        "meta": {
            "page": 1,
            "perPage": 5,
            "lastPage": 3
        },
        "data": [
            {
                "journey": "/journey/101",
                "tickets": [
                    "/ticket/201",
                    "/ticket/202"
                ],
                "order": "/order/301",
                "refund": "/refund/order/301"
            }
        ]
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

Returns a paginated list of the authenticated customer's journeys that are valid from today onwards (fulfilled orders only).

GET /journeys-valid-from-today

Parameters

integer limit

Number of items per page (1–20, default 5)

integer page

Page number (default 1)

string include

Comma-separated list of related resources to embed

Headers

string X-Token-Data (required)

200 application/json
Response schema (show)
{
    "type": "object",
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "type": "object",
            "properties": {
                "meta": {
                    "type": "object",
                    "properties": {
                        "page": {
                            "type": "integer",
                            "description": "Current page number"
                        },
                        "perPage": {
                            "type": "integer",
                            "description": "Items per page"
                        },
                        "lastPage": {
                            "type": "integer",
                            "description": "Last available page number"
                        }
                    },
                    "required": [
                        "page",
                        "perPage",
                        "lastPage"
                    ],
                    "additionalProperties": false
                },
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "journey": {
                                "type": "string",
                                "description": "URI of the journey"
                            },
                            "tickets": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "description": "URIs of associated tickets"
                            },
                            "order": {
                                "type": "string",
                                "description": "URI of the order"
                            },
                            "refund": {
                                "type": "string",
                                "description": "URI of the refund resource for the order"
                            }
                        },
                        "required": [
                            "journey",
                            "tickets",
                            "order",
                            "refund"
                        ],
                        "additionalProperties": false
                    }
                }
            },
            "required": [
                "meta",
                "data"
            ],
            "additionalProperties": false
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    },
    "required": [
        "status"
    ],
    "additionalProperties": false
}
Response example (show)
{
    "status": "success",
    "data": {
        "meta": {
            "page": 1,
            "perPage": 5,
            "lastPage": 2
        },
        "data": [
            {
                "journey": "/journey/102",
                "tickets": [
                    "/ticket/203"
                ],
                "order": "/order/302",
                "refund": "/refund/order/302"
            }
        ]
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

Returns HEX Premier+ product codes mapped to passenger age groups.

GET /hex/premier-products

200 application/json
Response schema (show)
{
    "type": "object",
    "properties": {
        "status": {
            "description": "Response status",
            "enum": [
                "success",
                "fail",
                "error"
            ]
        },
        "data": {
            "type": "object",
            "description": "Map of age group label to HEX Premier+ product code",
            "additionalProperties": {
                "type": "string",
                "description": "HEX Premier+ product code for the age group"
            }
        },
        "code": {
            "description": "Response error code",
            "type": "string"
        },
        "message": {
            "description": "Response error message",
            "type": "string"
        }
    },
    "required": [
        "status"
    ],
    "additionalProperties": false
}
Response example (show)
{
    "status": "success",
    "data": {
        "0-2": "HEXINF",
        "3-11": "HEXCHD",
        "12-15": "HEXJNR",
        "16+": "HEXADU"
    }
}

S-Ticket authentication endpoints.

URI parameters

string sTicketCustomerId (required)

Pattern: ^\d+$

GET /s-ticket/customers/{sTicketCustomerId}

Authenticates an S-Ticket customer and returns their basic profile. Requires matching X-Access-Token and tenant headers.

Headers

string X-Token-Data (required)

string X-Access-Token (required)

string X-Tenant (required)

200 application/json
Response schema (show)
{
    "type": "object",
    "properties": {
        "result": {
            "type": "object",
            "properties": {
                "firstNames": {
                    "type": "string",
                    "description": "Customer first names"
                },
                "surname": {
                    "type": "string",
                    "description": "Customer surname"
                },
                "email": {
                    "type": "string",
                    "description": "Customer email address"
                },
                "title": {
                    "type": "string",
                    "description": "Customer title"
                }
            },
            "required": [
                "firstNames",
                "surname",
                "email",
                "title"
            ],
            "additionalProperties": false
        }
    },
    "required": [
        "result"
    ],
    "additionalProperties": false
}
Response example (show)
{
    "result": {
        "firstNames": "John",
        "surname": "Doe",
        "email": "noreply@assertis.co.uk",
        "title": "Mx"
    }
}
401 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
403 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

Delivery

Introduction

Welcome to the Delivery API Documentation. The Delivery API allows you to read delivery mothods available in TIS. It also allow you to check which delivery methods are available for particular order.

URI parameters

string id (required)

Pattern: ^[a-z0-9\-]+$

GET /delivery/{id}

Read particular delivery method details

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "string"
                        },
                        "uri": {
                            "type": "string"
                        },
                        "displayOrder": {
                            "type": "number"
                        },
                        "name": {
                            "type": "string"
                        },
                        "time": {
                            "type": "string"
                        },
                        "requirements": {
                            "type": "string"
                        },
                        "fulfilmentType": {
                            "type": "number"
                        },
                        "price": {
                            "type": "number"
                        },
                        "isForCarnet": {
                            "type": "boolean"
                        },
                        "isForSeason": {
                            "type": "boolean"
                        },
                        "isForSeasonAnnual": {
                            "type": "boolean"
                        },
                        "isForSingle": {
                            "type": "boolean"
                        },
                        "minSecondsBefore": {
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "minWorkingDaysBefore": {
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "minValue": {
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "maxValue": {
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "active": {
                            "type": "boolean"
                        },
                        "maxTickets": {
                            "type": [
                                "number",
                                "null"
                            ]
                        }
                    },
                    "required": [
                        "uri",
                        "displayOrder",
                        "name",
                        "time",
                        "requirements",
                        "fulfilmentType",
                        "price",
                        "isForCarnet",
                        "isForSeason",
                        "isForSeasonAnnual",
                        "isForSingle",
                        "minSecondsBefore",
                        "minWorkingDaysBefore",
                        "maxValue"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "id": "first-class-post",
        "uri": "/delivery-method/first-class-post",
        "displayOrder": 2,
        "name": "First class post",
        "time": "(allow up to five working days)",
        "requirements": "Postal address",
        "fulfilmentType": 9,
        "price": 150,
        "isForCarnet": false,
        "isForSeason": false,
        "isForSeasonAnnual": false,
        "isForSingle": true,
        "minSecondsBefore": null,
        "minWorkingDaysBefore": 5,
        "minValue": null,
        "maxValue": 25000,
        "active": true
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "status",
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Delivery method with id abc does not exist.",
    "code": "ERR-NOT-FOUND"
}
URI parameters

string id (required)

Pattern: ^[a-z0-9\-]+$

GET /delivery-method/{id}

Read particular delivery method details

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "string"
                        },
                        "uri": {
                            "type": "string"
                        },
                        "displayOrder": {
                            "type": "number"
                        },
                        "name": {
                            "type": "string"
                        },
                        "time": {
                            "type": "string"
                        },
                        "requirements": {
                            "type": "string"
                        },
                        "fulfilmentType": {
                            "type": "number"
                        },
                        "price": {
                            "type": "number"
                        },
                        "isForCarnet": {
                            "type": "boolean"
                        },
                        "isForSeason": {
                            "type": "boolean"
                        },
                        "isForSeasonAnnual": {
                            "type": "boolean"
                        },
                        "isForSingle": {
                            "type": "boolean"
                        },
                        "minSecondsBefore": {
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "minWorkingDaysBefore": {
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "minValue": {
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "maxValue": {
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "active": {
                            "type": "boolean"
                        },
                        "maxTickets": {
                            "type": [
                                "number",
                                "null"
                            ]
                        }
                    },
                    "required": [
                        "uri",
                        "displayOrder",
                        "name",
                        "time",
                        "requirements",
                        "fulfilmentType",
                        "price",
                        "isForCarnet",
                        "isForSeason",
                        "isForSeasonAnnual",
                        "isForSingle",
                        "minSecondsBefore",
                        "minWorkingDaysBefore",
                        "maxValue"
                    ],
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "id": "first-class-post",
        "uri": "/delivery-method/first-class-post",
        "displayOrder": 2,
        "name": "First class post",
        "time": "(allow up to five working days)",
        "requirements": "Postal address",
        "fulfilmentType": 9,
        "price": 150,
        "isForCarnet": false,
        "isForSeason": false,
        "isForSeasonAnnual": false,
        "isForSingle": true,
        "minSecondsBefore": null,
        "minWorkingDaysBefore": 5,
        "minValue": null,
        "maxValue": 25000,
        "active": true
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "status",
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Delivery method with id abc does not exist.",
    "code": "ERR-NOT-FOUND"
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /delivery/order/{id}

Read all delivery methods available for particular order

Parameters

string format

Possible values are legacy and links. Currently defaults to legacy.

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": [
        "/delivery-method/first-class-post"
    ],
    "links": {
        "/delivery-method/first-class-post": {
            "id": "first-class-post",
            "uri": "/delivery-method/first-class-post",
            "displayOrder": 2,
            "name": "First class post",
            "time": "(allow up to five working days)",
            "requirements": "Postal address",
            "fulfilmentType": 9,
            "price": 150,
            "isForCarnet": false,
            "isForSeason": false,
            "isForSeasonAnnual": false,
            "isForSingle": true,
            "minSecondsBefore": null,
            "minWorkingDaysBefore": 5,
            "minValue": null,
            "maxValue": 25000
        }
    }
}
204 text/html
Response headers

string X-Message

Explanation of lack of delivery methods for order

404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "status",
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Order with id 1234 was not found",
    "code": "ERR-NOT-FOUND"
}
URI parameters

string fareOrigin (required)

Fare origin station NLC code

Pattern: ^.+$

string fareDestination (required)

Fare destination station NLC code

Pattern: ^.+$

string journeyOrigin (required)

Journey origin station NLC code

Pattern: ^.+$

string journeyDestination (required)

Journey destination station NLC code

Pattern: ^.+$

string travelDate (required)

Pattern: ^\d{4}\-\d{2}\-\d{2}$

Example: 1618358400

string routeCode (required)

Pattern: ^\d{5}$

Example: 00345

string ticketCodes (required)

A list of ticket codes separated by commas

Example: ABC,DEF,GHI

GET /delivery/params/{fareOrigin}/{fareDestination}/{journeyOrigin}/{journeyDestination}/{travelDate}/{routeCode}/{ticketCodes}

Read all delivery methods available for provided parameters

Parameters

string format

Possible values are legacy and links. Currently defaults to legacy.

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": [
        "/delivery-method/first-class-post"
    ],
    "links": {
        "/delivery-method/first-class-post": {
            "id": "first-class-post",
            "uri": "/delivery-method/first-class-post",
            "displayOrder": 2,
            "name": "First class post",
            "time": "(allow up to five working days)",
            "requirements": "Postal address",
            "fulfilmentType": 9,
            "price": 150,
            "isForCarnet": false,
            "isForSeason": false,
            "isForSeasonAnnual": false,
            "isForSingle": true,
            "minSecondsBefore": null,
            "minWorkingDaysBefore": 5,
            "minValue": null,
            "maxValue": 25000
        }
    }
}
204 text/html
Response headers

string X-Message

Explanation of lack of delivery methods for provided parameters

404 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "status",
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Order with id 1234 was not found",
    "code": "ERR-NOT-FOUND"
}
URI parameters

string inputs (required)

Items to be checked as comma-separated fareOrigin-fareDestination-journeyOrigin-journeyDestination-routeCode-ticketCode.

Each item can end with -price-annual-count: the price of one ticket in pence, 1 for an annual season ticket, otherwise 0, and the number of these tickets (1-999). Then the answer applies the same checks as /delivery/order/{id}, over the whole request: season, annual and carnet filters, minimum and maximum value, maximum ticket count and logged-in user. Send the departure date and time as date. When every ticket is a season ticket, send its validity start date instead: the delivery date is the end of that day, as on the order path. Send all items in one form: a mix is refused with 400. Items without the suffix keep the old checks. An item that does not have 6 or 9 parts, such as the empty item after a trailing comma, is refused with 400.

Pattern: ^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{5}-[A-Za-z0-9]{3}(-[0-9]{1,9}-[01]-[1-9][0-9]{0,2})?(,[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{5}-[A-Za-z0-9]{3}(-[0-9]{1,9}-[01]-[1-9][0-9]{0,2})?)*$

Example: 8487-8263-8487-8263-00000-SDS,8487-8263-8487-8263-00000-1AF

GET /delivery/params/{inputs}

Read the delivery methods every input can use. meta says which licensee the answer is for and, per input, whether RCS lets that licensee type retail the ticket on that channel.

Parameters

string format

Possible values are bool, list and legacy. Defaults to bool.

string date

Travel date the delivery lead times are checked against. Defaults to today. A value that is not a date is a 400.

Example: 2026-10-08

string licenseeType

RCS licensee type id to answer for: one of the licenseeTypes listed by /delivery/rcs/reference. Defaults to the tenant's configured type.

Pattern: ^[0-9]{1,4}$

Example: 2

string licensee

RCS licensee format (the TOC business code) to answer for: one of the licensees listed by /delivery/rcs/reference, or exactly * for no specific licensee. Defaults to the tenant's configured licensee.

Pattern: ^[A-Za-z0-9*]{1,20}$

Example: HO

string channel

RCS channel id to answer for: one of the channels listed by /delivery/rcs/reference. Defaults to the tenant's configured channel.

Pattern: ^[0-9]{1,4}$

Example: 6

Headers

string X-Token-Data

The session token as JSON. Only used with extended items: methods that require a logged-in user are offered only when it has a userId. A missing or invalid token counts as anonymous.

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "required": [
                "meta"
            ],
            "properties": {
                "data": {
                    "description": "bool: delivery method id => true (an empty array when there is none). list: delivery method URIs. legacy: delivery methods.",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "meta": {
                    "description": "The licensee an answer was computed for and the RCS channel verdict of each input",
                    "type": "object",
                    "required": [
                        "licensee",
                        "inputs"
                    ],
                    "properties": {
                        "licensee": {
                            "type": "object",
                            "required": [
                                "licenseeType",
                                "licensee",
                                "channel"
                            ],
                            "properties": {
                                "licenseeType": {
                                    "type": "integer"
                                },
                                "licensee": {
                                    "description": "null when no specific licensee applies",
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "channel": {
                                    "type": "integer"
                                }
                            },
                            "additionalProperties": false
                        },
                        "inputs": {
                            "description": "One entry per input, in request order",
                            "type": "array",
                            "items": {
                                "type": "object",
                                "required": [
                                    "input",
                                    "ticketCode",
                                    "allowedOnChannel"
                                ],
                                "properties": {
                                    "input": {
                                        "type": "string"
                                    },
                                    "ticketCode": {
                                        "type": "string"
                                    },
                                    "allowedOnChannel": {
                                        "description": "Whether RCS lets this licensee type retail the ticket on this channel. False when RCS has no record of the ticket code.",
                                        "type": "boolean"
                                    }
                                },
                                "additionalProperties": false
                            }
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "e-ticket": true,
        "tod": true
    },
    "links": [],
    "debug": [
        "[post] No fulfilment method flow"
    ],
    "meta": {
        "licensee": {
            "licenseeType": 1,
            "licensee": "HO",
            "channel": 6
        },
        "inputs": [
            {
                "input": "8487-8263-8487-8263-00000-SDS",
                "ticketCode": "SDS",
                "allowedOnChannel": true
            }
        ]
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "status",
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Input validation failed",
    "code": "ERR-VALIDATION",
    "data": {
        "channel": "Must be a numeric id of up to 4 digits",
        "licensee": "Not one of the values listed by /delivery/rcs/reference"
    },
    "links": []
}
URI parameters

string inputs (required)

Items to be checked as comma-separated fareOrigin-fareDestination-journeyOrigin-journeyDestination-routeCode-ticketCode.

Each item can end with -price-annual-count: the price of one ticket in pence, 1 for an annual season ticket, otherwise 0, and the number of these tickets (1-999). Then the answer applies the same checks as /delivery/order/{id}, over the whole request: season, annual and carnet filters, minimum and maximum value, maximum ticket count and logged-in user. Send the departure date and time as date. When every ticket is a season ticket, send its validity start date instead: the delivery date is the end of that day, as on the order path. Send all items in one form: a mix is refused with 400. Items without the suffix keep the old checks. An item that does not have 6 or 9 parts, such as the empty item after a trailing comma, is refused with 400.

Pattern: ^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{5}-[A-Za-z0-9]{3}(-[0-9]{1,9}-[01]-[1-9][0-9]{0,2})?(,[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{5}-[A-Za-z0-9]{3}(-[0-9]{1,9}-[01]-[1-9][0-9]{0,2})?)*$

Example: 8487-8263-8487-8263-00000-SDS,8487-8263-8487-8263-00000-1AF

GET /delivery/all-by-params/{inputs}

Every configured delivery method in display order, available or not, for the same inputs and parameters as /delivery/params/{inputs}, for example for Odyssey's allFares mode. Every check of every method is run for every input, so reasons lists the code of every reason why a method is not available: being inactive or having no RCS fulfilment method is one reason among the others. A ticket code RCS does not know refuses every method instead of failing. debug says the same reasons to people, with their values (e.g. the minimum price). meta is the same as on /delivery/params/{inputs}. This is slower than /delivery/params/{inputs}.

| Code | The method is refused because | |------|-------------------------------| | inactive | it is not active in the tenant's config | | no-fulfilment-method | RCS has no fulfilment method of its type for the ticket and flow | | not-enough-working-days | there are too few working days before the departure (post) | | departure-too-soon | the departure is too soon | | not-for-season | it is not for season tickets | | not-for-annual | it is not for annual season tickets | | not-for-single | it is not for single tickets | | reservation-required | its fulfilment needs a reservation, and a ticket has none | | below-min-value | the total price is not above its minimum | | above-max-value | the total price is above its maximum | | too-many-tickets | there are more tickets than its maximum | | not-for-london-zone | e-ticket, for a fare to or from a London zone | | not-for-plusbus | e-ticket, for a PlusBus ticket | | login-required | it needs a logged-in user, and the token has none | | e-ticket-disabled-for-ticket-type | e-ticket, which the tenant disables for a ticket type | | not-allowed-on-channel | RCS does not let the licensee sell a ticket on the channel (every method) | | unknown-ticket-type | Ride does not know a ticket code (every method) | | unknown-rcs-ticket | RCS does not know a ticket code for today (every method) | | not-available | none of the above, which should not happen |

Parameters

string date

Travel date the delivery lead times are checked against. Defaults to today. A value that is not a date is a 400.

Example: 2026-10-08

string licenseeType

RCS licensee type id to answer for: one of the licenseeTypes listed by /delivery/rcs/reference. Defaults to the tenant's configured type.

Pattern: ^[0-9]{1,4}$

Example: 2

string licensee

RCS licensee format (the TOC business code) to answer for: one of the licensees listed by /delivery/rcs/reference, or exactly * for no specific licensee. Defaults to the tenant's configured licensee.

Pattern: ^[A-Za-z0-9*]{1,20}$

Example: HO

string channel

RCS channel id to answer for: one of the channels listed by /delivery/rcs/reference. Defaults to the tenant's configured channel.

Pattern: ^[0-9]{1,4}$

Example: 6

Headers

string X-Token-Data

The session token as JSON. Only used with extended items: methods that require a logged-in user are offered only when it has a userId. A missing or invalid token counts as anonymous.

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "required": [
                "meta"
            ],
            "properties": {
                "data": {
                    "description": "Every delivery method id, in display order.",
                    "type": "object",
                    "additionalProperties": {
                        "type": "object",
                        "required": [
                            "active",
                            "available",
                            "reasons"
                        ],
                        "properties": {
                            "active": {
                                "type": "boolean",
                                "description": "Whether the method is active in the tenant config."
                            },
                            "available": {
                                "type": "boolean",
                                "description": "Whether the method is available for every input: true when reasons is empty."
                            },
                            "reasons": {
                                "type": "array",
                                "items": {
                                    "type": "string",
                                    "pattern": "^[a-z]+(-[a-z]+)*$"
                                },
                                "description": "The code of every reason why the method is not available (see the endpoint's description)."
                            }
                        }
                    }
                },
                "meta": {
                    "description": "The licensee an answer was computed for and the RCS channel verdict of each input",
                    "type": "object",
                    "required": [
                        "licensee",
                        "inputs"
                    ],
                    "properties": {
                        "licensee": {
                            "type": "object",
                            "required": [
                                "licenseeType",
                                "licensee",
                                "channel"
                            ],
                            "properties": {
                                "licenseeType": {
                                    "type": "integer"
                                },
                                "licensee": {
                                    "description": "null when no specific licensee applies",
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "channel": {
                                    "type": "integer"
                                }
                            },
                            "additionalProperties": false
                        },
                        "inputs": {
                            "description": "One entry per input, in request order",
                            "type": "array",
                            "items": {
                                "type": "object",
                                "required": [
                                    "input",
                                    "ticketCode",
                                    "allowedOnChannel"
                                ],
                                "properties": {
                                    "input": {
                                        "type": "string"
                                    },
                                    "ticketCode": {
                                        "type": "string"
                                    },
                                    "allowedOnChannel": {
                                        "description": "Whether RCS lets this licensee type retail the ticket on this channel. False when RCS has no record of the ticket code.",
                                        "type": "boolean"
                                    }
                                },
                                "additionalProperties": false
                            }
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "tod": {
            "active": true,
            "available": true,
            "reasons": []
        },
        "first-class-post": {
            "active": true,
            "available": false,
            "reasons": [
                "not-enough-working-days"
            ]
        },
        "e-ticket": {
            "active": true,
            "available": true,
            "reasons": []
        },
        "new-smartcard": {
            "active": false,
            "available": false,
            "reasons": [
                "inactive",
                "no-fulfilment-method"
            ]
        }
    },
    "links": [],
    "debug": [
        "[first-class-post] Not enough working days for delivery",
        "[new-smartcard] Inactive",
        "[new-smartcard] No fulfilment method flow"
    ],
    "meta": {
        "licensee": {
            "licenseeType": 1,
            "licensee": "HO",
            "channel": 6
        },
        "inputs": [
            {
                "input": "8487-8263-8487-8263-00000-SDS-4550-0-1",
                "ticketCode": "SDS",
                "allowedOnChannel": true
            }
        ]
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "status",
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Input validation failed",
    "code": "ERR-VALIDATION",
    "data": {
        "channel": "Must be a numeric id of up to 4 digits",
        "licensee": "Not one of the values listed by /delivery/rcs/reference"
    },
    "links": []
}

Selector values for the licenseeType, licensee and channel parameters, from the RCS tables.

GET /delivery/rcs/reference

200 application/json
Response schema (show)
{
    "definitions": {
        "describedIds": {
            "type": "array",
            "items": {
                "type": "object",
                "required": [
                    "id",
                    "description"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "description": {
                        "type": "string"
                    }
                },
                "additionalProperties": false
            }
        }
    },
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "required": [
                        "licenseeTypes",
                        "channels",
                        "licensees",
                        "defaults"
                    ],
                    "properties": {
                        "licenseeTypes": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "required": [
                                    "id",
                                    "description"
                                ],
                                "properties": {
                                    "id": {
                                        "type": "integer"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "channels": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "required": [
                                    "id",
                                    "description"
                                ],
                                "properties": {
                                    "id": {
                                        "type": "integer"
                                    },
                                    "description": {
                                        "type": "string"
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "licensees": {
                            "description": "Distinct licensee formats (TOC business codes) present in the RCS ticket tables",
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "defaults": {
                            "description": "The tenant's configured licensee, i.e. what the parameters default to",
                            "type": "object",
                            "required": [
                                "licenseeType",
                                "licensee",
                                "channel"
                            ],
                            "properties": {
                                "licenseeType": {
                                    "type": "integer"
                                },
                                "licensee": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "channel": {
                                    "type": "integer"
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "additionalProperties": false
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "licenseeTypes": [
            {
                "id": 1,
                "description": "TOC"
            },
            {
                "id": 2,
                "description": "Third Party"
            }
        ],
        "channels": [
            {
                "id": 4,
                "description": "TVM"
            },
            {
                "id": 6,
                "description": "Web"
            }
        ],
        "licensees": [
            "EB",
            "HO"
        ],
        "defaults": {
            "licenseeType": 2,
            "licensee": null,
            "channel": 6
        }
    }
}
URI parameters

string fareOrigin (required)

Fare origin station NLC code

Pattern: ^.+$

string fareDestination (required)

Fare destination station NLC code

Pattern: ^.+$

string journeyOrigin (required)

Journey origin station NLC code

Pattern: ^.+$

string journeyDestination (required)

Journey destination station NLC code

Pattern: ^.+$

string routeCode (required)

Pattern: ^\d{5}$

Example: 00345

string ticketCode (required)

A list of ticket codes separated by commas

Example: SOS,SSS

GET /has-e-ticket/{fareOrigin}/{fareDestination}/{journeyOrigin}/{journeyDestination}/{routeCode}/{ticketCodes}

Check whether a specific ticket set can be an e-ticket

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "e-ticket": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "e-ticket"
                    ],
                    "additionalProperties": false
                },
                "meta": {
                    "description": "The licensee an answer was computed for and the RCS channel verdict of each input",
                    "type": "object",
                    "required": [
                        "licensee",
                        "inputs"
                    ],
                    "properties": {
                        "licensee": {
                            "type": "object",
                            "required": [
                                "licenseeType",
                                "licensee",
                                "channel"
                            ],
                            "properties": {
                                "licenseeType": {
                                    "type": "integer"
                                },
                                "licensee": {
                                    "description": "null when no specific licensee applies",
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "channel": {
                                    "type": "integer"
                                }
                            },
                            "additionalProperties": false
                        },
                        "inputs": {
                            "description": "One entry per input, in request order",
                            "type": "array",
                            "items": {
                                "type": "object",
                                "required": [
                                    "input",
                                    "ticketCode",
                                    "allowedOnChannel"
                                ],
                                "properties": {
                                    "input": {
                                        "type": "string"
                                    },
                                    "ticketCode": {
                                        "type": "string"
                                    },
                                    "allowedOnChannel": {
                                        "description": "Whether RCS lets this licensee type retail the ticket on this channel. False when RCS has no record of the ticket code.",
                                        "type": "boolean"
                                    }
                                },
                                "additionalProperties": false
                            }
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "e-ticket": true
    }
}
URI parameters

string fareOrigin (required)

Fare origin station NLC code

Pattern: ^.+$

string fareDestination (required)

Fare destination station NLC code

Pattern: ^.+$

string journeyOrigin (required)

Journey origin station NLC code

Pattern: ^.+$

string journeyDestination (required)

Journey destination station NLC code

Pattern: ^.+$

string ticketAndRouteCodes (required)

Comma-separated list of ticketCode:routeCode pairs (e.g. SOS:00345,SSS:00345)

Pattern: ^[A-Z0-9]+:[0-9]{5}(,[A-Z0-9]+:[0-9]{5})*$

Example: SOS:00345,SSS:00346

GET /has-e-ticket/{fareOrigin}/{fareDestination}/{journeyOrigin}/{journeyDestination}/{ticketAndRouteCodes}

Check whether a specific ticket set can be an e-ticket (one route code per ticket)

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "e-ticket": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "e-ticket"
                    ],
                    "additionalProperties": false
                },
                "meta": {
                    "description": "The licensee an answer was computed for and the RCS channel verdict of each input",
                    "type": "object",
                    "required": [
                        "licensee",
                        "inputs"
                    ],
                    "properties": {
                        "licensee": {
                            "type": "object",
                            "required": [
                                "licenseeType",
                                "licensee",
                                "channel"
                            ],
                            "properties": {
                                "licenseeType": {
                                    "type": "integer"
                                },
                                "licensee": {
                                    "description": "null when no specific licensee applies",
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "channel": {
                                    "type": "integer"
                                }
                            },
                            "additionalProperties": false
                        },
                        "inputs": {
                            "description": "One entry per input, in request order",
                            "type": "array",
                            "items": {
                                "type": "object",
                                "required": [
                                    "input",
                                    "ticketCode",
                                    "allowedOnChannel"
                                ],
                                "properties": {
                                    "input": {
                                        "type": "string"
                                    },
                                    "ticketCode": {
                                        "type": "string"
                                    },
                                    "allowedOnChannel": {
                                        "description": "Whether RCS lets this licensee type retail the ticket on this channel. False when RCS has no record of the ticket code.",
                                        "type": "boolean"
                                    }
                                },
                                "additionalProperties": false
                            }
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "e-ticket": true
    }
}
URI parameters

string items (required)

Items to be checked as comma-separated fareOrigin-fareDestination-journeyOrigin-journeyDestination-routeCode-ticketCode.

Each item can end with -price-annual-count: the price of one ticket in pence, 1 for an annual season ticket, otherwise 0, and the number of these tickets (1-999). Then the answer applies the same checks as /delivery/order/{id}, over the whole request: season, annual and carnet filters, minimum and maximum value, maximum ticket count and logged-in user. Send the departure date and time as date. When every ticket is a season ticket, send its validity start date instead: the delivery date is the end of that day, as on the order path. Send all items in one form: a mix is refused with 400. Items without the suffix keep the old checks. An item that does not have 6 or 9 parts, such as the empty item after a trailing comma, is refused with 400.

Pattern: ^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{5}-[A-Za-z0-9]{3}(-[0-9]{1,9}-[01]-[1-9][0-9]{0,2})?(,[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{5}-[A-Za-z0-9]{3}(-[0-9]{1,9}-[01]-[1-9][0-9]{0,2})?)*$

Example: 1234-5678-9012-3456-78901-ABC,1234-5678-9012-3456-78901-DEF

GET /has-e-ticket/{items}

Check whether a specific ticket set can be an e-ticket: whether /delivery/params/{inputs} would offer e-ticket for the same inputs and date. When any of the licensee parameters is sent, the response also carries meta (the licensee answered for and the RCS channel verdict of each input); without them it is unchanged.

Parameters

string date

Travel date the delivery lead times are checked against. Defaults to today. A value that is not a date is a 400.

Example: 2026-10-08

string licenseeType

RCS licensee type id to answer for: one of the licenseeTypes listed by /delivery/rcs/reference. Defaults to the tenant's configured type.

Pattern: ^[0-9]{1,4}$

Example: 2

string licensee

RCS licensee format (the TOC business code) to answer for: one of the licensees listed by /delivery/rcs/reference, or exactly * for no specific licensee. Defaults to the tenant's configured licensee.

Pattern: ^[A-Za-z0-9*]{1,20}$

Example: HO

string channel

RCS channel id to answer for: one of the channels listed by /delivery/rcs/reference. Defaults to the tenant's configured channel.

Pattern: ^[0-9]{1,4}$

Example: 6

Headers

string X-Token-Data

The session token as JSON. Only used with extended items: methods that require a logged-in user are offered only when it has a userId. A missing or invalid token counts as anonymous.

200 application/json
Response schema (show)
{
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "e-ticket": {
                            "type": "boolean"
                        }
                    },
                    "required": [
                        "e-ticket"
                    ],
                    "additionalProperties": false
                },
                "meta": {
                    "description": "The licensee an answer was computed for and the RCS channel verdict of each input",
                    "type": "object",
                    "required": [
                        "licensee",
                        "inputs"
                    ],
                    "properties": {
                        "licensee": {
                            "type": "object",
                            "required": [
                                "licenseeType",
                                "licensee",
                                "channel"
                            ],
                            "properties": {
                                "licenseeType": {
                                    "type": "integer"
                                },
                                "licensee": {
                                    "description": "null when no specific licensee applies",
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "channel": {
                                    "type": "integer"
                                }
                            },
                            "additionalProperties": false
                        },
                        "inputs": {
                            "description": "One entry per input, in request order",
                            "type": "array",
                            "items": {
                                "type": "object",
                                "required": [
                                    "input",
                                    "ticketCode",
                                    "allowedOnChannel"
                                ],
                                "properties": {
                                    "input": {
                                        "type": "string"
                                    },
                                    "ticketCode": {
                                        "type": "string"
                                    },
                                    "allowedOnChannel": {
                                        "description": "Whether RCS lets this licensee type retail the ticket on this channel. False when RCS has no record of the ticket code.",
                                        "type": "boolean"
                                    }
                                },
                                "additionalProperties": false
                            }
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "e-ticket": true
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                }
            }
        },
        {
            "required": [
                "status",
                "message"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "message": "Input validation failed",
    "code": "ERR-VALIDATION",
    "data": {
        "channel": "Must be a numeric id of up to 4 digits",
        "licensee": "Not one of the values listed by /delivery/rcs/reference"
    },
    "links": []
}

Card Payments

Secure Trading API

The card payments API processes card payments with 3d secure and fraud checks.

POST /st-card-payment

Request schema (show)
{
    "description": "Card payment request",
    "type": "object",
    "additionalProperties": false,
    "required": [
        "order",
        "amount",
        "callback"
    ],
    "properties": {
        "order": {
            "type": [
                "string"
            ],
            "pattern": "/order/[0-9]+"
        },
        "amount": {
            "type": "integer",
            "description": "Amount pence in GBP"
        },
        "callback": {
            "type": "string",
            "description": "Callback url required for 3d secure payments"
        },
        "cardToken": {
            "type": "string"
        },
        "expiryMonth": {
            "type": "integer"
        },
        "expiryYear": {
            "type": "integer"
        },
        "billingAddress": {
            "description": "Card payment billing address schema",
            "type": "object",
            "additionalProperties": false,
            "required": [
                "title",
                "firstNames",
                "surname",
                "address1",
                "town",
                "country"
            ],
            "properties": {
                "title": {
                    "description": "e.g. Mr, Miss, Dr",
                    "type": "string",
                    "maxLength": 25
                },
                "firstNames": {
                    "type": "string",
                    "maxLength": 254
                },
                "surname": {
                    "type": "string",
                    "maxLength": 127
                },
                "address1": {
                    "type": "string",
                    "maxLength": 25
                },
                "address2": {
                    "type": "string",
                    "maxLength": 127
                },
                "address3": {
                    "type": "string",
                    "maxLength": 127
                },
                "town": {
                    "type": "string",
                    "maxLength": 127
                },
                "county": {
                    "description": "For US addresses, the state would be entered in this field",
                    "type": "string",
                    "maxLength": 127
                },
                "postCode": {
                    "description": "If the country provided is not United States, Great Britain or Canada, or if no country is provided, the postcode field is not validated",
                    "type": "string",
                    "maxLength": 25
                },
                "country": {
                    "description": "This will need to be in ISO2A format. https://www.securetrading.com/docs/document/toolbox/country-codes/",
                    "type": "string",
                    "pattern": "^[A-Z]{2}$",
                    "maxLength": 2
                },
                "telephoneNumber": {
                    "type": "string",
                    "pattern": "^[0-9\\-\\+\\(\\)\\s]{0,20}$",
                    "maxLength": 20
                },
                "email": {
                    "type": "string",
                    "pattern": "^.*$",
                    "maxLength": 255
                },
                "marketingSignup": {
                    "type": "boolean"
                }
            }
        },
        "storedCard": {
            "type": [
                "string"
            ],
            "pattern": "/st-card/[0-9]+"
        },
        "currency": {
            "type": "string",
            "default": "GBP",
            "description": "One of currency codes from https://docs.trustpayments.com/document/toolbox/currency-codes/ that is available on the secure trading account",
            "pattern": "^[A-Z]{3}$"
        },
        "localAmount": {
            "type": "integer",
            "description": "Amount pence in selected currency"
        }
    }
}
Request example (show)
{
    "order": "/order/1",
    "amount": 1000,
    "expiryMonth": 10,
    "expiryYear": 2029,
    "cardToken": "abcd1234",
    "billingAddress": {
        "title": "Mr",
        "firstNames": "Test Ing",
        "surname": "Person",
        "address1": "123 Test Street",
        "address2": "Another Street",
        "town": "Test Town",
        "county": "Norfolk",
        "country": "GB",
        "postCode": "TE57 1NG",
        "telephoneNumber": "+79 123-123-123"
    },
    "callback": "http://www.example.org"
}
Request example (show)
{
    "order": "/order/1",
    "storedCard": "/st-card/1",
    "currency": "GBP",
    "localAmount": 0,
    "cvv": 123,
    "amount": 615
}
200 application/json
Response schema (show)
{
    "description": "Secure Trading Card Payment response",
    "type": "object",
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Response resolved links",
                            "type": [
                                "object",
                                "array"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "required": [
                "links"
            ],
            "properties": {
                "data": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                        "payment"
                    ],
                    "properties": {
                        "payment": {
                            "type": [
                                "string"
                            ],
                            "pattern": "/st-card-payment/[0-9]+"
                        },
                        "threeDSecure": {
                            "type": "object",
                            "description": "Information required for preforming three d secure process",
                            "properties": {
                                "acsUrl": {
                                    "type": "string",
                                    "description": "Bank website that need to be used to start three d secure process"
                                },
                                "MD": {
                                    "type": "string",
                                    "description": "The unique 3-D Secure reference for this transaction"
                                },
                                "PaReq": {
                                    "type": "string",
                                    "description": "The unique identifier for the transaction"
                                },
                                "TermUrl": {
                                    "type": "string",
                                    "description": "Address where bank will redirect in the end of process"
                                }
                            },
                            "required": [
                                "acsUrl",
                                "MD",
                                "PaReq",
                                "TermUrl"
                            ]
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "payment": "/st-card-payment/1",
        "threeDSecure": {
            "acsUrl": "https://webapp.securetrading.net/acs/visa.cgi",
            "MD": "UEZOVVBqeE5SRDQ4VFVSSVBtWjJWMWR4SzBKeWQySmxLMnQ1TUhSRlVrSkNja0U5UFR3dlRVUklQanhoWTNOVmNtdythSFIwY0hNNkx5OTNaV0poY0hBdWMyVmpkWEpsZEhKaFpHbHVaeTV1WlhRdllXTnpMM1pwYzJFdVkyZHBQQzloWTNOVmNtdytQSEJoYmt4bGJtZDBhRDR4Tmp3dmNHRnVUR1Z1WjNSb1BqeHRaWE56WVdkbFNXUStVRUZTWlhFdE1UVXdORFV5TmpRM05UWXdOeTB4T0RjM05UTTJOamt6UEM5dFpYTnpZV2RsU1dRK1BDOU5SRDQ4TDFOVVBnPT06bWRlU29aUlIrYytQTGt3OU5OdHZyUzRNeFpJa2hNT0k4bzY0WjdlZjZmNTNzPQ==",
            "PaReq": "eJxVUttuAiEQ/RXj+8plb2pGElub1KQ1atf0mcBEN9mLAhr9+8KqVeeFOTNwOHMAip1BnP2gOhoU8I3Wyi32Sj3pL6drPEQspUnKsyRPM5pHbJjnaZxlo7gvoNsg4ITGlm0j2IAOOJA79FxG7WTjBEh1eJsvBONxkmZAbhBqNPOZoK8B5FqGRtYoptaicaXtfTkNpCuBao+NMxcx5J7rDuBoKrFzbj8mxHbDRM5IXTbbyDOcSoWDqlWyItZFShod7eWlxsYRTkmsLZBwHshD8/IYMuvvO5dayM15U9AVX3CdylhdiqIq1h96t/ptJ0DCDtDSoeCU5XREkx7jY8rGLAXS1UHWQWiwwM9/zWEfrpg+NZ4L4Gcw2Kj7nHcEeN63jVcuvNf/OWi0yuu/LQ/x75/BfuW8owl7jfAQXSNQlt7DmLIrZwBAwlFye2Ny+xg+e/kwf2fkumw=",
            "TermUrl": "http://secure-trading-service.local/st-card-payment/1/3ds"
        }
    },
    "links": {
        "/st-card-payment/1": {
            "amount": 1000,
            "currency": "GBP",
            "status": "Pending",
            "billingAddress": {
                "title": "Mr",
                "firstNames": "Test Ing",
                "surname": "Person",
                "address1": "123 Test Street",
                "address2": "Another Street",
                "town": "Test Town",
                "county": "Norfolk",
                "country": "GB",
                "postCode": "TE57 1NG",
                "telephoneNumber": "+79 123-123-123"
            },
            "underReview": false,
            "fraudChecked": true,
            "3dSecureEnabled": true,
            "pan": "411111######1111",
            "cardType": "VISA",
            "expiryDate": "122017",
            "created": "2017-06-25T14:00:00+00:00",
            "updated": "2017-06-25T14:05:00+00:00"
        }
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "validation": {
            "amount": "must be greater than 0, but is equal to \"-1\""
        }
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "message": "Stored card not found"
    }
}
422 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "code": "10000",
        "message": "The payment was declined by the bank"
    }
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
URI parameters

string id (required)

Pattern: ^\d+$

GET /st-card-payment/{id}

200 application/json
Response schema (show)
{
    "description": "Secure Trading Card Payment object",
    "type": "object",
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Response resolved links",
                            "type": [
                                "object",
                                "array"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                        "amount",
                        "currency",
                        "localAmount",
                        "status",
                        "underReview",
                        "fraudChecked",
                        "3dSecureEnabled",
                        "pan",
                        "cardType",
                        "expiryDate",
                        "lastReference",
                        "authReference",
                        "created",
                        "updated"
                    ],
                    "properties": {
                        "amount": {
                            "type": "integer",
                            "description": "Amount pence in GBP"
                        },
                        "currency": {
                            "type": "string",
                            "description": "One of currency codes from https://www.securetrading.com/docs/document/toolbox/currency-codes/ that is available on the secure trading account"
                        },
                        "localAmount": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "description": "Amount pence in selected currency"
                        },
                        "status": {
                            "description": "Current status of the payment transaction.",
                            "type": "string",
                            "enum": [
                                "Pending",
                                "Declined",
                                "Authorised"
                            ]
                        },
                        "billingAddress": {
                            "description": "Card payment billing address schema",
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "title",
                                "firstNames",
                                "surname",
                                "address1",
                                "town",
                                "country"
                            ],
                            "properties": {
                                "title": {
                                    "description": "e.g. Mr, Miss, Dr",
                                    "type": "string",
                                    "maxLength": 25
                                },
                                "firstNames": {
                                    "type": "string",
                                    "maxLength": 254
                                },
                                "surname": {
                                    "type": "string",
                                    "maxLength": 127
                                },
                                "address1": {
                                    "type": "string",
                                    "maxLength": 25
                                },
                                "address2": {
                                    "type": "string",
                                    "maxLength": 127
                                },
                                "address3": {
                                    "type": "string",
                                    "maxLength": 127
                                },
                                "town": {
                                    "type": "string",
                                    "maxLength": 127
                                },
                                "county": {
                                    "description": "For US addresses, the state would be entered in this field",
                                    "type": "string",
                                    "maxLength": 127
                                },
                                "postCode": {
                                    "description": "If the country provided is not United States, Great Britain or Canada, or if no country is provided, the postcode field is not validated",
                                    "type": "string",
                                    "maxLength": 25
                                },
                                "country": {
                                    "description": "This will need to be in ISO2A format. https://www.securetrading.com/docs/document/toolbox/country-codes/",
                                    "type": "string",
                                    "pattern": "^[A-Z]{2}$",
                                    "maxLength": 2
                                },
                                "telephoneNumber": {
                                    "type": "string",
                                    "pattern": "^[0-9\\-\\+\\(\\)\\s]{0,20}$",
                                    "maxLength": 20
                                },
                                "email": {
                                    "type": "string",
                                    "pattern": "^.*$",
                                    "maxLength": 255
                                },
                                "marketingSignup": {
                                    "type": "boolean"
                                }
                            }
                        },
                        "underReview": {
                            "type": "boolean"
                        },
                        "fraudChecked": {
                            "type": "boolean"
                        },
                        "3dSecureEnabled": {
                            "type": "boolean"
                        },
                        "pan": {
                            "description": "Masked card number, e.g. 411111######1111",
                            "type": [
                                "string",
                                "null"
                            ],
                            "pattern": "^[0-9]{6,6}#{6,6}[0-9]{4,4}$"
                        },
                        "cardType": {
                            "type": [
                                "string",
                                "null"
                            ]
                        },
                        "expiryDate": {
                            "type": "string"
                        },
                        "authReference": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "Reference to auth operation on payment in SecureTrading"
                        },
                        "lastReference": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "Reference to last operation on payment in SecureTrading"
                        },
                        "created": {
                            "type": "string"
                        },
                        "updated": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "amount": 1000,
        "currency": "GBP",
        "status": "Pending",
        "billingAddress": {
            "title": "Mr",
            "firstNames": "Mat Pat",
            "surname": "Tad",
            "address1": "Address Line 1",
            "town": "Berat",
            "postCode": "123-45-GET",
            "country": "UG"
        },
        "underReview": false,
        "fraudChecked": true,
        "3dSecureEnabled": true,
        "pan": "411111######1111",
        "cardType": "VISA",
        "expiryDate": "122017",
        "lastReference": null,
        "authReference": "123-abcd4e",
        "created": "2017-06-25T14:00:00+00:00",
        "updated": "2017-06-25T14:05:00+00:00"
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}

PUT /st-card-payment/{id}

Request schema (show)
{
    "description": "Card payment fraud challanged update request",
    "type": "object",
    "additionalProperties": false,
    "required": [
        "status"
    ],
    "properties": {
        "status": {
            "type": "string",
            "description": "One of payment statuses: Declined or Authorised"
        }
    }
}
Request example (show)
{
    "status": "Authorised"
}
200 application/json
Response schema (show)
{
    "description": "Secure Trading Card Payment response",
    "type": "object",
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Response resolved links",
                            "type": [
                                "object",
                                "array"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "required": [
                "links"
            ],
            "properties": {
                "data": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                        "payment"
                    ],
                    "properties": {
                        "payment": {
                            "type": [
                                "string"
                            ],
                            "pattern": "/st-card-payment/[0-9]+"
                        },
                        "threeDSecure": {
                            "type": "object",
                            "description": "Information required for preforming three d secure process",
                            "properties": {
                                "acsUrl": {
                                    "type": "string",
                                    "description": "Bank website that need to be used to start three d secure process"
                                },
                                "MD": {
                                    "type": "string",
                                    "description": "The unique 3-D Secure reference for this transaction"
                                },
                                "PaReq": {
                                    "type": "string",
                                    "description": "The unique identifier for the transaction"
                                },
                                "TermUrl": {
                                    "type": "string",
                                    "description": "Address where bank will redirect in the end of process"
                                }
                            },
                            "required": [
                                "acsUrl",
                                "MD",
                                "PaReq",
                                "TermUrl"
                            ]
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "payment": "/st-card-payment/1",
        "threeDSecure": {
            "acsUrl": "https://webapp.securetrading.net/acs/visa.cgi",
            "MD": "UEZOVVBqeE5SRDQ4VFVSSVBtWjJWMWR4SzBKeWQySmxLMnQ1TUhSRlVrSkNja0U5UFR3dlRVUklQanhoWTNOVmNtdythSFIwY0hNNkx5OTNaV0poY0hBdWMyVmpkWEpsZEhKaFpHbHVaeTV1WlhRdllXTnpMM1pwYzJFdVkyZHBQQzloWTNOVmNtdytQSEJoYmt4bGJtZDBhRDR4Tmp3dmNHRnVUR1Z1WjNSb1BqeHRaWE56WVdkbFNXUStVRUZTWlhFdE1UVXdORFV5TmpRM05UWXdOeTB4T0RjM05UTTJOamt6UEM5dFpYTnpZV2RsU1dRK1BDOU5SRDQ4TDFOVVBnPT06bWRlU29aUlIrYytQTGt3OU5OdHZyUzRNeFpJa2hNT0k4bzY0WjdlZjZmNTNzPQ==",
            "PaReq": "eJxVUttuAiEQ/RXj+8plb2pGElub1KQ1atf0mcBEN9mLAhr9+8KqVeeFOTNwOHMAip1BnP2gOhoU8I3Wyi32Sj3pL6drPEQspUnKsyRPM5pHbJjnaZxlo7gvoNsg4ITGlm0j2IAOOJA79FxG7WTjBEh1eJsvBONxkmZAbhBqNPOZoK8B5FqGRtYoptaicaXtfTkNpCuBao+NMxcx5J7rDuBoKrFzbj8mxHbDRM5IXTbbyDOcSoWDqlWyItZFShod7eWlxsYRTkmsLZBwHshD8/IYMuvvO5dayM15U9AVX3CdylhdiqIq1h96t/ptJ0DCDtDSoeCU5XREkx7jY8rGLAXS1UHWQWiwwM9/zWEfrpg+NZ4L4Gcw2Kj7nHcEeN63jVcuvNf/OWi0yuu/LQ/x75/BfuW8owl7jfAQXSNQlt7DmLIrZwBAwlFye2Ny+xg+e/kwf2fkumw=",
            "TermUrl": "http://secure-trading-service.local/st-card-payment/1/3ds"
        }
    },
    "links": {
        "/st-card-payment/1": {
            "amount": 1000,
            "currency": "GBP",
            "status": "Pending",
            "billingAddress": {
                "title": "Mr",
                "firstNames": "Test Ing",
                "surname": "Person",
                "address1": "123 Test Street",
                "address2": "Another Street",
                "town": "Test Town",
                "county": "Norfolk",
                "country": "GB",
                "postCode": "TE57 1NG",
                "telephoneNumber": "+79 123-123-123"
            },
            "underReview": false,
            "fraudChecked": true,
            "3dSecureEnabled": true,
            "pan": "411111######1111",
            "cardType": "VISA",
            "expiryDate": "122017",
            "created": "2017-06-25T14:00:00+00:00",
            "updated": "2017-06-25T14:05:00+00:00"
        }
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "validation": {
            "amount": "must be greater than 0, but is equal to \"-1\""
        }
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "message": "Stored card not found"
    }
}
422 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "message": "Payment is not under review"
    }
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
URI parameters

string id (required)

Pattern: ^\d+$

POST /st-card-payment/{id}/3ds

POST /st-card

Request schema (show)
{
    "description": "Card store request",
    "type": "object",
    "additionalProperties": false,
    "required": [
        "cardToken",
        "expiryMonth",
        "expiryYear",
        "billingAddress"
    ],
    "properties": {
        "cardToken": {
            "type": "string"
        },
        "billingAddress": {
            "description": "Card payment billing address schema",
            "type": "object",
            "additionalProperties": false,
            "required": [
                "title",
                "firstNames",
                "surname",
                "address1",
                "town",
                "country"
            ],
            "properties": {
                "title": {
                    "description": "e.g. Mr, Miss, Dr",
                    "type": "string",
                    "maxLength": 25
                },
                "firstNames": {
                    "type": "string",
                    "maxLength": 254
                },
                "surname": {
                    "type": "string",
                    "maxLength": 127
                },
                "address1": {
                    "type": "string",
                    "maxLength": 25
                },
                "address2": {
                    "type": "string",
                    "maxLength": 127
                },
                "address3": {
                    "type": "string",
                    "maxLength": 127
                },
                "town": {
                    "type": "string",
                    "maxLength": 127
                },
                "county": {
                    "description": "For US addresses, the state would be entered in this field",
                    "type": "string",
                    "maxLength": 127
                },
                "postCode": {
                    "description": "If the country provided is not United States, Great Britain or Canada, or if no country is provided, the postcode field is not validated",
                    "type": "string",
                    "maxLength": 25
                },
                "country": {
                    "description": "This will need to be in ISO2A format. https://www.securetrading.com/docs/document/toolbox/country-codes/",
                    "type": "string",
                    "pattern": "^[A-Z]{2}$",
                    "maxLength": 2
                },
                "telephoneNumber": {
                    "type": "string",
                    "pattern": "^[0-9\\-\\+\\(\\)\\s]{0,20}$",
                    "maxLength": 20
                },
                "email": {
                    "type": "string",
                    "pattern": "^.*$",
                    "maxLength": 255
                },
                "marketingSignup": {
                    "type": "boolean"
                }
            }
        }
    }
}
Request example (show)
{
    "cardToken": "abcd1234",
    "expiryMonth": 10,
    "expiryYear": 2029,
    "billingAddress": {
        "title": "Mr",
        "firstNames": "Test Ing",
        "surname": "Person",
        "address1": "123 Test Street",
        "address2": "Another Street",
        "town": "Test Town",
        "county": "Norfolk",
        "country": "GB",
        "postCode": "TE57 1NG",
        "telephoneNumber": "+79 123-123-123"
    }
}
200 application/json
Response example (show)
{
    "status": "success",
    "data": {
        "id": 6,
        "userId": "***",
        "expiryMonth": 10,
        "expiryYear": 2029,
        "title": "Mr",
        "firstNames": "Test Ing",
        "surname": "Person",
        "address1": "123 Test Street",
        "address2": "Another Street",
        "address3": null,
        "town": "Test Town",
        "county": "Norfolk",
        "postCode": "TE57 1NG",
        "country": "GB",
        "telephoneNumber": "+79 123-123-123",
        "transactionReference": "6-52-1785244"
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "validation": {
            "cardToken": "Token is missing"
        }
    }
}
422 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "fail",
    "data": {
        "message": "Error message"
    }
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

GET /st-card

200 application/json
Response schema (show)
{
    "description": "Response with data",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data",
                "links"
            ]
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": [
        "/st-card/1"
    ],
    "links": {
        "/st-card/1": {
            "storedCard": {
                "id": 5,
                "userId": "***",
                "expiryMonth": 10,
                "expiryYear": 2029,
                "title": "Mr",
                "firstNames": "Test Ing",
                "surname": "Person",
                "address1": "123 Test Street",
                "address2": "Another Street",
                "address3": null,
                "town": "Test Town",
                "county": "Norfolk",
                "postCode": "TE57 1NG",
                "country": "GB",
                "telephoneNumber": "+79 123-123-123",
                "transactionReference": "7-52-1284041"
            },
            "maskedPan": "411111######0021",
            "addedAt": "2018-01-31 08:04:25"
        }
    }
}

GET /st-card/{id}

200 application/json
Response example (show)
{
    "status": "success",
    "data": {
        "storedCard": {
            "id": 5,
            "userId": "***",
            "expiryMonth": 10,
            "expiryYear": 2029,
            "title": "Mr",
            "firstNames": "Test Ing",
            "surname": "Person",
            "address1": "123 Test Street",
            "address2": "Another Street",
            "address3": null,
            "town": "Test Town",
            "county": "Norfolk",
            "postCode": "TE57 1NG",
            "country": "GB",
            "telephoneNumber": "+79 123-123-123",
            "transactionReference": "7-52-1284041"
        },
        "maskedPan": "411111######0021",
        "addedAt": "2018-01-31 08:04:25"
    }
}
422 application/json
Response example (show)
{
    "status": "success",
    "data": {
        "message": "User {{userId}} is not authorized to read this card data"
    }
}

DELETE /st-card/{id}

200 application/json
Response example (show)
{
    "status": "success",
    "data": []
}
422 application/json
Response example (show)
{
    "status": "fail",
    "data": {
        "message": "Error message"
    }
}

POST /st-card/:id/user

Request schema (show)
{
    "additionalProperties": false,
    "description": "Store card user schema",
    "properties": {
        "userId": {
            "required": true,
            "type": "number"
        }
    },
    "required": [
        "userId"
    ],
    "type": "object"
}
Request example (show)
{
    "userId": "/user/1"
}
200 application/json
Response example (show)
{
    "status": "success",
    "data": {
        "cardId": 1,
        "usersList": [
            "/user/2",
            "/user/1",
            "/user/3",
            "/tbo-user/6",
            "/tbo-user/8",
            "/tbo-user/10",
            "/tbo-user/11",
            "/tbo-user/13",
            "/tbo-user/15",
            "/tbo-user/1"
        ]
    }
}
422 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "message": "Example message"
    }
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

DELETE /st-card/:id/user

Request schema (show)
{
    "additionalProperties": false,
    "description": "Store card user schema",
    "properties": {
        "userId": {
            "required": true,
            "type": "number"
        }
    },
    "required": [
        "userId"
    ],
    "type": "object"
}
Request example (show)
{
    "userId": "/user/1"
}
200 application/json
Response example (show)
{
    "status": "success",
    "data": {
        "cardId": 1,
        "usersList": [
            "/user/2",
            "/user/1",
            "/user/3",
            "/tbo-user/6",
            "/tbo-user/8",
            "/tbo-user/10",
            "/tbo-user/11",
            "/tbo-user/13",
            "/tbo-user/15",
            "/tbo-user/1"
        ]
    }
}
422 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "message": "Example message"
    }
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

GET /st-card/:id/users

200 application/json
Response example (show)
{
    "status": "success",
    "data": {
        "cardId": 1,
        "usersList": [
            "/user/2",
            "/user/1",
            "/user/3",
            "/tbo-user/6",
            "/tbo-user/8",
            "/tbo-user/10",
            "/tbo-user/11",
            "/tbo-user/13",
            "/tbo-user/15",
            "/tbo-user/1"
        ]
    }
}

POST /st-alipay-payment/

Request schema (show)
{
    "description": "AliPay payment request",
    "type": "object",
    "additionalProperties": false,
    "required": [
        "order",
        "amount",
        "returnUrl",
        "mode"
    ],
    "properties": {
        "order": {
            "type": [
                "string"
            ],
            "pattern": "/order/[0-9]+"
        },
        "amount": {
            "type": "integer",
            "description": "Amount pence in GBP"
        },
        "returnUrl": {
            "type": "string",
            "description": "Callback url required for 3d secure payments"
        },
        "billingAddress": {
            "description": "Card payment billing address schema",
            "type": "object",
            "additionalProperties": false,
            "required": [
                "title",
                "firstNames",
                "surname",
                "address1",
                "town",
                "country"
            ],
            "properties": {
                "title": {
                    "description": "e.g. Mr, Miss, Dr",
                    "type": "string",
                    "maxLength": 25
                },
                "firstNames": {
                    "type": "string",
                    "maxLength": 254
                },
                "surname": {
                    "type": "string",
                    "maxLength": 127
                },
                "address1": {
                    "type": "string",
                    "maxLength": 25
                },
                "address2": {
                    "type": "string",
                    "maxLength": 127
                },
                "address3": {
                    "type": "string",
                    "maxLength": 127
                },
                "town": {
                    "type": "string",
                    "maxLength": 127
                },
                "county": {
                    "description": "For US addresses, the state would be entered in this field",
                    "type": "string",
                    "maxLength": 127
                },
                "postCode": {
                    "description": "If the country provided is not United States, Great Britain or Canada, or if no country is provided, the postcode field is not validated",
                    "type": "string",
                    "maxLength": 25
                },
                "country": {
                    "description": "This will need to be in ISO2A format. https://www.securetrading.com/docs/document/toolbox/country-codes/",
                    "type": "string",
                    "pattern": "^[A-Z]{2}$",
                    "maxLength": 2
                },
                "telephoneNumber": {
                    "type": "string",
                    "pattern": "^[0-9\\-\\+\\(\\)\\s]{0,20}$",
                    "maxLength": 20
                },
                "email": {
                    "type": "string",
                    "pattern": "^.*$",
                    "maxLength": 255
                },
                "marketingSignup": {
                    "type": "boolean"
                }
            }
        },
        "currency": {
            "type": "string",
            "default": "GBP",
            "description": "One of currency codes from https://docs.trustpayments.com/document/toolbox/currency-codes/ that is available on the secure trading account",
            "pattern": "^[A-Z]{3}$"
        },
        "localAmount": {
            "type": "integer",
            "description": "Amount pence in selected currency"
        },
        "mode": {
            "enum": [
                "desktop",
                "mobile",
                "sdk"
            ],
            "description": "Whether to use the AliPay desktop, mobile or SDK-based interface"
        }
    }
}
Request example (show)
{
    "order": "/order/1",
    "amount": 1000,
    "billingAddress": {
        "title": "Mr",
        "firstNames": "Test Ing",
        "surname": "Person",
        "address1": "123 Test Street",
        "address2": "Another Street",
        "town": "Test Town",
        "county": "Norfolk",
        "country": "GB",
        "postCode": "TE57 1NG",
        "telephoneNumber": "+79 123-123-123"
    },
    "returnUrl": "http://www.example.org",
    "mode": "mobile"
}
200 application/json
Response schema (show)
{
    "description": "Secure Trading AliPay Payment response",
    "type": "object",
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Response resolved links",
                            "type": [
                                "object",
                                "array"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "required": [
                "links"
            ],
            "properties": {
                "data": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                        "payment",
                        "redirectUrl"
                    ],
                    "properties": {
                        "payment": {
                            "type": [
                                "string"
                            ],
                            "pattern": "/st-card-payment/[0-9]+"
                        },
                        "redirectUrl": {
                            "description": "A regular full URL",
                            "type": "string"
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "payment": "/st-card-payment/1",
        "redirectUrl": "http://www.example.com/alipay-url"
    },
    "links": {
        "/st-card-payment/1": {
            "amount": 1000,
            "currency": "GBP",
            "status": "Pending",
            "underReview": false,
            "fraudChecked": true,
            "3dSecureEnabled": true,
            "pan": null,
            "cardType": null,
            "expiryDate": null,
            "created": "2017-06-25T14:00:00+00:00",
            "updated": "2017-06-25T14:05:00+00:00"
        }
    }
}

POST /st-alipay-payment/verify

Request schema (show)
{
    "description": "AliPay auth request",
    "type": "object",
    "additionalProperties": false,
    "required": [
        "authReference",
        "verifyString"
    ],
    "properties": {
        "authReference": {
            "type": "string",
            "description": "Payment reference number"
        },
        "verifyString": {
            "type": "string",
            "description": "Verify string received from AliPay"
        }
    }
}
Request example (show)
{
    "authReference": "59-85-350",
    "verifyString": "1234567890"
}
200 application/json
Response schema (show)
{
    "description": "AliPay auth response",
    "type": "object",
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Response resolved links",
                            "type": [
                                "object",
                                "array"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        }
    ]
}
Response example (show)
{
    "status": "success"
}

Apple Pay payment endpoints.

POST /st-apple-pay

Create an Apple Pay payment (native iOS app flow). Requires query parameter orderreference with the order URI. For the website flow, set websiteFlow=true as a query param and include callbackUrl.

Parameters

string orderreference (required)

Order URI (e.g. /order/123)

boolean websiteFlow

Set to true for the website (st.js) flow

Request schema (show)
{
    "description": "Apple Pay payment request body (native iOS app flow)",
    "type": "object",
    "additionalProperties": false,
    "required": [
        "walletsource",
        "currencyiso3a",
        "mainamount",
        "wallettoken"
    ],
    "properties": {
        "walletsource": {
            "type": "string",
            "description": "Wallet source identifier, always APPLEPAY"
        },
        "currencyiso3a": {
            "type": "string",
            "description": "ISO 4217 currency code"
        },
        "mainamount": {
            "type": "string",
            "description": "Payment amount as a decimal string (e.g. \"10.00\")"
        },
        "wallettoken": {
            "type": "object",
            "description": "Encrypted Apple Pay payment token",
            "additionalProperties": false,
            "required": [
                "data",
                "signature",
                "header",
                "version"
            ],
            "properties": {
                "data": {
                    "type": "string",
                    "description": "Encrypted payment data (base64)"
                },
                "signature": {
                    "type": "string",
                    "description": "Detached PKCS#7 signature (base64)"
                },
                "header": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                        "publicKeyHash",
                        "ephemeralPublicKey",
                        "transactionId"
                    ],
                    "properties": {
                        "publicKeyHash": {
                            "type": "string"
                        },
                        "ephemeralPublicKey": {
                            "type": "string"
                        },
                        "transactionId": {
                            "type": "string"
                        }
                    }
                },
                "version": {
                    "type": "string",
                    "description": "Token format version (e.g. EC_v1)"
                }
            }
        },
        "paymentData": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "displayName": {
                    "type": "string"
                },
                "network": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "versioninfo": {
            "type": "string"
        }
    }
}
Request example (show)
{
    "walletsource": "APPLEPAY",
    "currencyiso3a": "GBP",
    "mainamount": "10.00",
    "wallettoken": {
        "data": "base64encodeddata==",
        "signature": "base64encodedsignature==",
        "header": {
            "publicKeyHash": "base64hash==",
            "ephemeralPublicKey": "base64key==",
            "transactionId": "abc123transactionid"
        },
        "version": "EC_v1"
    },
    "paymentData": {
        "displayName": "Visa 1091",
        "network": "Visa",
        "type": "debit"
    },
    "versioninfo": "1.0"
}
200 application/json
Response schema (show)
{
    "description": "Apple Pay payment response",
    "type": "object",
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Response resolved links",
                            "type": [
                                "object",
                                "array"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "additionalProperties": false,
                    "required": [
                        "payment",
                        "amount",
                        "currency",
                        "localAmount",
                        "order",
                        "status",
                        "billingAddress",
                        "created"
                    ],
                    "properties": {
                        "payment": {
                            "type": "string",
                            "description": "URI of the created Apple Pay payment resource"
                        },
                        "amount": {
                            "type": "string",
                            "description": "Charged amount as a decimal string (e.g. \"10.00\")"
                        },
                        "currency": {
                            "type": "string",
                            "description": "ISO 4217 currency code"
                        },
                        "localAmount": {
                            "type": "integer",
                            "description": "Amount in the local currency expressed in minor units (pence)"
                        },
                        "order": {
                            "type": "string",
                            "description": "Order URI reference"
                        },
                        "status": {
                            "type": "string",
                            "enum": [
                                "Authorised",
                                "Pending",
                                "Declined"
                            ],
                            "description": "Payment status"
                        },
                        "billingAddress": {
                            "type": "object",
                            "description": "Billing address associated with the payment",
                            "properties": {
                                "title": {
                                    "type": "string"
                                },
                                "firstNames": {
                                    "type": "string"
                                },
                                "surname": {
                                    "type": "string"
                                },
                                "address1": {
                                    "type": "string"
                                },
                                "address2": {
                                    "type": "string"
                                },
                                "address3": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "town": {
                                    "type": "string"
                                },
                                "county": {
                                    "type": "string"
                                },
                                "country": {
                                    "type": "string"
                                },
                                "postCode": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "telephoneNumber": {
                                    "type": "string"
                                },
                                "email": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            }
                        },
                        "pan": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "Masked card PAN"
                        },
                        "cardType": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "Card network (e.g. VISA, MASTERCARD)"
                        },
                        "authReference": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "Secure Trading transaction reference"
                        },
                        "created": {
                            "type": "string",
                            "description": "ISO 8601 creation timestamp"
                        },
                        "updated": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "ISO 8601 last-updated timestamp"
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "payment": "/st-apple-pay/123",
        "amount": "10.00",
        "currency": "GBP",
        "localAmount": 1000,
        "order": "/order/1",
        "status": "Authorised",
        "billingAddress": {
            "title": "Mr",
            "firstNames": "Test",
            "surname": "User",
            "address1": "123 Test Street",
            "address2": "Another Road",
            "address3": null,
            "town": "Test Town",
            "county": "Norfolk",
            "country": "GB",
            "postCode": "TE57 1NG",
            "telephoneNumber": "+44123456789"
        },
        "pan": "400000######1091",
        "cardType": "VISA",
        "authReference": "6-9-4881726",
        "created": "2023-01-01T12:00:00+01:00",
        "updated": null
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}
URI parameters

string id (required)

Apple Pay payment ID

GET /st-apple-pay/{id}

Retrieve an Apple Pay payment by ID.

200 application/json
Response schema (show)
{
    "description": "Apple Pay payment response",
    "type": "object",
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Response resolved links",
                            "type": [
                                "object",
                                "array"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "additionalProperties": false,
                    "required": [
                        "payment",
                        "amount",
                        "currency",
                        "localAmount",
                        "order",
                        "status",
                        "billingAddress",
                        "created"
                    ],
                    "properties": {
                        "payment": {
                            "type": "string",
                            "description": "URI of the created Apple Pay payment resource"
                        },
                        "amount": {
                            "type": "string",
                            "description": "Charged amount as a decimal string (e.g. \"10.00\")"
                        },
                        "currency": {
                            "type": "string",
                            "description": "ISO 4217 currency code"
                        },
                        "localAmount": {
                            "type": "integer",
                            "description": "Amount in the local currency expressed in minor units (pence)"
                        },
                        "order": {
                            "type": "string",
                            "description": "Order URI reference"
                        },
                        "status": {
                            "type": "string",
                            "enum": [
                                "Authorised",
                                "Pending",
                                "Declined"
                            ],
                            "description": "Payment status"
                        },
                        "billingAddress": {
                            "type": "object",
                            "description": "Billing address associated with the payment",
                            "properties": {
                                "title": {
                                    "type": "string"
                                },
                                "firstNames": {
                                    "type": "string"
                                },
                                "surname": {
                                    "type": "string"
                                },
                                "address1": {
                                    "type": "string"
                                },
                                "address2": {
                                    "type": "string"
                                },
                                "address3": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "town": {
                                    "type": "string"
                                },
                                "county": {
                                    "type": "string"
                                },
                                "country": {
                                    "type": "string"
                                },
                                "postCode": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "telephoneNumber": {
                                    "type": "string"
                                },
                                "email": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            }
                        },
                        "pan": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "Masked card PAN"
                        },
                        "cardType": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "Card network (e.g. VISA, MASTERCARD)"
                        },
                        "authReference": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "Secure Trading transaction reference"
                        },
                        "created": {
                            "type": "string",
                            "description": "ISO 8601 creation timestamp"
                        },
                        "updated": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "ISO 8601 last-updated timestamp"
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "payment": "/st-apple-pay/123",
        "amount": "10.00",
        "currency": "GBP",
        "localAmount": 1000,
        "order": "/order/1",
        "status": "Authorised",
        "billingAddress": {
            "title": "Mr",
            "firstNames": "Test",
            "surname": "User",
            "address1": "123 Test Street",
            "address2": "Another Road",
            "address3": null,
            "town": "Test Town",
            "county": "Norfolk",
            "country": "GB",
            "postCode": "TE57 1NG",
            "telephoneNumber": "+44123456789"
        },
        "pan": "400000######1091",
        "cardType": "VISA",
        "authReference": "6-9-4881726",
        "created": "2023-01-01T12:00:00+01:00",
        "updated": null
    }
}
404 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}

POST /st-apple-pay/{id}/refund

Refund an Apple Pay payment.

Request schema (show)
{
    "description": "Payment refund request",
    "type": "object",
    "additionalProperties": false,
    "required": [],
    "properties": {
        "amount": {
            "type": "integer",
            "description": "Amount pence in GBP (default currency)"
        },
        "localAmount": {
            "type": "integer",
            "description": "Amount pence in selected currency"
        }
    }
}
Request example (show)
{
    "localAmount": 3000,
    "amount": 2560
}
200 application/json
Response schema (show)
{
    "description": "Apple Pay refund response",
    "type": "object",
    "allOf": [
        {
            "description": "Response with data",
            "allOf": [
                {
                    "description": "A standard JSON response",
                    "type": "object",
                    "required": [
                        "status"
                    ],
                    "properties": {
                        "status": {
                            "description": "Response status",
                            "enum": [
                                "success",
                                "fail",
                                "error"
                            ]
                        },
                        "data": {
                            "description": "Response data",
                            "type": [
                                "object",
                                "array"
                            ]
                        },
                        "code": {
                            "description": "Response error code",
                            "type": "string"
                        },
                        "message": {
                            "description": "Response error message",
                            "type": "string"
                        },
                        "links": {
                            "description": "Response resolved links",
                            "type": [
                                "object",
                                "array"
                            ]
                        }
                    }
                },
                {
                    "required": [
                        "data"
                    ]
                }
            ]
        },
        {
            "properties": {
                "data": {
                    "additionalProperties": false,
                    "required": [
                        "transactionRef"
                    ],
                    "properties": {
                        "transactionRef": {
                            "type": "string",
                            "description": "Secure Trading refund transaction reference"
                        }
                    }
                }
            }
        }
    ]
}
Response example (show)
{
    "status": "success",
    "data": {
        "transactionRef": "6-9-4881726-refund"
    }
}
400 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
404 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
422 application/json
Response schema (show)
{
    "description": "Response with failure",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "data"
            ]
        }
    ]
}
500 application/json
Response schema (show)
{
    "description": "Response with error",
    "allOf": [
        {
            "description": "A standard JSON response",
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Response status",
                    "enum": [
                        "success",
                        "fail",
                        "error"
                    ]
                },
                "data": {
                    "description": "Response data",
                    "type": [
                        "object",
                        "array"
                    ]
                },
                "code": {
                    "description": "Response error code",
                    "type": "string"
                },
                "message": {
                    "description": "Response error message",
                    "type": "string"
                },
                "links": {
                    "description": "Response resolved links",
                    "type": [
                        "object",
                        "array"
                    ]
                }
            }
        },
        {
            "required": [
                "message"
            ]
        }
    ]
}

Returns the SecureTrading st.js library bundled with Apple Pay initialisation code. The response is plain JavaScript intended to be loaded via a