{"openapi":"3.1.0","info":{"title":"Validation SPI","version":"v1.0"},"servers":[{"url":"https://apis.egencia.com/openconnect-validation-service","description":"Generated server url"}],"tags":[{"description":"Validation interface that will request authorization of booking based on the data provided at checkout time.This is only an example. The path and the host are specific for each implementor. However, the model is fixed and versioned.","name":"validation"}],"paths":{"/v1/validateFields":{"post":{"operationId":"validateFields","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CDFValidationRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Validation failed with errors":{"description":"Validation failed with errors","value":{"valid":false,"errors":[{"user_id":454545,"error_fields":[{"name":"Project Code","expected_value":"","error_description":"The Project Code is unknown, please try another value."},{"name":"Travel Request Id","expected_value":"","error_description":"Travel Request or Mission Number Not Found.Please verify your entry or create a new Travel Request or Mission Number and request its approval before booking on Egencia."}]}]}},"Validation success with no errors":{"description":"Validation success with no errors","value":{"valid":true,"errors":[]}}},"schema":{"$ref":"#/components/schemas/CDFValidationResponse"}}},"description":"<b>Ok</b> : Booking request will be granted. Booking will happen."},"400":{"description":"<b>Bad Request</b> : Booking will not happen. The User will be blocked in Checkout page."},"401":{"description":"<b>Unauthorized</b> : Authentication Failure. Booking will not happen. The User will be blocked in Checkout page with a message telling the User to contact his system administrator as there was an error with his internal software."},"403":{"description":"<b>Forbidden</b> : Booking will not happen. The User will be blocked in Checkout page with a message telling the User to contact his system administrator as there was an error with his internal software."},"500":{"description":"<b>Internal Server Error</b> : Booking will not happen. The User will be blocked in Checkout page with a message telling the User to contact his system administrator as there was an error with the internal software."}},"security":[{"Basic Auth Credentials scheme":[]}],"summary":"Validate the booking fields","tags":["validation"]}}},"components":{"schemas":{"BookerForThirdParty":{"description":"Booker details","properties":{"email":{"type":"string","description":"The email address of the person who is doing the booking.","example":"test@egencia.com"},"is_agent":{"type":"boolean","description":"Flag indicating if an Egencia Travel Consultant/Agent is doing the booking.","example":false},"is_arranger":{"type":"boolean","description":"Flag indicating if the booker has the arranger role (An arranger can arrange booking for other persons).","example":false},"user_id":{"type":"integer","format":"int64","description":"TUID (Egencia Travelers Unique Identifier) of the user who is doing the booking.","example":12345}},"title":"Booker"},"CDFValidationRequest":{"description":"Validation request","properties":{"booker":{"$ref":"#/components/schemas/BookerForThirdParty"},"company_id":{"type":"integer","format":"int32","description":"Egencia internal company identifier.","example":654534},"language":{"type":"string","description":"The ISO 639-1 Code two letters language code. This value is passed in the request.\nThis is the language that the user uses on Egencia website.\n\nError messages shall match this language.","example":"EN"},"partner_customer_code":{"type":"string","description":"The partner_customer_code is the unique identifier of a client in the application of the partner. For partners who request it, partner_customer_code must be set everytime a customer subscribes to those partners.","example":"JE3B"},"request_timestamp":{"type":"string","description":"UTC Time stamp of the request ISO-8601. The format is the following:\"yyyy-MM-ddTHH:mm:SSZ\"","example":"2021-06-29T07:36:48Z"},"travelers":{"type":"array","description":"The list of Travelers that included in that booking request and could be validated.","items":{"$ref":"#/components/schemas/Traveler"}},"trip_info":{"type":"array","description":"Placeholder that can accommodate trip Information.","items":{"type":"object","description":"Placeholder that can accommodate trip Information."}}},"title":"Validation Request"},"CDFValidationResponse":{"description":"Validation response","properties":{"errors":{"type":"array","description":"The List of errors for the traveler.","items":{"$ref":"#/components/schemas/Error"}},"valid":{"type":"boolean","description":"The value describes whether validation was successful or failure."}},"title":"Validation Response"},"Error":{"description":"Validation error","properties":{"error_fields":{"type":"array","description":"The list of field which are not valid.","items":{"$ref":"#/components/schemas/ErrorField"}},"user_id":{"type":"integer","format":"int32","description":"TUID (Egencia Travelers Unique Identifier) of the traveler."}},"title":"Validation error"},"ErrorField":{"description":"Validation error field","properties":{"error_description":{"type":"string","description":"The error description provided by the Consumer in the language specified in the request.\nThis messages will be displayed to the user so that he can understand and correct the information in the form."},"expected_value":{"type":"string","description":"The expected value for the field. Currently not supported in this version."},"name":{"type":"string","description":"The name of field which is not valid."}},"title":"Validation error field"},"Traveler":{"description":"Traveler details","properties":{"email":{"type":"string","description":"Email address of the traveler.","example":"test@egencia.com"},"user_id":{"type":"integer","format":"int64","description":"TUID (Egencia Travelers Unique Identifier) of the traveler.","example":454545},"validation_fields":{"type":"array","description":"The list of the fields and their corresponding values which needs to be validated.","items":{"$ref":"#/components/schemas/ValidationField"}}},"title":"Traveler"},"ValidationField":{"description":"Validation field","properties":{"name":{"type":"string","description":"The name of field which needs to be validated for.","example":"Project Code"},"value":{"type":"string","description":"The Value of the corresponding field.","example":"F_AUTO"}},"title":"Validation field"}}}}