SIRVA.Relocation.Services.InitiationGateway

<back to all web services

TransfereeInitiationRequest

Requires Authentication
The following routes are available for this service:
POST/Initiation/TransfereeInitiates a transferee.
namespace SIRVA.Relocation.Services.InitiationGateway.ServiceModel

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type TransfereeInitiationResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type CustomField() = 
        ///<summary>
        ///Custom field name
        ///</summary>
        [<ApiMember(Description="Custom field name", IsRequired=true)>]
        member val FieldName:String = null with get,set

        ///<summary>
        ///Custom field value
        ///</summary>
        [<ApiMember(Description="Custom field value")>]
        member val FieldValue:String = null with get,set

    [<AllowNullLiteral>]
    type Location() = 
        member val Title:String = null with get,set
        member val City:String = null with get,set
        member val StateCode:String = null with get,set
        member val CountryCode:String = null with get,set

    [<AllowNullLiteral>]
    type Address() = 
        inherit Location()
        member val Line1:String = null with get,set
        member val Line2:String = null with get,set
        member val Line3:String = null with get,set
        member val PostalCode:String = null with get,set

    type MaritalStatus =
        | Single = 0
        | Married = 1
        | DomesticPartner = 2
        | Divorcee = 3
        | Defacto = 4
        | Other = 5
        | Separated = 6
        | Interdependent = 7
        | Widowed = 8
        | Divorced = 9

    type HomeOwnerStatus =
        | Homeowner = 0
        | Renter = 1

    [<AllowNullLiteral>]
    type SpousePartner() = 
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val BirthDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    type DependentAssigneeRelationship =
        | Child = 0
        | Other = 1

    [<AllowNullLiteral>]
    type Dependent() = 
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val BirthDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        [<ApiMember(IsRequired=true, Name="RelationshipToAssignee")>]
        member val RelationshipToAssignee:Nullable<DependentAssigneeRelationship> = new Nullable<DependentAssigneeRelationship>() with get,set

    [<AllowNullLiteral>]
    type ServiceData() = 
        ///<summary>
        ///Service data field name
        ///</summary>
        [<ApiMember(Description="Service data field name", IsRequired=true)>]
        member val FieldName:String = null with get,set

        ///<summary>
        ///Service data field value
        ///</summary>
        [<ApiMember(Description="Service data field value", IsRequired=true)>]
        member val FieldValue:String = null with get,set

    [<AllowNullLiteral>]
    type Service() = 
        ///<summary>
        ///Service name
        ///</summary>
        [<ApiMember(Description="Service name", IsRequired=true)>]
        member val Name:String = null with get,set

        ///<summary>
        ///Service data
        ///</summary>
        [<ApiMember(Description="Service data")>]
        member val Data:ResizeArray<ServiceData> = new ResizeArray<ServiceData>() with get,set

        ///<summary>
        ///Cancel
        ///</summary>
        [<ApiMember(Description="Cancel")>]
        member val Cancel:String = null with get,set

    [<AllowNullLiteral>]
    type TransfereeInitiation() = 
        ///<summary>
        ///Client ID
        ///</summary>
        [<ApiMember(Description="Client ID")>]
        member val ClientId:String = null with get,set

        ///<summary>
        ///External ID. This must be unique to the intiation's parent client
        ///</summary>
        [<ApiMember(Description="External ID. This must be unique to the intiation's parent client", IsRequired=true)>]
        member val ExternalId:String = null with get,set

        ///<summary>
        ///Transferee first name
        ///</summary>
        [<ApiMember(Description="Transferee first name", IsRequired=true)>]
        member val FirstName:String = null with get,set

        ///<summary>
        ///Transferee last name
        ///</summary>
        [<ApiMember(Description="Transferee last name", IsRequired=true)>]
        member val LastName:String = null with get,set

        ///<summary>
        ///Assignment type
        ///</summary>
        [<ApiMember(Description="Assignment type")>]
        member val AssignmentType:String = null with get,set

        ///<summary>
        ///Is this transferee pre-decision
        ///</summary>
        [<ApiMember(Description="Is this transferee pre-decision")>]
        member val PreDecision:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///Is this transferee a VIP
        ///</summary>
        [<ApiMember(Description="Is this transferee a VIP")>]
        member val VIP:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///Custom fields
        ///</summary>
        [<ApiMember(Description="Custom fields")>]
        member val CustomFields:ResizeArray<CustomField> = new ResizeArray<CustomField>() with get,set

        ///<summary>
        ///Employee ID
        ///</summary>
        [<ApiMember(Description="Employee ID")>]
        member val EmployeeId:String = null with get,set

        ///<summary>
        ///Start date
        ///</summary>
        [<ApiMember(Description="Start date")>]
        member val StartDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        ///<summary>
        ///End date
        ///</summary>
        [<ApiMember(Description="End date")>]
        member val EndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        ///<summary>
        ///Origin work location
        ///</summary>
        [<ApiMember(Description="Origin work location", IsRequired=true)>]
        member val OriginWorkLocation:Location = null with get,set

        ///<summary>
        ///Origin home address
        ///</summary>
        [<ApiMember(Description="Origin home address", IsRequired=true)>]
        member val OriginHomeAddress:Address = null with get,set

        ///<summary>
        ///Destination work location
        ///</summary>
        [<ApiMember(Description="Destination work location", IsRequired=true)>]
        member val DestinationWorkLocation:Location = null with get,set

        ///<summary>
        ///Repat
        ///</summary>
        [<ApiMember(Description="Repat")>]
        member val Repat:String = null with get,set

        ///<summary>
        ///Repat From City
        ///</summary>
        [<ApiMember(Description="Repat From City")>]
        member val RepatFromCity:String = null with get,set

        ///<summary>
        ///Repat From State code
        ///</summary>
        [<ApiMember(Description="Repat From State code")>]
        member val RepatFromStateCode:String = null with get,set

        ///<summary>
        ///Repat From Country Code
        ///</summary>
        [<ApiMember(Description="Repat From Country Code")>]
        member val RepatFromCountryCode:String = null with get,set

        ///<summary>
        ///Repat To City
        ///</summary>
        [<ApiMember(Description="Repat To City")>]
        member val RepatToCity:String = null with get,set

        ///<summary>
        ///Repat To State Code
        ///</summary>
        [<ApiMember(Description="Repat To State Code")>]
        member val RepatToStateCode:String = null with get,set

        ///<summary>
        ///Repat To Country Code
        ///</summary>
        [<ApiMember(Description="Repat To Country Code")>]
        member val RepatToCountryCode:String = null with get,set

        ///<summary>
        ///Transferee citizenship country
        ///</summary>
        [<ApiMember(Description="Transferee citizenship country")>]
        member val CitizenshipCountry:String = null with get,set

        ///<summary>
        ///Transferee dual citizenship country
        ///</summary>
        [<ApiMember(Description="Transferee dual citizenship country")>]
        member val DualCitizenshipCountry:String = null with get,set

        ///<summary>
        ///Policy
        ///</summary>
        [<ApiMember(Description="Policy", IsRequired=true)>]
        member val Policy:String = null with get,set

        ///<summary>
        ///Job title
        ///</summary>
        [<ApiMember(Description="Job title")>]
        member val JobTitle:String = null with get,set

        ///<summary>
        ///Marital status
        ///</summary>
        [<ApiMember(Description="Marital status", Name="MaritalStatus")>]
        member val MaritalStatus:Nullable<MaritalStatus> = new Nullable<MaritalStatus>() with get,set

        ///<summary>
        ///Pay grade
        ///</summary>
        [<ApiMember(Description="Pay grade")>]
        member val PayGrade:String = null with get,set

        ///<summary>
        ///Assignment family size
        ///</summary>
        [<ApiMember(Description="Assignment family size")>]
        member val AssignmentFamilySize:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///Home owner status
        ///</summary>
        [<ApiMember(Description="Home owner status", Name="HomeOwnerStatus")>]
        member val HomeOwnerStatus:Nullable<HomeOwnerStatus> = new Nullable<HomeOwnerStatus>() with get,set

        ///<summary>
        ///Line of business
        ///</summary>
        [<ApiMember(Description="Line of business", IsRequired=true)>]
        member val LineOfBusiness:String = null with get,set

        ///<summary>
        ///HostCurrency
        ///</summary>
        [<ApiMember(Description="HostCurrency")>]
        member val HostCurrency:String = null with get,set

        ///<summary>
        ///ServiceLevel
        ///</summary>
        [<ApiMember(Description="ServiceLevel")>]
        member val ServiceLevel:String = null with get,set

        ///<summary>
        ///CompanyCodePrimary
        ///</summary>
        [<ApiMember(Description="CompanyCodePrimary")>]
        member val CompanyCodePrimary:String = null with get,set

        ///<summary>
        ///CompanyCodeSecondary
        ///</summary>
        [<ApiMember(Description="CompanyCodeSecondary")>]
        member val CompanyCodeSecondary:String = null with get,set

        ///<summary>
        ///CostCenterPrimary
        ///</summary>
        [<ApiMember(Description="CostCenterPrimary")>]
        member val CostCenterPrimary:String = null with get,set

        ///<summary>
        ///CostCenterSecondary
        ///</summary>
        [<ApiMember(Description="CostCenterSecondary")>]
        member val CostCenterSecondary:String = null with get,set

        ///<summary>
        ///CostCenterTertiary
        ///</summary>
        [<ApiMember(Description="CostCenterTertiary")>]
        member val CostCenterTertiary:String = null with get,set

        ///<summary>
        ///Is the assignment confidential
        ///</summary>
        [<ApiMember(Description="Is the assignment confidential")>]
        member val Confidential:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///Special Instructions
        ///</summary>
        [<ApiMember(Description="Special Instructions")>]
        member val SpecialInstructions:String = null with get,set

        ///<summary>
        ///Destination entity legal name
        ///</summary>
        [<ApiMember(Description="Destination entity legal name")>]
        member val DestinationEntityLegalName:String = null with get,set

        ///<summary>
        ///Transferee mobile phone number
        ///</summary>
        [<ApiMember(Description="Transferee mobile phone number", IsRequired=true)>]
        member val MobilePhoneNumber:String = null with get,set

        ///<summary>
        ///Transferee work phone number
        ///</summary>
        [<ApiMember(Description="Transferee work phone number")>]
        member val WorkPhoneNumber:String = null with get,set

        ///<summary>
        ///Transferee home phone number
        ///</summary>
        [<ApiMember(Description="Transferee home phone number")>]
        member val HomePhoneNumber:String = null with get,set

        ///<summary>
        ///Transferee primary email
        ///</summary>
        [<ApiMember(Description="Transferee primary email", IsRequired=true)>]
        member val PrimaryEmail:String = null with get,set

        ///<summary>
        ///Transferee secondary email
        ///</summary>
        [<ApiMember(Description="Transferee secondary email")>]
        member val SecondaryEmail:String = null with get,set

        ///<summary>
        ///HR Contact First Name
        ///</summary>
        [<ApiMember(Description="HR Contact First Name")>]
        member val HRContactFirstName:String = null with get,set

        ///<summary>
        ///HR Contact Last Name
        ///</summary>
        [<ApiMember(Description="HR Contact Last Name")>]
        member val HRContactLastName:String = null with get,set

        ///<summary>
        ///HR contact full name
        ///</summary>
        [<ApiMember(Description="HR contact full name")>]
        member val HRContactFullName:String = null with get,set

        ///<summary>
        ///Transferee annual salary
        ///</summary>
        [<ApiMember(Description="Transferee annual salary")>]
        member val AnnualSalary:String = null with get,set

        ///<summary>
        ///Transferee spouse/partner
        ///</summary>
        [<ApiMember(Description="Transferee spouse/partner")>]
        member val SpousePartner:SpousePartner = null with get,set

        ///<summary>
        ///Transferee dependents
        ///</summary>
        [<ApiMember(Description="Transferee dependents")>]
        member val Dependents:ResizeArray<Dependent> = new ResizeArray<Dependent>() with get,set

        ///<summary>
        ///Assignment Services
        ///</summary>
        [<ApiMember(Description="Assignment Services")>]
        member val Services:ResizeArray<Service> = new ResizeArray<Service>() with get,set

        ///<summary>
        ///Relocation Status
        ///</summary>
        [<ApiMember(Description="Relocation Status")>]
        member val RelocationStatus:String = null with get,set

        ///<summary>
        ///Cancel
        ///</summary>
        [<ApiMember(Description="Cancel")>]
        member val Cancel:String = null with get,set

    [<AllowNullLiteral>]
    type TransfereeInitiationRequest() = 
        interface IPost
        ///<summary>
        ///Transferee initiation info needed for creation.
        ///</summary>
        [<ApiMember(Description="Transferee initiation info needed for creation.", IsRequired=true, ParameterType="body")>]
        member val InitiationInfo:TransfereeInitiation = null with get,set

F# TransfereeInitiationRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /Initiation/Transferee HTTP/1.1 
Host: initiation-api.sirva.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	initiationInfo: 
	{
		clientId: String,
		externalId: String,
		firstName: String,
		lastName: String,
		assignmentType: String,
		preDecision: False,
		vip: False,
		customFields: 
		[
			{
				fieldName: String,
				fieldValue: String
			}
		],
		employeeId: String,
		startDate: 0001-01-01,
		endDate: 0001-01-01,
		originWorkLocation: 
		{
			title: String,
			city: String,
			stateCode: String,
			countryCode: String
		},
		originHomeAddress: 
		{
			line1: String,
			line2: String,
			line3: String,
			postalCode: String,
			title: String,
			city: String,
			stateCode: String,
			countryCode: String
		},
		destinationWorkLocation: 
		{
			title: String,
			city: String,
			stateCode: String,
			countryCode: String
		},
		repat: String,
		repatFromCity: String,
		repatFromStateCode: String,
		repatFromCountryCode: String,
		repatToCity: String,
		repatToStateCode: String,
		repatToCountryCode: String,
		citizenshipCountry: String,
		dualCitizenshipCountry: String,
		policy: String,
		jobTitle: String,
		maritalStatus: Single,
		payGrade: String,
		assignmentFamilySize: 0,
		homeOwnerStatus: Homeowner,
		lineOfBusiness: String,
		hostCurrency: String,
		serviceLevel: String,
		companyCodePrimary: String,
		companyCodeSecondary: String,
		costCenterPrimary: String,
		costCenterSecondary: String,
		costCenterTertiary: String,
		confidential: False,
		specialInstructions: String,
		destinationEntityLegalName: String,
		mobilePhoneNumber: String,
		workPhoneNumber: String,
		homePhoneNumber: String,
		primaryEmail: String,
		secondaryEmail: String,
		hrContactFirstName: String,
		hrContactLastName: String,
		hrContactFullName: String,
		annualSalary: String,
		spousePartner: 
		{
			firstName: String,
			lastName: String,
			birthDate: 0001-01-01
		},
		dependents: 
		[
			{
				firstName: String,
				lastName: String,
				birthDate: 0001-01-01,
				relationshipToAssignee: Child
			}
		],
		services: 
		[
			{
				name: String,
				data: 
				[
					{
						fieldName: String,
						fieldValue: String
					}
				],
				cancel: String
			}
		],
		relocationStatus: String,
		cancel: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}