ProfileField Data Type

An Profile field is a mapped property for the profile logic system. Each field is mapped by a code which we then use to translate into OBE profiles. The data stored for each field is universal though. We store the same data formats for concur as we do for resx. We only translate the data when we push to external systems.

Properties
name data type description
propertyName string The name of the property in the OBECore request object. For nested properties, use the . as a delimiter to path to the property from the root object.
displayName string The name of the property for the layman.
type ProfileInputType The default type for this property. For instance, a name field would be alphanumeric.
displayOrder number The position of the field relative to other fields in the same subcategory.
hidden boolean Should this field be hidden from the user?
readonly boolean Should the user be able to edit the field?
defaultValue string The default value for the field
required boolean Is this field required?
requiredInGroup boolean Is this field required in its group?
fullDisplayName string The full name of the property, so for example instead of just "Name", this field would be something like "Credit Card Default Name". This would be annoying to the user if we displayed the full name on every field. So we usually just use it on the form editor so the editor can know exacly what field they are editing.
shouldMask boolean Should this field be masked when it is returned to the user?
maskBeginIndex number At what point in the string should the mask start?
maskEndIndex number At what point in the string should the mask end?
minLength number Minimum length of the value.
maxLength number Maximum length of the value.
custom boolean Is this field a custom value? Custom field are generally things like UDIDs that are part of the company information, like cost centers and departments.
customFieldName string The sync name of the custom field. This is used for systems like the OBE sync where the mapped field would be set by an admin or online tech.
fieldGroup ProfileFieldGroup The group that this field falls under. Should this be grouped under credit cards, passports, etc? This is generally used when we push profiles to an external system. We need to be able to categorize values into identifiable classes like passports or visas.
preferred boolean Is this field preferred over fields of the same type? At the moment this only applies to phone numbers.
encrypted boolean DO NOT USE. UP FOR DEPRECATION.
fieldVisibility ProfileFieldVisibility DO NOT USE. UP FOR DEPRECATION.
setOnUserCreation boolean A flag that tells us if this value is already set. These do not need to be filled out by the traveler.
composite boolean DO NOT USE. UP FOR DEPRECATION.
childFields array of ProfileField A collection of fields that complete this field. Example: Phone Number has children -- Country Code, Area Code, Number, Extension
Properties inherited from BaseHibernateEntity
id number The unique internal ID of the object.
version number For internal use only. This is the serialization recorder for optimistic locking of several objects between sessions.
Properties inherited from BaseEntity
violations array of SimpleViolation A list of constraint violations, if any, that this object has.

Example

{
  "propertyName" : "...",
  "displayName" : "...",
  "type" : {
    "code" : "...",
    "name" : "...",
    "dropdown" : true,
    "id" : 12345,
    "version" : 12345,
    "violations" : [ {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    }, {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    } ]
  },
  "displayOrder" : 12345,
  "hidden" : true,
  "readonly" : true,
  "defaultValue" : "...",
  "required" : true,
  "requiredInGroup" : true,
  "fullDisplayName" : "...",
  "shouldMask" : true,
  "maskBeginIndex" : 12345,
  "maskEndIndex" : 12345,
  "minLength" : 12345,
  "maxLength" : 12345,
  "custom" : true,
  "customFieldName" : "...",
  "fieldGroup" : {
    "code" : "...",
    "id" : 12345,
    "version" : 12345,
    "violations" : [ {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    }, {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    } ]
  },
  "preferred" : true,
  "encrypted" : true,
  "fieldVisibility" : {
    "name" : "...",
    "description" : "...",
    "id" : 12345,
    "version" : 12345,
    "violations" : [ {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    }, {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    } ]
  },
  "setOnUserCreation" : true,
  "composite" : true,
  "childFields" : [ {
    "propertyName" : "...",
    "displayName" : "...",
    "type" : {
      "code" : "...",
      "name" : "...",
      "dropdown" : true,
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "displayOrder" : 12345,
    "hidden" : true,
    "readonly" : true,
    "defaultValue" : "...",
    "required" : true,
    "requiredInGroup" : true,
    "fullDisplayName" : "...",
    "shouldMask" : true,
    "maskBeginIndex" : 12345,
    "maskEndIndex" : 12345,
    "minLength" : 12345,
    "maxLength" : 12345,
    "custom" : true,
    "customFieldName" : "...",
    "fieldGroup" : {
      "code" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "preferred" : true,
    "encrypted" : true,
    "fieldVisibility" : {
      "name" : "...",
      "description" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "setOnUserCreation" : true,
    "composite" : true,
    "childFields" : [ { }, { } ],
    "id" : 12345,
    "version" : 12345,
    "violations" : [ {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    }, {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    } ]
  }, {
    "propertyName" : "...",
    "displayName" : "...",
    "type" : {
      "code" : "...",
      "name" : "...",
      "dropdown" : true,
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "displayOrder" : 12345,
    "hidden" : true,
    "readonly" : true,
    "defaultValue" : "...",
    "required" : true,
    "requiredInGroup" : true,
    "fullDisplayName" : "...",
    "shouldMask" : true,
    "maskBeginIndex" : 12345,
    "maskEndIndex" : 12345,
    "minLength" : 12345,
    "maxLength" : 12345,
    "custom" : true,
    "customFieldName" : "...",
    "fieldGroup" : {
      "code" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "preferred" : true,
    "encrypted" : true,
    "fieldVisibility" : {
      "name" : "...",
      "description" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "setOnUserCreation" : true,
    "composite" : true,
    "childFields" : [ { }, { } ],
    "id" : 12345,
    "version" : 12345,
    "violations" : [ {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    }, {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    } ]
  } ],
  "id" : 12345,
  "version" : 12345,
  "violations" : [ {
    "propertyName" : "...",
    "failureMessage" : "...",
    "stackTrace" : "..."
  }, {
    "propertyName" : "...",
    "failureMessage" : "...",
    "stackTrace" : "..."
  } ]
}