Custom fields and industry-specific widgets

Updated on 22.04.26
4 minutes to read
Copy link

Overview

SEON is made to be customizable to counter the fraud risks specific to your business. As widgets are the heart and soul of analyzing transactions in SEON, we've created a collection of widgets that not everyone will use. Still, these widgets will perfectly satisfy an itch for those that need them.

Custom Fields widget

You can use custom fields to truly customize your fraud-fighting experience. SEON collects and creates hundreds of data points, but you can also do your part.

With custom fields, you can send any data to SEON, even if it doesn't have a dedicated default field. You can configure custom fields in two ways:

  • Add custom fields to your API request following the formatting on our API reference page.
  • Enter custom fields manually into the text box available within the User Details section of the Transaction tab on the Manual Lookup page.

You can then start using custom fields in custom rules – to ensure these data points are part of your risk scoring.

Custom fields widget

Examples of custom fields

The kinds of custom fields you use will vary wildly depending on your industry. Here are a few examples we've seen:

  • Information connected to KYC and identify verification checks
    • National ID numbers user_label:national_id
    • Address information user_label:postcode
    • Verification status user_label:kyc_status
  • Additional customer data
    • Customer status or account type user_label:vip_level or user_label:user_is_sponsor
    • Customer type: user_label:is_business_customer
  • Account activity and payments
    • Historical deposits and witrhdrawals from an account: user_label:total_withdrawals user_label:lifetimedeposit
    • Date the customer was last seen user_label:lastcasinoactivity

There really is no limit to what you can do with custom fields, and our Technical Services Team is always ready to help you get started.

 

Order details widget

order details widget

Any additional information about the order that has been passed into SEON via the API can be accessed from the Order Details widget. 

This includes notes, discount codes, and gift messages.

 

 

Transactional Information Widget

The Transactional Information Widget shows all other transactional and payment information passed to SEON via the API.

This includes details about the payment method, bank account, and any relevant verification steps, such as user verification or 3D-Secure.

transactional information widget

 

Flight information widgets

When flight-related data is passed to SEON through custom_fields, SEON can display two dedicated widgets on the Transaction Details page:

  • Flight ticket information
  • Flight passengers

These widgets are designed for travel-related use cases and can also support custom rules and scoring when the same fields are used in your fraud logic.

How the widgets are triggered

The flight widgets are displayed only when the following trigger fields are present in custom_fields:

  • routing_airport_count displays the Flight ticket information widget
  • passenger_count displays the Flight passengers widget

If these trigger fields are missing, the widgets remain hidden even if other flight-related fields such as flight_operators, departure_date, or journey_type are present.

 

Flight ticket information widget

The Flight ticket information widget displays flight-level booking information.

Supported fields include:

  • departure_date
  • departure_dayofweek
  • hours_to_departure
  • reservation_class
  • cabin_class
  • vip
  • fly
  • flight_operators
  • sale_country
  • navigation_country
  • operating_country
  • operating_company
  • destination_country
  • 3ds_available
  • shop_channel
  • journey_type

In addition to these flight-level fields, the widget can also display the full routing of the trip.

To display routing information, send:

  • routing_airport_count

Then send one numbered set of routing fields for each airport in the journey:

  • routing_airport1_iata
  • routing_airport1_city
  • routing_airport1_country
  • routing_airport2_iata
  • routing_airport2_city
  • routing_airport2_country

Continue the same numbering pattern for each additional airport.

 

Flight passengers widget

The Flight passengers widget displays passenger-level information.

To display it, send:

  • passenger_count

Then send one numbered set of passenger fields for each passenger:

  • passenger1_firstname
  • passenger1_lastname
  • passenger1_email
  • passenger1_phone
  • passenger1_id
  • passenger1_type
  • passenger1_status

Continue the same numbering pattern for each additional passenger:

  • passenger2_*
  • passenger3_*
  • and so on

How to use these fields

Flight-related fields passed through custom_fields are not limited to widget display. Once received by SEON, they can also be used in custom rules and scoring logic.

For example, you can use them to:

  • score bookings differently based on journey_type
  • evaluate time-sensitive bookings using hours_to_departure
  • compare sale_country and destination_country
  • build travel-specific logic using routing or passenger data

Example payload

{
  "custom_fields": {
    "departure_date": "2026-05-15",
    "departure_dayofweek": 5,
    "hours_to_departure": 336,
    "reservation_class": "Y",
    "cabin_class": "Economy",
    "vip": "true",
    "fly": "true",
    "flight_operators": "British Airways",
    "sale_country": "HU",
    "navigation_country": "HU",
    "operating_country": "GB",
    "operating_company": "British Airways",
    "destination_country": "US",
    "3ds_available": true,
    "shop_channel": "Web",
    "journey_type": "RT",

    "routing_airport_count": 3,
    "routing_airport1_iata": "BUD",
    "routing_airport1_city": "Budapest",
    "routing_airport1_country": "Hungary",
    "routing_airport2_iata": "LHR",
    "routing_airport2_city": "London",
    "routing_airport2_country": "United Kingdom",
    "routing_airport3_iata": "JFK",
    "routing_airport3_city": "New York",
    "routing_airport3_country": "United States",

    "passenger_count": 2,
    "passenger1_firstname": "Jane",
    "passenger1_lastname": "Doe",
    "passenger1_email": "jane.doe@example.com",
    "passenger1_phone": 36111111111,
    "passenger1_id": "PAX001",
    "passenger1_type": "adult",
    "passenger1_status": "VIP",

    "passenger2_firstname": "John",
    "passenger2_lastname": "Doe",
    "passenger2_email": "john.doe@example.com",
    "passenger2_phone": 36222222222,
    "passenger2_id": "PAX002",
    "passenger2_type": "child",
    "passenger2_status": "standard"
  }
}

Troubleshooting

If the flight widgets do not appear, check the following:

  • the fields are sent inside custom_fields
  • the field names match exactly
  • routing_airport_count is present and greater than 0 for the Flight ticket information widget
  • passenger_count is present and greater than 0 for the Flight passengers widget
  • routing and passenger fields use the expected numbered format