# Get applicable custom fields Endpoint: POST /v3/applicable-custom-fields Version: v3 Security: Bearer ## Request fields (application/json): - `userId` (string, required) User id for whom the custom fields must be applicable. - `bookingContext` (object, required) Booking context for given booking flow. - `bookingContext.tripId` (string, required) Identifier of the trip - `bookingContext.itinerary` (any, required) - `bookingContext.bookingFlowType` (string) Specifies the booking flow stage—such as creating, modifying, or canceling a booking. Enum: "NEW_BOOKING", "MODIFY_BOOKING", "CANCEL_BOOKING" - `bookingContext.paymentSourceIds` (array) - `bookingContext.inlineQCFailureRules` (array) A list of failed inline QC rules - `bookingContext.inlineQCFailureRules.ruleId` (string) Rule Id - `bookingContext.inlineQCFailureRules.ruleType` (string) Enum: "SEGMENT_GAP_RULE", "OSI_REMARK", "DUPLICATE_TICKET_RULE", "VENDOR_CONFIRMATION_MISSING_RULE", "LAST_NAME_MISPELLED_RULE", "DUPLICATE_BOOKING_RULE", "DATE_OF_BIRTH_RULE", "SECURE_FLIGHT_INFO_RULE", "PASSPORT_INFO_RULE", "TICKET_LESS_CARRIER_RULE", "VENDOR_CONFIRMED_STATUS_RULE", "VALIDATING_CARRIER_RULE", "OB_FEE_PRESENT_RULE", "FRAUD_CITY_CHECK_RULE", "FILE_FINISHING_RULE", "FARE_THRESHOLD_MANUAL_VERIFICATION_CHECK_RULE", "BLOCKED_AIRLINES_RULE", "LAST_NAME_VALID_RULE", "FRAUD_AIRPORT_MANUAL_VERIFICATION_CHECK_RULE", "PNR_COMMISSION_RULE", "DYNAMIC_OSI_REMARK_RULE", "DYNAMIC_SSR_REMARK_RULE", "COMMISSION_STALE_RULE", "EXCHANGE_COMMISSION_CHECK_RULE", "ADD_OTH_SEGMENT_RULE", "IRD_MULTI_SEGMENT_RULE", "FOP_CONDITIONS_CHECK_RULE", "ADD_AGENCY_REMARKS", "CHECK_MCO_RULE", "OVERRIDE_VALIDATING_CARRIER_RULE", "EDIT_PRICE_QUOTE_RULE", "TRIP_CONTINUITY_RULE", "PNR_PURCHASE_RULE", "FRAUD_COUNTRY_AND_PNR_PURCHASE_RULE", "FRAUD_AIRPORT_AND_PNR_PURCHASE_RULE", "REMARK_CHECK_RULE", "FLIGHT_METROPOLITAN_RULE", "FLIGHT_LAYOVER_RULE", "HOTEL_METROPOLITAN_RULE", "TIME_CONTINUITY_RULE", "CAR_METROPOLITAN_RULE", "CAR_TIME_CONTINUITY_RULE", "SSR_OSI_VALIDATION_RULE", "PNR_QUEUING_RULE", "GST_INFO_RULE", "CONTACT_INFO_RULE", "REDEEMING_MCO_RULE", "REDEEMING_UNUSED_CREDIT_NAME_CHANGE_RULE", "FARE_THRESHOLD_ON_BOOKING_OR_EXCHANGE_RULE", "ADD_AGENCY_ADDRESS_RULE", "BSP_EXCHANGE_VALID_EMD_RULE", "HOTEL_CANCELLATION_RULE", "ADD_ACCOUNTING_LINE_RULE", "EXTERNAL_COMMISSIONS_PROCESSING_RULE", "PRE_TICKETING_FARE_THRESHOLD_RULE" - `customFieldResponsesContext` (object) Custom field responses which are already responded and auto added. - `customFieldResponsesContext.customFieldResponses` (array, required) A list of custom field responses, automated or user-entered. - `customFieldResponsesContext.customFieldResponses.fieldId` (string, required) Custom field id - `customFieldResponsesContext.customFieldResponses.fieldName` (string) Name of the custom field - `customFieldResponsesContext.customFieldResponses.armId` (string, required) Arm id which is applicable - `customFieldResponsesContext.customFieldResponses.includeLocations` (array) Enum: "BOOKING_CONFIRMATION_EMAILS", "APPROVAL_EMAILS", "COMPANY_REPORTS", "CONSOLIDATED_ITINERARY_EMAILS" - `customFieldResponsesContext.customFieldResponses.selectedOptions` (array, required) The list of options that are selected by user or auto populated. - `customFieldResponsesContext.customFieldResponses.selectedOptions.name` (string, required) Value of the selection - `customFieldResponsesContext.customFieldResponses.selectedOptions.translatedName` (string) Translated value of the selection - `customFieldResponsesContext.customFieldResponses.selectedOptions.description` (string) Description of the selection - `customFieldResponsesContext.customFieldResponses.selectedOptions.translatedDescription` (string) Translated description of the selection - `customFieldResponsesContext.customFieldResponses.selectedOptions.additionalUserInput` (string) Additional user input - `customFieldResponsesContext.customFieldResponses.selectedOptions.additionalInfos` (array) Actual values of the additional infos - `customFieldResponsesContext.customFieldResponses.selectedOptions.additionalInfoConfigs` (array) Additional info configs for the selected option ## Response 200 fields (application/json): - `hasNewCustomFields` (boolean, required) Indicates if there are new custom fields that are applicable. - `customFields` (array, required) List of applicable custom fields including the ones which are already responded. It also includes the selected response which user has already selected previously. - `customFields.id` (string, required) Custom field id. - `customFields.name` (string, required) Name of this field to be viewed by the user and consumed by downstream service. Example: "Air Reason Code" - `customFields.translatedName` (string) Name of this field to be viewed by the user, translated to their preferred language. Example: "Air Reason Code" - `customFields.armId` (string, required) Arm id which is applicable. Example: "f49d00fe-1eda-4304-ba79-a980f565281d" - `customFields.description` (object) User-facing description of the custom field. - `customFields.description.value` (string, required) Description of the custom field. Example: "This field will capture the reason for out of policy booking" - `customFields.includeLocations` (array) Enum: "BOOKING_CONFIRMATION_EMAILS", "APPROVAL_EMAILS", "COMPANY_REPORTS", "CONSOLIDATED_ITINERARY_EMAILS" - `customFields.action` (any, required) ## Response 401 fields (application/json): - `debugIdentifier` (string) Link to debug the error internally. - `errorMessages` (array) - `errorMessages.errorCode` (string) Error code to identify the specific errors. - `errorMessages.message` (string) Message containing details of error. - `errorMessages.errorParameters` (array) Error message parameters. - `errorMessages.errorParameters.name` (string) Parameter name - `errorMessages.errorParameters.value` (string) Parameter value - `errorMessages.errorDetail` (string) More details about the error. ## Response 403 fields (application/json): - `debugIdentifier` (string) Link to debug the error internally. - `errorMessages` (array) - `errorMessages.errorCode` (string) Error code to identify the specific errors. - `errorMessages.message` (string) Message containing details of error. - `errorMessages.errorParameters` (array) Error message parameters. - `errorMessages.errorParameters.name` (string) Parameter name - `errorMessages.errorParameters.value` (string) Parameter value - `errorMessages.errorDetail` (string) More details about the error. ## Response 404 fields (application/json): - `debugIdentifier` (string) Link to debug the error internally. - `errorMessages` (array) - `errorMessages.errorCode` (string) Error code to identify the specific errors. - `errorMessages.message` (string) Message containing details of error. - `errorMessages.errorParameters` (array) Error message parameters. - `errorMessages.errorParameters.name` (string) Parameter name - `errorMessages.errorParameters.value` (string) Parameter value - `errorMessages.errorDetail` (string) More details about the error.