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