{"openapi":"3.1.0","info":{"title":"SSO Context API","version":"v1.0"},"servers":[{"url":"https://apis.egencia.com/openconnect-sso-service","description":"Generated server url"}],"paths":{"/v1/newTrip":{"get":{"operationId":"redirect","parameters":[{"in":"query","name":"costCenter1","required":false,"schema":{"type":"string"}},{"in":"query","name":"costCenter2","required":false,"schema":{"type":"string"}},{"in":"query","name":"costCenter3","required":false,"schema":{"type":"string"}},{"in":"query","name":"costCenter4","required":false,"schema":{"type":"string"}},{"in":"query","name":"costCenter5","required":false,"schema":{"type":"string"}},{"in":"query","name":"freeField1","required":false,"schema":{"type":"string"}},{"in":"query","name":"freeField2","required":false,"schema":{"type":"string"}},{"in":"query","name":"freeField3","required":false,"schema":{"type":"string"}},{"in":"query","name":"product","required":false,"schema":{"type":"string"}},{"in":"query","name":"itineraryType","required":false,"schema":{"type":"string"}},{"in":"query","name":"departureDate","required":false,"schema":{"type":"string"}},{"in":"query","name":"arrivalDate","required":false,"schema":{"type":"string"}},{"in":"query","name":"departureTime","required":false,"schema":{"type":"string"}},{"in":"query","name":"arrivalTime","required":false,"schema":{"type":"string"}},{"in":"query","name":"departureLocation","required":false,"schema":{"type":"string"}},{"in":"query","name":"arrivalLocation","required":false,"schema":{"type":"string"}},{"in":"query","name":"stayLocation","required":false,"schema":{"type":"string"}},{"in":"query","name":"countryLocation","required":false,"schema":{"type":"string"}},{"in":"query","name":"checkinDate","required":false,"schema":{"type":"string"}},{"in":"query","name":"checkoutDate","required":false,"schema":{"type":"string"}},{"in":"query","name":"pickupDate","required":false,"schema":{"type":"string"}},{"in":"query","name":"pickupTime","required":false,"schema":{"type":"string"}},{"in":"query","name":"dropoffDate","required":false,"schema":{"type":"string"}},{"in":"query","name":"dropoffTime","required":false,"schema":{"type":"string"}},{"in":"query","name":"pickupLocation","required":false,"schema":{"type":"string"}},{"in":"query","name":"pickupCountry","required":false,"schema":{"type":"string"}},{"in":"query","name":"dropoffLocation","required":false,"schema":{"type":"string"}},{"in":"query","name":"dropoffCountry","required":false,"schema":{"type":"string"}},{"in":"query","name":"missionNumber","required":false,"schema":{"type":"string"}},{"in":"query","name":"travelerId","required":false,"schema":{"type":"string"}}],"responses":{"302":{"content":{"*/*":{"examples":{"Start new Car trip":{"description":"Start new Car trip","value":"GET \"https://xxvanity.egencia-test.com/openconnect-sso-service/v1/newTrip?product=CAR&free_field3=1234&pickup_time=09:00&pickup_date=2020-01-15&pickup_location=Paris&pickup_country=FR&dropoff_time=10:00&dropoff_date=2020-01-30&dropoff_location=Orleans&dropoff_country=FR\""},"Start new Flight trip":{"description":"Start new Flight trip","value":"GET \"https://xxvanity.egencia-test.com/openconnect-sso-service/v1/newTrip?itinerary_type=RT&product=FLIGHT&free_field3=1234&arrival_time=09:00&departure_date=2020-01-15&arrival_location=TLS&departure_time=10:00&arrival_date=2020-01-20&departure_location=PAR\""},"Start new Hotel trip":{"description":"Start new Hotel trip","value":"GET \"https://xxvanity.egencia-test.com/openconnect-sso-service/v1/newTrip?product=HOTEL&free_field3=1234&checkin_date=2020-01-01&checkout_date=2020-01-15&stay_location=Paris&country_location=FR\""},"Start new Train trip":{"description":"Start new Train trip","value":"GET \"https://xxvanity.egencia-test.com/openconnect-sso-service/v1/newTrip?itinerary_type=RT&product=TRAIN&free_field3=1234&arrival_time=09:00&departure_date=2020-01-15&arrival_location=Toulouse&departure_time=10:00&arrival_date=2020-01-20&departure_location=Paris\""}},"schema":{"type":"string"}}},"description":"<b>Found</b"},"400":{"description":"<b>Bad Request</b> : Invalid input or request"},"500":{"description":"<b>Internal Server Error</b> : Unable to process request."}},"summary":"Redirect to Egencia home page based on the request parameters passed","tags":["redirection-controller"]}},"/v2/startTrip":{"get":{"description":"\n            This api takes the values passed in the request and redirects to Egencia home page and pre-populates the context data in the corresponding fields such as search form data, custom data fields.\n            The \"cdf\" param in the \"request\" supports custom data fields for both the region EU as well as NA. The user of this api needs to pass the custom data field as a key value pair where key is the name of the custom data field and value will be the custom data field value. If the custom data field is configured as mandatory and non editable, then this api will throw an error otherwise if either name or value is invalid, this api will skip that record.\n            ","operationId":"redirectToHomePage","parameters":[{"in":"query","name":"request","required":true,"schema":{"type":"string"}}],"responses":{"302":{"content":{"*/*":{"examples":{"Start new Car trip":{"description":"\n            <h3><p>The \"request\" param is the Base 64 encoded value of the below payload: </p>\n            <p>Example for NA custom data fields: </p></h3>\n            <pre>\n                <code>\n                   {\n                       \"product_type\": \"CAR\",\n                       \"mission_number\": \"1234\",\n                       \"travelers\": [\n                           \"98765\"\n                       ],\n                       \"duration\": {\n                           \"start_date\": \"2021-10-25\",\n                           \"end_date\": \"2021-10-28\",\n                           \"start_time\": \"09:00\",\n                           \"end_time\": \"09:00\"\n                       },\n                       \"cdfs\": {\n                           \"Travel Request ID\": \"TEST\",\n                           \"Department Code\": \"TEST\"\n                       },\n                       \"locations\": [\n                           {\n                               \"type\": \"START\",\n                               \"name\": \"Toronto\",\n                               \"country\": \"CA\"\n                           },\n                           {\n                               \"type\": \"END\",\n                               \"name\": \"Toronto\",\n                               \"country\": \"CA\"\n                           }\n                       ]\n                   }\n                </code>\n            </pre>\n            <h3><p>Example for EU custom data fields: </p></h3>\n            <pre>\n                <code>\n                   {\n                       \"product_type\": \"CAR\",\n                       \"mission_number\": \"1234\",\n                       \"travelers\": [\n                           \"98765\"\n                       ],\n                       \"duration\": {\n                           \"start_date\": \"2021-10-25\",\n                           \"end_date\": \"2021-10-28\",\n                           \"start_time\": \"09:00\",\n                           \"end_time\": \"09:00\"\n                       },\n                       \"cdfs\": {\n                           \"Travel Requesition Number\": \"TEST\",\n                           \"Primary Cost Center\": \"TEST\",\n                           \"Secondary Cost Center\": \"TEST\"\n                       },\n                       \"locations\": [\n                           {\n                               \"type\": \"START\",\n                               \"name\": \"Toronto\",\n                               \"country\": \"CA\"\n                           },\n                           {\n                               \"type\": \"END\",\n                               \"name\": \"Toronto\",\n                               \"country\": \"CA\"\n                           }\n                       ]\n                   }\n                </code>\n            </pre>\n            <h3><p>Example for existing custom data fields: </p></h3>\n            <pre>\n                <code>\n                   {\n                       \"product_type\": \"CAR\",\n                       \"mission_number\": \"1234\",\n                       \"travelers\": [\n                           \"98765\"\n                       ],\n                       \"duration\": {\n                           \"start_date\": \"2021-10-25\",\n                           \"end_date\": \"2021-10-28\",\n                           \"start_time\": \"09:00\",\n                           \"end_time\": \"09:00\"\n                       },\n                       \"cdfs\": {\n                           \"COST_CENTER_1\": \"TEST\",\n                           \"COST_CENTER_2\": \"TEST\"\n                       },\n                       \"locations\": [\n                           {\n                               \"type\": \"START\",\n                               \"name\": \"Toronto\",\n                               \"country\": \"CA\"\n                           },\n                           {\n                               \"type\": \"END\",\n                               \"name\": \"Toronto\",\n                               \"country\": \"CA\"\n                           }\n                       ]\n                   }\n                </code>\n            </pre>\n            ","value":"GET \"https://xxvanity.egencia-test.com/openconnect-sso-service/v2/startTrip?request=ewogICJwcm9kdWN0X3R5cGUiOiAiQ0FSIiwKICAibWlzc2lvbl9udW1iZXIiOiAiMTIzNCIsCiAgInRyYXZlbGVycyI6IFsKICAgICI5ODc2NSIKICBdLAogICJkdXJhdGlvbiI6IHsKICAgICJzdGFydF9kYXRlIjogIjIwMjEtMTAtMjUiLAogICAgImVuZF9kYXRlIjogIjIwMjEtMTAtMjgiLAogICAgInN0YXJ0X3RpbWUiOiAiMDk6MDAiLAogICAgImVuZF90aW1lIjogIjA5OjAwIgogIH0sCiAgImNkZnMiOiB7CiAgICAiQ09TVF9DRU5URVJfMSI6ICJURVNUIiwKICAgICJDT1NUX0NFTlRFUl8yIjogIlRFU1QiCiAgfSwKICAibG9jYXRpb25zIjogWwogICAgewogICAgICAidHlwZSI6ICJTVEFSVCIsCiAgICAgICJuYW1lIjogIlRvcm9udG8iLAogICAgICAiY291bnRyeSI6ICJDQSIKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogIkVORCIsCiAgICAgICJuYW1lIjogIlRvcm9udG8iLAogICAgICAiY291bnRyeSI6ICJDQSIKICAgIH0KICBdCn0=\""},"Start new Flight trip":{"description":"\n            <h3><p>The \"request\" param is the Base 64 encoded value of the below payload: </p>\n            <p>Example for NA custom data fields: </p></h3>\n            <pre>\n                <code>\n                   {\n                       \"product_type\": \"FLIGHT\",\n                       \"mission_number\": \"1234\",\n                       \"itinerary_type\": \"RT\",\n                       \"travelers\": [\n                           \"98765\"\n                       ],\n                       \"duration\": {\n                           \"start_date\": \"2021-10-25\",\n                           \"end_date\": \"2021-10-28\",\n                           \"start_time\": \"09:00\",\n                           \"end_time\": \"09:00\"\n                       },\n                       \"cdfs\": {\n                           \"Travel Request ID\": \"TEST\",\n                           \"Department Code\": \"TEST\"\n                       },\n                       \"locations\": [\n                           {\n                               \"type\": \"START\",\n                               \"iata_code\": \"SEA\"\n                           },\n                           {\n                               \"type\": \"END\",\n                               \"iata_code\": \"CDG\"\n                           }\n                       ]\n                   }\n                </code>\n            </pre>\n            <h3><p>Example for EU custom data fields: <p></h3>\n            <pre>\n                <code>\n                   {\n                       \"product_type\": \"FLIGHT\",\n                       \"mission_number\": \"1234\",\n                       \"itinerary_type\": \"RT\",\n                       \"travelers\": [\n                           \"98765\"\n                       ],\n                       \"duration\": {\n                           \"start_date\": \"2021-10-25\",\n                           \"end_date\": \"2021-10-28\",\n                           \"start_time\": \"09:00\",\n                           \"end_time\": \"09:00\"\n                       },\n                       \"cdfs\": {\n                           \"Travel Requisition Number\": \"TEST\",\n                           \"Primary Cost Center\": \"TEST\",\n                           \"Secondary Cost Center\": \"TEST\"\n                       },\n                       \"locations\": [\n                           {\n                               \"type\": \"START\",\n                               \"iata_code\": \"SEA\"\n                           },\n                           {\n                               \"type\": \"END\",\n                               \"iata_code\": \"CDG\"\n                           }\n                       ]\n                   }\n                </code>\n            </pre>\n            <h3><p>Example for existing custom data fields: <p></h3>\n            <pre>\n                <code>\n                   {\n                       \"product_type\": \"FLIGHT\",\n                       \"mission_number\": \"1234\",\n                       \"itinerary_type\": \"RT\",\n                       \"travelers\": [\n                           \"98765\"\n                       ],\n                       \"duration\": {\n                           \"start_date\": \"2021-10-25\",\n                           \"end_date\": \"2021-10-28\",\n                           \"start_time\": \"09:00\",\n                           \"end_time\": \"09:00\"\n                       },\n                       \"cdfs\": {\n                           \"COST_CENTER_1\": \"TEST\",\n                           \"COST_CENTER_2\": \"TEST\"\n                       },\n                       \"locations\": [\n                           {\n                               \"type\": \"START\",\n                               \"iata_code\": \"SEA\"\n                           },\n                           {\n                               \"type\": \"END\",\n                               \"iata_code\": \"CDG\"\n                           }\n                       ]\n                   }\n                </code>\n            </pre>\n            ","value":"GET \"https://xxvanity.egencia-test.com/openconnect-sso-service/v2/startTrip?request=ewogICJwcm9kdWN0X3R5cGUiOiAiRkxJR0hUIiwKICAibWlzc2lvbl9udW1iZXIiOiAiMTIzNCIsCiAgIml0aW5lcmFyeV90eXBlIjogIlJUIiwKICAidHJhdmVsZXJzIjogWwogICAgIjk4NzY1IgogIF0sCiAgImR1cmF0aW9uIjogewogICAgInN0YXJ0X2RhdGUiOiAiMjAyMS0xMC0yNSIsCiAgICAiZW5kX2RhdGUiOiAiMjAyMS0xMC0yOCIsCiAgICAic3RhcnRfdGltZSI6ICIwOTowMCIsCiAgICAiZW5kX3RpbWUiOiAiMDk6MDAiCiAgfSwKICAiY2RmcyI6IHsKICAgICJDT1NUX0NFTlRFUl8xIjogIlRFU1QiLAogICAgIkNPU1RfQ0VOVEVSXzIiOiAiVEVTVCIKICB9LAogICJsb2NhdGlvbnMiOiBbCiAgICB7CiAgICAgICJ0eXBlIjogIlNUQVJUIiwKICAgICAgImlhdGFfY29kZSI6ICJTRUEiCiAgICB9LAogICAgewogICAgICAidHlwZSI6ICJFTkQiLAogICAgICAiaWF0YV9jb2RlIjogIkNERyIKICAgIH0KICBdCn0=\""},"Start new Hotel trip":{"description":"\n            <h3><p>The \"request\" param is the Base 64 encoded value of the below payload: <p>\n            <p>Example for NA custom data fields: <p></h3>\n            <pre>\n                <code>\n                   {\n                       \"product_type\": \"HOTEL\",\n                       \"mission_number\": \"1234\",\n                       \"travelers\": [\n                           \"98765\"\n                       ],\n                       \"duration\": {\n                           \"start_date\": \"2021-10-25\",\n                           \"end_date\": \"2021-10-28\"\n                       },\n                       \"cdfs\": {\n                           \"Travel Request ID\": \"TEST\",\n                           \"Department Code\": \"TEST\"\n                       },\n                       \"locations\": [\n                           {\n                               \"type\": \"STAY\",\n                               \"name\": \"Toronto\",\n                               \"country\": \"CA\"\n                           }\n                       ]\n                   }\n                </code>\n            </pre>\n            <h3><p>Example for EU custom data fields: </p></h3>\n            <pre>\n                <code>\n                   {\n                       \"product_type\": \"HOTEL\",\n                       \"mission_number\": \"1234\",\n                       \"travelers\": [\n                           \"98765\"\n                       ],\n                       \"duration\": {\n                           \"start_date\": \"2021-10-25\",\n                           \"end_date\": \"2021-10-28\"\n                       },\n                       \"cdfs\": {\n                           \"Travel Requesition Number\": \"TEST\",\n                           \"Primary Cost Center\": \"TEST\",\n                           \"Secondary Cost Center\": \"TEST\"\n                       },\n                       \"locations\": [\n                           {\n                               \"type\": \"STAY\",\n                               \"name\": \"Toronto\",\n                               \"country\": \"CA\"\n                           }\n                       ]\n                   }\n                </code>\n            </pre>\n            <h3><p>Example for existing custom data fields: </p></h3>\n            <pre>\n                <code>\n                   {\n                       \"product_type\": \"HOTEL\",\n                       \"mission_number\": \"1234\",\n                       \"travelers\": [\n                           \"98765\"\n                       ],\n                       \"duration\": {\n                           \"start_date\": \"2021-10-25\",\n                           \"end_date\": \"2021-10-28\"\n                       },\n                       \"cdfs\": {\n                           \"COST_CENTER_1\": \"TEST\",\n                           \"COST_CENTER_2\": \"TEST\"\n                       },\n                       \"locations\": [\n                           {\n                               \"type\": \"STAY\",\n                               \"name\": \"Toronto\",\n                               \"country\": \"CA\"\n                           }\n                       ]\n                   }\n                </code>\n            </pre>\n            ","value":"GET \"https://xxvanity.egencia-test.com/openconnect-sso-service/v2/startTrip?request=ewogICJwcm9kdWN0X3R5cGUiOiAiSE9URUwiLAogICJtaXNzaW9uX251bWJlciI6ICIxMjM0IiwKICAidHJhdmVsZXJzIjogWwogICAgIjk4NzY1IgogIF0sCiAgImR1cmF0aW9uIjogewogICAgInN0YXJ0X2RhdGUiOiAiMjAyMS0xMC0yNSIsCiAgICAiZW5kX2RhdGUiOiAiMjAyMS0xMC0yOCIKICB9LAogICJjZGZzIjogewogICAgIkNPU1RfQ0VOVEVSXzEiOiAiVEVTVCIsCiAgICAiQ09TVF9DRU5URVJfMiI6ICJURVNUIgogIH0sCiAgImxvY2F0aW9ucyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiU1RBWSIsCiAgICAgICJuYW1lIjogIlRvcm9udG8iLAogICAgICAiY291bnRyeSI6ICJDQSIKICAgIH0KICBdCn0=\""},"Start new Train trip":{"description":"\n            <h3><p>The \"request\" param is the Base 64 encoded value of the below payload: </p>\n            <p>Example for NA custom data fields: </p></h3>\n            <pre>\n                <code>\n                   {\n                       \"product_type\": \"TRAIN\",\n                       \"mission_number\": \"1234\",\n                       \"itinerary_type\": \"RT\",\n                       \"travelers\": [\n                           \"98765\"\n                       ],\n                       \"duration\": {\n                           \"start_date\": \"2021-10-25\",\n                           \"end_date\": \"2021-10-28\",\n                           \"start_time\": \"09:00\",\n                           \"end_time\": \"09:00\"\n                       },\n                       \"cdfs\": {\n                           \"Travel Request ID\": \"TEST\",\n                           \"Department Code\": \"TEST\"\n                       },\n                       \"locations\": [\n                           {\n                               \"type\": \"START\",\n                               \"name\": \"PAR\",\n                           },\n                           {\n                               \"type\": \"END\",\n                               \"name\": \"HEL\",\n                           }\n                       ]\n                   }\n                </code>\n            </pre>\n            <h3><p>Example for EU custom data fields: </p></h3>\n            <pre>\n                <code>\n                   {\n                       \"product_type\": \"TRAIN\",\n                       \"mission_number\": \"1234\",\n                       \"itinerary_type\": \"RT\",\n                       \"travelers\": [\n                           \"98765\"\n                       ],\n                       \"duration\": {\n                           \"start_date\": \"2021-10-25\",\n                           \"end_date\": \"2021-10-28\",\n                           \"start_time\": \"09:00\",\n                           \"end_time\": \"09:00\"\n                       },\n                       \"cdfs\": {\n                           \"Travel Requesition Number\": \"TEST\",\n                           \"Primary Cost Center\": \"TEST\",\n                           \"Secondary Cost Center\": \"TEST\"\n                       },\n                       \"locations\": [\n                           {\n                               \"type\": \"START\",\n                               \"name\": \"PAR\",\n                           },\n                           {\n                               \"type\": \"END\",\n                               \"name\": \"HEL\",\n                           }\n                       ]\n                   }\n                </code>\n            </pre>\n            <h3><p>Example for existing custom data fields: </p></h3>\n            <pre>\n                <code>\n                   {\n                       \"product_type\": \"TRAIN\",\n                       \"mission_number\": \"1234\",\n                       \"itinerary_type\": \"RT\",\n                       \"travelers\": [\n                           \"98765\"\n                       ],\n                       \"duration\": {\n                           \"start_date\": \"2021-10-25\",\n                           \"end_date\": \"2021-10-28\",\n                           \"start_time\": \"09:00\",\n                           \"end_time\": \"09:00\"\n                       },\n                       \"cdfs\": {\n                           \"COST_CENTER_1\": \"TEST\",\n                           \"COST_CENTER_2\": \"TEST\"\n                       },\n                       \"locations\": [\n                           {\n                               \"type\": \"START\",\n                               \"name\": \"PAR\",\n                           },\n                           {\n                               \"type\": \"END\",\n                               \"name\": \"HEL\",\n                           }\n                       ]\n                   }\n                </code>\n            </pre>\n            ","value":"GET \"https://xxvanity.egencia-test.com/openconnect-sso-service/v2/startTrip?request=ewogICJwcm9kdWN0X3R5cGUiOiAiVFJBSU4iLAogICJtaXNzaW9uX251bWJlciI6ICIxMjM0IiwKICAiaXRpbmVyYXJ5X3R5cGUiOiAiUlQiLAogICJ0cmF2ZWxlcnMiOiBbCiAgICAiOTg3NjUiCiAgXSwKICAiZHVyYXRpb24iOiB7CiAgICAic3RhcnRfZGF0ZSI6ICIyMDIxLTEwLTI1IiwKICAgICJlbmRfZGF0ZSI6ICIyMDIxLTEwLTI4IiwKICAgICJzdGFydF90aW1lIjogIjA5OjAwIiwKICAgICJlbmRfdGltZSI6ICIwOTowMCIKICB9LAogICJjZGZzIjogewogICAgIkNPU1RfQ0VOVEVSXzEiOiAiVEVTVCIsCiAgICAiQ09TVF9DRU5URVJfMiI6ICJURVNUIgogIH0sCiAgImxvY2F0aW9ucyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiU1RBUlQiLAogICAgICAibmFtZSI6ICJQQVIiLAogICAgICAKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogIkVORCIsCiAgICAgICJuYW1lIjogIkhFTCIsCiAgICAgIAogICAgfQogIF0KfQ==\""}},"schema":{"type":"string"}}},"description":"<b>Found</b>."},"400":{"content":{"*/*":{"examples":{"Invalid value error":{"description":"\n            <h3><p><strong>Error response when custom data field is mandatory and non editable and invalid value is supplied:</strong></p></h3>\n            <pre>\n                <code>\n                   {\n                       \"error\": \"ERR_OSSO_4000\",\n                       \"error_description\": \"Invalid data provided in the request.\",\n                       \"data\": [\n                           {\n                               \"attribute\": \"cdfs.TEST_CDF_NAME\",\n                               \"message\": \"Requested custom data field value TEST does not exist.\",\n                           }\n                       ],\n                       \"timestamp\": \"2022-04-22T13:58:39.703+05:30\",\n                       \"status\": 400,\n                       \"path\": \"/openconnect-sso-service/v2/startTrip\"\n                   }\n                </code>\n            </pre>\n            "}}}},"description":"<b>Bad Request</b> : Invalid input or request"},"500":{"description":"<b>Internal Server Error</b> : Unable to process request."}},"summary":"Redirect to Egencia home page based on the request parameters passed","tags":["redirection-controller"]}}},"components":{"schemas":{"Duration":{"properties":{"endDate":{"type":"string"},"endTime":{"type":"string"},"startDate":{"type":"string"},"startTime":{"type":"string"}},"title":"Duration"},"Location":{"properties":{"country":{"type":"string"},"iataCode":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"}},"title":"Location"},"StartTripRequest":{"properties":{"cdfs":{"type":"object","additionalProperties":{"type":"string"}},"duration":{"$ref":"#/components/schemas/Duration"},"itineraryType":{"type":"string"},"locations":{"type":"array","items":{"$ref":"#/components/schemas/Location"}},"missionNumber":{"type":"string"},"productType":{"type":"string"},"travelers":{"type":"array","items":{"type":"string"}}},"title":"Start trip request"}}}}