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.
| name | data type | constraints | 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. | |
| 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 | required 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 | required 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" : "..."
} ]
}