openapi: 3.2.0 info: title: SSO Context Redirection Controller API version: v1.0 servers: - url: https://apis.egencia.com/openconnect-sso-service description: Generated server url tags: - name: redirection-controller 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: FoundBad Request : Invalid input or request' '500': description: 'Internal Server Error : 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

The \"request\" param is the Base 64 encoded value of the below payload:

\n

Example for NA custom data fields:

\n
\n                \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                \n            
\n

Example for EU custom data fields:

\n
\n                \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                \n            
\n

Example for existing custom data fields:

\n
\n                \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                \n            
\n " value: GET "https://xxvanity.egencia-test.com/openconnect-sso-service/v2/startTrip?request=ewogICJwcm9kdWN0X3R5cGUiOiAiQ0FSIiwKICAibWlzc2lvbl9udW1iZXIiOiAiMTIzNCIsCiAgInRyYXZlbGVycyI6IFsKICAgICI5ODc2NSIKICBdLAogICJkdXJhdGlvbiI6IHsKICAgICJzdGFydF9kYXRlIjogIjIwMjEtMTAtMjUiLAogICAgImVuZF9kYXRlIjogIjIwMjEtMTAtMjgiLAogICAgInN0YXJ0X3RpbWUiOiAiMDk6MDAiLAogICAgImVuZF90aW1lIjogIjA5OjAwIgogIH0sCiAgImNkZnMiOiB7CiAgICAiQ09TVF9DRU5URVJfMSI6ICJURVNUIiwKICAgICJDT1NUX0NFTlRFUl8yIjogIlRFU1QiCiAgfSwKICAibG9jYXRpb25zIjogWwogICAgewogICAgICAidHlwZSI6ICJTVEFSVCIsCiAgICAgICJuYW1lIjogIlRvcm9udG8iLAogICAgICAiY291bnRyeSI6ICJDQSIKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogIkVORCIsCiAgICAgICJuYW1lIjogIlRvcm9udG8iLAogICAgICAiY291bnRyeSI6ICJDQSIKICAgIH0KICBdCn0=" Start new Flight trip: description: "\n

The \"request\" param is the Base 64 encoded value of the below payload:

\n

Example for NA custom data fields:

\n
\n                \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                \n            
\n

Example for EU custom data fields:

\n
\n                \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                \n            
\n

Example for existing custom data fields:

\n
\n                \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                \n            
\n " value: GET "https://xxvanity.egencia-test.com/openconnect-sso-service/v2/startTrip?request=ewogICJwcm9kdWN0X3R5cGUiOiAiRkxJR0hUIiwKICAibWlzc2lvbl9udW1iZXIiOiAiMTIzNCIsCiAgIml0aW5lcmFyeV90eXBlIjogIlJUIiwKICAidHJhdmVsZXJzIjogWwogICAgIjk4NzY1IgogIF0sCiAgImR1cmF0aW9uIjogewogICAgInN0YXJ0X2RhdGUiOiAiMjAyMS0xMC0yNSIsCiAgICAiZW5kX2RhdGUiOiAiMjAyMS0xMC0yOCIsCiAgICAic3RhcnRfdGltZSI6ICIwOTowMCIsCiAgICAiZW5kX3RpbWUiOiAiMDk6MDAiCiAgfSwKICAiY2RmcyI6IHsKICAgICJDT1NUX0NFTlRFUl8xIjogIlRFU1QiLAogICAgIkNPU1RfQ0VOVEVSXzIiOiAiVEVTVCIKICB9LAogICJsb2NhdGlvbnMiOiBbCiAgICB7CiAgICAgICJ0eXBlIjogIlNUQVJUIiwKICAgICAgImlhdGFfY29kZSI6ICJTRUEiCiAgICB9LAogICAgewogICAgICAidHlwZSI6ICJFTkQiLAogICAgICAiaWF0YV9jb2RlIjogIkNERyIKICAgIH0KICBdCn0=" Start new Hotel trip: description: "\n

The \"request\" param is the Base 64 encoded value of the below payload:

\n

Example for NA custom data fields:

\n
\n                \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                \n            
\n

Example for EU custom data fields:

\n
\n                \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                \n            
\n

Example for existing custom data fields:

\n
\n                \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                \n            
\n " value: GET "https://xxvanity.egencia-test.com/openconnect-sso-service/v2/startTrip?request=ewogICJwcm9kdWN0X3R5cGUiOiAiSE9URUwiLAogICJtaXNzaW9uX251bWJlciI6ICIxMjM0IiwKICAidHJhdmVsZXJzIjogWwogICAgIjk4NzY1IgogIF0sCiAgImR1cmF0aW9uIjogewogICAgInN0YXJ0X2RhdGUiOiAiMjAyMS0xMC0yNSIsCiAgICAiZW5kX2RhdGUiOiAiMjAyMS0xMC0yOCIKICB9LAogICJjZGZzIjogewogICAgIkNPU1RfQ0VOVEVSXzEiOiAiVEVTVCIsCiAgICAiQ09TVF9DRU5URVJfMiI6ICJURVNUIgogIH0sCiAgImxvY2F0aW9ucyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiU1RBWSIsCiAgICAgICJuYW1lIjogIlRvcm9udG8iLAogICAgICAiY291bnRyeSI6ICJDQSIKICAgIH0KICBdCn0=" Start new Train trip: description: "\n

The \"request\" param is the Base 64 encoded value of the below payload:

\n

Example for NA custom data fields:

\n
\n                \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                \n            
\n

Example for EU custom data fields:

\n
\n                \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                \n            
\n

Example for existing custom data fields:

\n
\n                \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                \n            
\n " value: GET "https://xxvanity.egencia-test.com/openconnect-sso-service/v2/startTrip?request=ewogICJwcm9kdWN0X3R5cGUiOiAiVFJBSU4iLAogICJtaXNzaW9uX251bWJlciI6ICIxMjM0IiwKICAiaXRpbmVyYXJ5X3R5cGUiOiAiUlQiLAogICJ0cmF2ZWxlcnMiOiBbCiAgICAiOTg3NjUiCiAgXSwKICAiZHVyYXRpb24iOiB7CiAgICAic3RhcnRfZGF0ZSI6ICIyMDIxLTEwLTI1IiwKICAgICJlbmRfZGF0ZSI6ICIyMDIxLTEwLTI4IiwKICAgICJzdGFydF90aW1lIjogIjA5OjAwIiwKICAgICJlbmRfdGltZSI6ICIwOTowMCIKICB9LAogICJjZGZzIjogewogICAgIkNPU1RfQ0VOVEVSXzEiOiAiVEVTVCIsCiAgICAiQ09TVF9DRU5URVJfMiI6ICJURVNUIgogIH0sCiAgImxvY2F0aW9ucyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiU1RBUlQiLAogICAgICAibmFtZSI6ICJQQVIiLAogICAgICAKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogIkVORCIsCiAgICAgICJuYW1lIjogIkhFTCIsCiAgICAgIAogICAgfQogIF0KfQ==" schema: type: string description: Found. '400': content: '*/*': examples: Invalid value error: description: "\n

Error response when custom data field is mandatory and non editable and invalid value is supplied:

\n
\n                \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                \n            
\n " description: 'Bad Request : Invalid input or request' '500': description: 'Internal Server Error : Unable to process request.' summary: Redirect to Egencia home page based on the request parameters passed tags: - redirection-controller