POST | /Initiation/Transferee | Initiates 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
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 } } }