POST | /Initiation/Transferee | Initiates a transferee. |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
open class TransfereeInitiationRequest : IRequireClientScoped, IPost
{
/**
* Transferee initiation info needed for creation.
*/
@ApiMember(Description="Transferee initiation info needed for creation.", IsRequired=true, ParameterType="body")
var initiationInfo:TransfereeInitiation? = null
}
open class TransfereeInitiation
{
/**
* Client ID
*/
@ApiMember(Description="Client ID")
var clientId:String? = null
/**
* 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)
var externalId:String? = null
/**
* Transferee first name
*/
@ApiMember(Description="Transferee first name", IsRequired=true)
var firstName:String? = null
/**
* Transferee last name
*/
@ApiMember(Description="Transferee last name", IsRequired=true)
var lastName:String? = null
/**
* Assignment type
*/
@ApiMember(Description="Assignment type")
var assignmentType:String? = null
/**
* Is this transferee pre-decision
*/
@ApiMember(Description="Is this transferee pre-decision")
var preDecision:Boolean? = null
/**
* Is this transferee a VIP
*/
@ApiMember(Description="Is this transferee a VIP")
var vip:Boolean? = null
/**
* Custom fields
*/
@ApiMember(Description="Custom fields")
var customFields:ArrayList<CustomField> = ArrayList<CustomField>()
/**
* Employee ID
*/
@ApiMember(Description="Employee ID")
var employeeId:String? = null
/**
* Start date
*/
@ApiMember(Description="Start date")
var startDate:Date? = null
/**
* End date
*/
@ApiMember(Description="End date")
var endDate:Date? = null
/**
* Origin work location
*/
@ApiMember(Description="Origin work location", IsRequired=true)
var originWorkLocation:Location? = null
/**
* Origin home address
*/
@ApiMember(Description="Origin home address", IsRequired=true)
var originHomeAddress:Address? = null
/**
* Destination work location
*/
@ApiMember(Description="Destination work location", IsRequired=true)
var destinationWorkLocation:Location? = null
/**
* Repat
*/
@ApiMember(Description="Repat")
var repat:String? = null
/**
* Repat From City
*/
@ApiMember(Description="Repat From City")
var repatFromCity:String? = null
/**
* Repat From State code
*/
@ApiMember(Description="Repat From State code")
var repatFromStateCode:String? = null
/**
* Repat From Country Code
*/
@ApiMember(Description="Repat From Country Code")
var repatFromCountryCode:String? = null
/**
* Repat To City
*/
@ApiMember(Description="Repat To City")
var repatToCity:String? = null
/**
* Repat To State Code
*/
@ApiMember(Description="Repat To State Code")
var repatToStateCode:String? = null
/**
* Repat To Country Code
*/
@ApiMember(Description="Repat To Country Code")
var repatToCountryCode:String? = null
/**
* Transferee citizenship country
*/
@ApiMember(Description="Transferee citizenship country")
var citizenshipCountry:String? = null
/**
* Transferee dual citizenship country
*/
@ApiMember(Description="Transferee dual citizenship country")
var dualCitizenshipCountry:String? = null
/**
* Policy
*/
@ApiMember(Description="Policy", IsRequired=true)
var policy:String? = null
/**
* Job title
*/
@ApiMember(Description="Job title")
var jobTitle:String? = null
/**
* Marital status
*/
@ApiMember(Description="Marital status", Name="MaritalStatus")
var maritalStatus:MaritalStatus? = null
/**
* Pay grade
*/
@ApiMember(Description="Pay grade")
var payGrade:String? = null
/**
* Assignment family size
*/
@ApiMember(Description="Assignment family size")
var assignmentFamilySize:Int? = null
/**
* Home owner status
*/
@ApiMember(Description="Home owner status", Name="HomeOwnerStatus")
var homeOwnerStatus:HomeOwnerStatus? = null
/**
* Line of business
*/
@ApiMember(Description="Line of business", IsRequired=true)
var lineOfBusiness:String? = null
/**
* HostCurrency
*/
@ApiMember(Description="HostCurrency")
var hostCurrency:String? = null
/**
* ServiceLevel
*/
@ApiMember(Description="ServiceLevel")
var serviceLevel:String? = null
/**
* CompanyCodePrimary
*/
@ApiMember(Description="CompanyCodePrimary")
var companyCodePrimary:String? = null
/**
* CompanyCodeSecondary
*/
@ApiMember(Description="CompanyCodeSecondary")
var companyCodeSecondary:String? = null
/**
* CostCenterPrimary
*/
@ApiMember(Description="CostCenterPrimary")
var costCenterPrimary:String? = null
/**
* CostCenterSecondary
*/
@ApiMember(Description="CostCenterSecondary")
var costCenterSecondary:String? = null
/**
* CostCenterTertiary
*/
@ApiMember(Description="CostCenterTertiary")
var costCenterTertiary:String? = null
/**
* Is the assignment confidential
*/
@ApiMember(Description="Is the assignment confidential")
var confidential:Boolean? = null
/**
* Special Instructions
*/
@ApiMember(Description="Special Instructions")
var specialInstructions:String? = null
/**
* Destination entity legal name
*/
@ApiMember(Description="Destination entity legal name")
var destinationEntityLegalName:String? = null
/**
* Transferee mobile phone number
*/
@ApiMember(Description="Transferee mobile phone number", IsRequired=true)
var mobilePhoneNumber:String? = null
/**
* Transferee work phone number
*/
@ApiMember(Description="Transferee work phone number")
var workPhoneNumber:String? = null
/**
* Transferee home phone number
*/
@ApiMember(Description="Transferee home phone number")
var homePhoneNumber:String? = null
/**
* Transferee primary email
*/
@ApiMember(Description="Transferee primary email", IsRequired=true)
var primaryEmail:String? = null
/**
* Transferee secondary email
*/
@ApiMember(Description="Transferee secondary email")
var secondaryEmail:String? = null
/**
* HR Contact First Name
*/
@ApiMember(Description="HR Contact First Name")
var hrContactFirstName:String? = null
/**
* HR Contact Last Name
*/
@ApiMember(Description="HR Contact Last Name")
var hrContactLastName:String? = null
/**
* HR contact full name
*/
@ApiMember(Description="HR contact full name")
var hrContactFullName:String? = null
/**
* Transferee annual salary
*/
@ApiMember(Description="Transferee annual salary")
var annualSalary:String? = null
/**
* Transferee spouse/partner
*/
@ApiMember(Description="Transferee spouse/partner")
var spousePartner:SpousePartner? = null
/**
* Transferee dependents
*/
@ApiMember(Description="Transferee dependents")
var dependents:ArrayList<Dependent> = ArrayList<Dependent>()
/**
* Assignment Services
*/
@ApiMember(Description="Assignment Services")
var services:ArrayList<Service> = ArrayList<Service>()
/**
* Relocation Status
*/
@ApiMember(Description="Relocation Status")
var relocationStatus:String? = null
/**
* Cancel
*/
@ApiMember(Description="Cancel")
var cancel:String? = null
}
open class CustomField
{
/**
* Custom field name
*/
@ApiMember(Description="Custom field name", IsRequired=true)
var fieldName:String? = null
/**
* Custom field value
*/
@ApiMember(Description="Custom field value")
var fieldValue:String? = null
}
open class Location
{
var title:String? = null
var city:String? = null
var stateCode:String? = null
var countryCode:String? = null
}
open class Address : Location()
{
var line1:String? = null
var line2:String? = null
var line3:String? = null
var postalCode:String? = null
}
enum class MaritalStatus
{
Single,
Married,
DomesticPartner,
Divorcee,
Defacto,
Other,
Separated,
Interdependent,
Widowed,
Divorced,
}
enum class HomeOwnerStatus
{
Homeowner,
Renter,
}
open class SpousePartner
{
var firstName:String? = null
var lastName:String? = null
var birthDate:Date? = null
}
open class Dependent
{
var firstName:String? = null
var lastName:String? = null
var birthDate:Date? = null
@ApiMember(IsRequired=true, Name="RelationshipToAssignee")
var relationshipToAssignee:DependentAssigneeRelationship? = null
}
enum class DependentAssigneeRelationship
{
Child,
Other,
}
open class Service
{
/**
* Service name
*/
@ApiMember(Description="Service name", IsRequired=true)
var name:String? = null
/**
* Service data
*/
@ApiMember(Description="Service data")
@SerializedName("data") var Data:ArrayList<ServiceData> = ArrayList<ServiceData>()
/**
* Cancel
*/
@ApiMember(Description="Cancel")
var cancel:String? = null
}
open class ServiceData
{
/**
* Service data field name
*/
@ApiMember(Description="Service data field name", IsRequired=true)
var fieldName:String? = null
/**
* Service data field value
*/
@ApiMember(Description="Service data field value", IsRequired=true)
var fieldValue:String? = null
}
open class TransfereeInitiationResponse
{
var responseStatus:ResponseStatus? = null
}
Kotlin 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-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 } } }