Profile Create
UProfileResRsp.xsd
This transaction does not require any previous message.
This topic applies to all profiles other than traveler. For information about creating a traveler profile, refer to Profile Create Traveler.
Universal API uses profiles to apply stored data. Profiles can be used to:
- Populate a Universal Record or PNR with pre-existing information, such as agency or traveler contact information.
- Indicate preferences and priorities for air, vehicle, and hotel travel options.
- Specify permitted data sources or functionality.
Profiles:
- Control the provider-supplier combinations for which an entity is provisioned.
Contain credentials used to connect to a given provider/supplier.
Note: See Profile Provider Credentials for more details.
Schema
Profile Create is within uProfile.xsd. See the following transactions for Profile Create:
- ProfileCreateReq
- For ProfileCreateRsp, refer directly to the uProfile schema.
How To
- A user can create a profile of either an Agency or Account hierarchy,
with data associated to one or more custom fields or groups. The following rules apply to profile creation:
- The parent of the new profile must be specified by either ID or provisioning code.
- Only one parent is allowed per profile.
- The parent profile must be a valid type for the new profile. See Profile Relationships for valid parent/child relationships.
- The parent profile must be associated to a higher level of the hierarchy than the hierarchy level of the profile being created.
- The profile can be created
with custom fields/groups. Format of the data must
be valid:
- Value must be valid given the data type.
- The number of occurrences of child fields within a custom field group must be valid.
- When creating an agency, the minimal fixed fields are Agency Name and Agency Code.
- When creating an account, the minimal fixed field is Account Name.
Exception: Traveler profiles are allowed more than one immediate parent; however, only one parent can be added during profile creation. More parents can be added by modifying the traveler profile.
-
Depending on the type of profile that is being created, certain attributes and elements are required.
BillingPointOfSale attributeBillingPointOfSale information to identify the requester; most commonly the OriginApplication.
ProfileType attributeThe type of profile to create. Valid values include AgencyGroup, Agency, BranchGroup, Branch, Agent, Account, TravelerGroup, Traveler.
NameThe Name attribute (ProfileData/[Name]Info/Name) is required for agency group, agency, branch group, branch, account, and traveler group profile types. For agent profiles, UserName, GivenName, and Surname are required. For traveler profiles, GivenName and Surname are required.
- Traveler Group names must be unique within an account. An error is returned if the Travel Group name that is submitted already exists within the same account.
-
Traveler Group and Account names can be entered in a local language using the LocalLanguageName attribute. A traveler's name can be entered in a local language using the LocalLanguageGivenName and LocalLanguageSurname attributes.
TemplateID, TemplateVersionProfile Type
Explanation
AgencyGroup - N/A
Agency - N/A
BranchGroup - R
Branch - R
TravelerGroup - R
Traveler - R
The template ID specified must be applicable for the hierarchy level of the profile being created. The template ID cannot be modified after the profile is created.
The template version specified must be the latest/current version of the template.
If this attribute is not provided when a Branch or Agent profile is being created, the template ID and version are inferred.
HierarchyLevelIDProfile Type
Explanation
AgencyGroup - N/A
Agency - O
BranchGroup - R
Branch - O
TravelerGroup - R
Traveler - N/A
When a profile is being created, the hierarchy level to which it is associated must be provided. This attribute is not required for Traveler or Agency Group. If this attribute is not provided when a Branch or Agent profile is being created, the hierarchy level is inferred.
ProfileDataAgentInfo/Phone and AgentInfo/ElectronicAddress (email) are required for an Agent profile. They are optional for all other profile types.
-
When setting up a profile, additional data may be included in the request.
AddressThe ProfileData/[Name]Info/Address @Type attribute enumeration now includes Work and Home values.
Traveler, Traveler Group, and Account addresses can be entered in a local language using the LocalLanguageName attribute.
@OtherStateProvince
When setting up a profile, if OtherStateProvince is included in Address, AlternateContactAddress, PaymentAddress, or TravelDocumentAddress, note the following:
- State and OtherStateProvince are mutually exclusive, and only one can exist in the database.
- When OtherStateProvince is stored using the uProfile v8.0 schema version, OtherStateProvince is not returned in a response that uses an old schema.
- If State data is passed using an older schema version, Universal API overrides OtherStateProvince if it is present.
ExternalIdentifierThe ExternalIdentifier element is available in all ProfileInfo elements: AgencyInfo, BranchInfo, TravelerInfo, AgencyGroupInfo, BranchGroupInfo, AgentInfo, AccountInfo, TravelerGroupInfo, and TravelerInfo.
With uProfile v18.0 and later, the ExternalIdentifier attribute was removed. If ExternalIdentifier element is sent, the ExtID attribute is required.
Multiple instances of ExternalIdentifier element are allowed; however, only one instance of ExternalIdentifier without a Source value is allowed. An error is returned if two ExternalIdentifier elements without a Source value are sent.
Both ExtID and Source attributes allow alphanumeric text and special characters.
Note: Although this element is added to all profile types, only Account and Traveler profile functionality is supported in this release. Future releases will address other profile type functionality.
ContractIn any version of uProfile, if a "true" value is passed for the Contract attribute in AgencyInfo or BranchGroupInfo, a warning is returned: Contract profile setting has been ignored as it is no longer supported.
PolicyReferenceThe PolicyReference element of ProfileData is used to specify a code for categorizing a reference for a Traveler's bookings, often used by the Traveler's employer to administer policy. Up to ten instances per profile are permitted.
Show attributesAttribute Name Type Required Description Key
N/A
- Key is not a valid value in ProfileCreateReq.
- Key is required in ProfileModifyReq and is obtained from the ProfileCreateRsp.
Type
String
Y
Valid Types are Employee Grade, Traversa Policy Group, and HRG Policy Group.
Value
String
Y
The value the employer wants associated with the specified type.
Alphanumeric from 1-255 characters.
Desc
String
N
A description of the value.
Alphanumeric from 1-255 characters.
ControllingPolicyID
Integer
N
A specific reference to a particular profile above Traveler. Any Profile ID within the same agency is permitted, with the exception of Traveler. The intent of this attribute is to identify the profile that is defining the policy.
Alphanumeric from 0-255 characters.
PriorityOrder
restriction of xs:int
N
Priority order is the ranking order associated with the policy. If multiple PolicyReferences exist, this attribute is used to rank the priority of a policy (e.g., 1, 2, 3).
Numeric from 1-99 characters.
AccountingReferenceAccounting reference is a code for categorizing bookings. Accounting reference codes are often used by the employers for budgeting, internal billing, or other cost accounting purposes. The Type and Value attributes are required.
-
The Type attribute values can be accessed using Util:ReferenceDataRetrieveReq TypeCode="AccountingReferenceType".
- Optional values include:
- AccountID is used to reference an Account Profile ID.
PriorityOrder is used to prioritize multiple accounting references within the profile.
OwnerID identifies the ID of the profile that owns the Accounting Reference data.
- Active specifies that the accounting reference type is valid and available for use. When an accounting reference type is no longer valid, this attribute can be set to false to deactivate the accounting reference type, which maintains the information for reporting purposes. By default, this attribute is true.
FormOfPaymentShow additional forms of payment- Certificate
- Ticket Number
- Check
- Requisition: Government Requisition, Government Transportation, Special Government Requisition-Cash
- Misc Form Of Payment: Freeform, Miscellaneous, Misc Credit Card, Non-Standard Credit Card, Non-Refundable, Invoice, Credit
- Agency Payment
- United Nations
- Direct Payment
- Agent Voucher
- Cash
Two other forms of payment are also available and can be stored in the profile:
- E-Voucher: A valid payment when booking a car
- Guarantee: A valid payment when guaranteeing a hotel
- To Agency IATA
- To Another Agency IATA
Note: The ProfileData/FormOfPayment element functionality is not backwards compatible.
ExtractIndicator
For ProfileData/FormOfPayment/CreditCard, a credit card extract indicator was added to the credit card form of payment on all Profile Types (Agency, Branch Group, Branch, Agent, Account, Traveler Group, and Traveler). The ExtractIndicator can be used by Mid-Office Systems (MOS) to create a credit card extract. A credit card extract is a corporate agency tool that allows the agency to batch process credit card transactions on a regular basis into a fixed-width text file to upload in to the credit card companies for processing.
Note: Universal API does not create the Credit Card Extract File. It must be created by the MOS.
Set the indicator to "true" to extract the credit card details. The default is "null".
CreditCard
The Active attribute indicates whether the credit card is valid and available for use. If Active is false, the credit card cannot be used but it is available for reporting.
ProfileLinkThe ProfileLink element provides a one-way link from one profile to another. To define a profile link, the following information is required:
- Set the TravelerID attribute to the ID of the profile to which you are linking.
- Set Relationship to an enumerated value listed in the schema.
The other ProfileLink attributes are not used in the request. Rather, these attributes are populated in a create, retrieve, and modify response from the linked traveler's information. See the response for more information.
UsesTemplateWhen an Agency is modified, the ProfileModifyCmd/ProfileDataUpdate/AgencyInfo@UsesTemplate attribute defines whether all children inherit based on templates or a configuration of the database in uProfile v19.0 and greater. When false, profiles under this agency's hierarchy use a database configuration to determine inheritability rather than templates. When true, the agency's hierarchy uses templates to determine inheritability.
When a profile is retrieved and parent data is requested, if the Agency parent profile contains UsesTemplate=true, then the retrieve response displays all parent data elements that are inheritable as defined by the template. If UsesTemplate=false at the Agency profile level, then the retrieve response displays parent data elements that are defined as inheritable by the database configuration are returned.
- The following rules are specific to the creation of agent profiles:
- When an agent profile is created, one default branch can be specified. The branch ID must be in the same agency as the agent.
- Phone number is required when creating an agent profile.
- Email address is required when creating an agent profile.
Using Alternate Agent IDAgent profile types include @AlternateAgentID, a value that can be added to an agent’s profile. The AlternateAgentID will be used in the future for a new PNR Queue Sort function.
Without the alternate ID, PNRs created via Universal API have either the identifier “WS” or “00” and they cannot be sorted by individual agent. To support flexibility in the future Queue Sort functionality, Universal API allows the entry of any character data from 1 to 128 characters for the Alternate Agent ID in the Universal Profile. Client applications may choose to enforce their own set of unique business logic rules for the AlternateAgentID. For example, a client application may choose to:
- Limit the length to two characters.
- Make the value equal the agent’s initials.
- Require the value to be unique.
- Populate the field with the provider’s agent sine information.
If the logic of two-character initials is chosen, the initials are updated in the PNR that is created by the Universal API request. After the PNR is created, the initials cannot be modified. Agent profiles can currently be searched for, using the AlternateAgentID.
-
The response indicates if the request was successful, meaning that the profile was created. Each profile is assigned a unique ProfileID (ProfileCreateRsp/Profile@ProfileID) that can be used in subsequent requests to modify, retrieve, or delete the profile. Any errors or warnings are also in the response.
ProfileLinkThe Profile/ProfileLink element returns information about the traveler to which this profile is linked. The name and email address information are populated with information provided in the linked traveler's profile. The linked traveler's email address is returned in the ElectronicAddress, if the linked traveler's profile contains an email address. If the linked traveler's profile contains more than one email address, the email with a priority order of 1 is returned; if no priority is assigned, the first email address is returned.
If ReturnProfile=true in the request, Policy Reference data is returned in ProfileCreateRsp/Profile/ProfileData.
Show Policy Reference data- Type. Returns the appropriate enumeration, which could include one of:
- HRG Policy Group
- Traversa Policy Group
- Employee Grade
- Value
- Description
- Controlling Policy ID.
- Priority Order
- Key
If the Controlling Policy ID is not within the same agency hierarchy of the traveler, a warning is returned:ControllingPolicyID [XX] is not a valid id for the Policy Reference, where XX is the Profile ID.