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.
"use strict";
export class TransfereeInitiationResponse {
    /** @param {{responseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ResponseStatus} */
    responseStatus;
}
export class CustomField {
    /** @param {{fieldName?:string,fieldValue?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Custom field name */
    fieldName;
    /**
     * @type {string}
     * @description Custom field value */
    fieldValue;
}
export class Location {
    /** @param {{title?:string,city?:string,stateCode?:string,countryCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    title;
    /** @type {string} */
    city;
    /** @type {string} */
    stateCode;
    /** @type {string} */
    countryCode;
}
export class Address extends Location {
    /** @param {{line1?:string,line2?:string,line3?:string,postalCode?:string,title?:string,city?:string,stateCode?:string,countryCode?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    line1;
    /** @type {string} */
    line2;
    /** @type {string} */
    line3;
    /** @type {string} */
    postalCode;
}
/** @typedef {'Single'|'Married'|'DomesticPartner'|'Divorcee'|'Defacto'|'Other'|'Separated'|'Interdependent'|'Widowed'|'Divorced'} */
export var MaritalStatus;
(function (MaritalStatus) {
    MaritalStatus["Single"] = "Single"
    MaritalStatus["Married"] = "Married"
    MaritalStatus["DomesticPartner"] = "DomesticPartner"
    MaritalStatus["Divorcee"] = "Divorcee"
    MaritalStatus["Defacto"] = "Defacto"
    MaritalStatus["Other"] = "Other"
    MaritalStatus["Separated"] = "Separated"
    MaritalStatus["Interdependent"] = "Interdependent"
    MaritalStatus["Widowed"] = "Widowed"
    MaritalStatus["Divorced"] = "Divorced"
})(MaritalStatus || (MaritalStatus = {}));
/** @typedef {'Homeowner'|'Renter'} */
export var HomeOwnerStatus;
(function (HomeOwnerStatus) {
    HomeOwnerStatus["Homeowner"] = "Homeowner"
    HomeOwnerStatus["Renter"] = "Renter"
})(HomeOwnerStatus || (HomeOwnerStatus = {}));
export class SpousePartner {
    /** @param {{firstName?:string,lastName?:string,birthDate?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    firstName;
    /** @type {string} */
    lastName;
    /** @type {?string} */
    birthDate;
}
/** @typedef {'Child'|'Other'} */
export var DependentAssigneeRelationship;
(function (DependentAssigneeRelationship) {
    DependentAssigneeRelationship["Child"] = "Child"
    DependentAssigneeRelationship["Other"] = "Other"
})(DependentAssigneeRelationship || (DependentAssigneeRelationship = {}));
export class Dependent {
    /** @param {{firstName?:string,lastName?:string,birthDate?:string,relationshipToAssignee?:DependentAssigneeRelationship}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    firstName;
    /** @type {string} */
    lastName;
    /** @type {?string} */
    birthDate;
    /** @type {DependentAssigneeRelationship} */
    relationshipToAssignee;
}
export class ServiceData {
    /** @param {{fieldName?:string,fieldValue?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Service data field name */
    fieldName;
    /**
     * @type {string}
     * @description Service data field value */
    fieldValue;
}
export class Service {
    /** @param {{name?:string,data?:ServiceData[],cancel?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Service name */
    name;
    /**
     * @type {ServiceData[]}
     * @description Service data */
    data;
    /**
     * @type {string}
     * @description Cancel */
    cancel;
}
export class TransfereeInitiation {
    /** @param {{clientId?:string,externalId?:string,firstName?:string,lastName?:string,assignmentType?:string,preDecision?:boolean,vip?:boolean,customFields?:CustomField[],employeeId?:string,startDate?:string,endDate?:string,originWorkLocation?:Location,originHomeAddress?:Address,destinationWorkLocation?:Location,repat?:string,repatFromCity?:string,repatFromStateCode?:string,repatFromCountryCode?:string,repatToCity?:string,repatToStateCode?:string,repatToCountryCode?:string,citizenshipCountry?:string,dualCitizenshipCountry?:string,policy?:string,jobTitle?:string,maritalStatus?:MaritalStatus,payGrade?:string,assignmentFamilySize?:number,homeOwnerStatus?:HomeOwnerStatus,lineOfBusiness?:string,hostCurrency?:string,serviceLevel?:string,companyCodePrimary?:string,companyCodeSecondary?:string,costCenterPrimary?:string,costCenterSecondary?:string,costCenterTertiary?:string,confidential?:boolean,specialInstructions?:string,destinationEntityLegalName?:string,mobilePhoneNumber?:string,workPhoneNumber?:string,homePhoneNumber?:string,primaryEmail?:string,secondaryEmail?:string,hrContactFirstName?:string,hrContactLastName?:string,hrContactFullName?:string,annualSalary?:string,spousePartner?:SpousePartner,dependents?:Dependent[],services?:Service[],relocationStatus?:string,cancel?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Client ID */
    clientId;
    /**
     * @type {string}
     * @description External ID. This must be unique to the intiation's parent client */
    externalId;
    /**
     * @type {string}
     * @description Transferee first name */
    firstName;
    /**
     * @type {string}
     * @description Transferee last name */
    lastName;
    /**
     * @type {string}
     * @description Assignment type */
    assignmentType;
    /**
     * @type {?boolean}
     * @description Is this transferee pre-decision */
    preDecision;
    /**
     * @type {?boolean}
     * @description Is this transferee a VIP */
    vip;
    /**
     * @type {CustomField[]}
     * @description Custom fields */
    customFields;
    /**
     * @type {string}
     * @description Employee ID */
    employeeId;
    /**
     * @type {?string}
     * @description Start date */
    startDate;
    /**
     * @type {?string}
     * @description End date */
    endDate;
    /**
     * @type {Location}
     * @description Origin work location */
    originWorkLocation;
    /**
     * @type {Address}
     * @description Origin home address */
    originHomeAddress;
    /**
     * @type {Location}
     * @description Destination work location */
    destinationWorkLocation;
    /**
     * @type {string}
     * @description Repat */
    repat;
    /**
     * @type {string}
     * @description Repat From City */
    repatFromCity;
    /**
     * @type {string}
     * @description Repat From State code */
    repatFromStateCode;
    /**
     * @type {string}
     * @description Repat From Country Code */
    repatFromCountryCode;
    /**
     * @type {string}
     * @description Repat To City */
    repatToCity;
    /**
     * @type {string}
     * @description Repat To State Code */
    repatToStateCode;
    /**
     * @type {string}
     * @description Repat To Country Code */
    repatToCountryCode;
    /**
     * @type {string}
     * @description Transferee citizenship country */
    citizenshipCountry;
    /**
     * @type {string}
     * @description Transferee dual citizenship country */
    dualCitizenshipCountry;
    /**
     * @type {string}
     * @description Policy */
    policy;
    /**
     * @type {string}
     * @description Job title */
    jobTitle;
    /**
     * @type {?MaritalStatus}
     * @description Marital status */
    maritalStatus;
    /**
     * @type {string}
     * @description Pay grade */
    payGrade;
    /**
     * @type {?number}
     * @description Assignment family size */
    assignmentFamilySize;
    /**
     * @type {?HomeOwnerStatus}
     * @description Home owner status */
    homeOwnerStatus;
    /**
     * @type {string}
     * @description Line of business */
    lineOfBusiness;
    /**
     * @type {string}
     * @description HostCurrency */
    hostCurrency;
    /**
     * @type {string}
     * @description ServiceLevel */
    serviceLevel;
    /**
     * @type {string}
     * @description CompanyCodePrimary */
    companyCodePrimary;
    /**
     * @type {string}
     * @description CompanyCodeSecondary */
    companyCodeSecondary;
    /**
     * @type {string}
     * @description CostCenterPrimary */
    costCenterPrimary;
    /**
     * @type {string}
     * @description CostCenterSecondary */
    costCenterSecondary;
    /**
     * @type {string}
     * @description CostCenterTertiary */
    costCenterTertiary;
    /**
     * @type {?boolean}
     * @description Is the assignment confidential */
    confidential;
    /**
     * @type {string}
     * @description Special Instructions */
    specialInstructions;
    /**
     * @type {string}
     * @description Destination entity legal name */
    destinationEntityLegalName;
    /**
     * @type {string}
     * @description Transferee mobile phone number */
    mobilePhoneNumber;
    /**
     * @type {string}
     * @description Transferee work phone number */
    workPhoneNumber;
    /**
     * @type {string}
     * @description Transferee home phone number */
    homePhoneNumber;
    /**
     * @type {string}
     * @description Transferee primary email */
    primaryEmail;
    /**
     * @type {string}
     * @description Transferee secondary email */
    secondaryEmail;
    /**
     * @type {string}
     * @description HR Contact First Name */
    hrContactFirstName;
    /**
     * @type {string}
     * @description HR Contact Last Name */
    hrContactLastName;
    /**
     * @type {string}
     * @description HR contact full name */
    hrContactFullName;
    /**
     * @type {string}
     * @description Transferee annual salary */
    annualSalary;
    /**
     * @type {SpousePartner}
     * @description Transferee spouse/partner */
    spousePartner;
    /**
     * @type {Dependent[]}
     * @description Transferee dependents */
    dependents;
    /**
     * @type {Service[]}
     * @description Assignment Services */
    services;
    /**
     * @type {string}
     * @description Relocation Status */
    relocationStatus;
    /**
     * @type {string}
     * @description Cancel */
    cancel;
}
export class TransfereeInitiationRequest {
    /** @param {{initiationInfo?:TransfereeInitiation}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {TransfereeInitiation}
     * @description Transferee initiation info needed for creation. */
    initiationInfo;
}

JavaScript 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-test.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
		}
	}
}