Client_Initiations

<back to all web services

ConsumerInitiation

Consumer Initiation Service

Requires Authentication
The following routes are available for this service:
POST/consumerinitiation
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Client_Initiations.ServiceModel;
using Client_Initiations.ServiceModel.Types;

namespace Client_Initiations.ServiceModel
{
    public enum AddressType
    {
        CurrentHome,
        DestinationHome,
        CurrentWork,
        DestinationWork,
    }

    public partial class AssignmentLocationDetails
    {
        ///<summary>
        ///Work city
        ///</summary>
        [ApiMember(Description="Work city", IsRequired=true)]
        public virtual string WorkCity { get; set; }

        ///<summary>
        ///Current work location state
        ///</summary>
        [ApiMember(Description="Current work location state")]
        public virtual string CurrentWorkState { get; set; }

        ///<summary>
        ///Work state or province
        ///</summary>
        [ApiMember(Description="Work state or province")]
        public virtual string WorkState { get; set; }

        ///<summary>
        ///Destination work location state
        ///</summary>
        [ApiMember(Description="Destination work location state")]
        public virtual string DestinationWorkState { get; set; }

        ///<summary>
        ///Work country
        ///</summary>
        [ApiMember(Description="Work country", IsRequired=true)]
        public virtual string WorkCountry { get; set; }

        ///<summary>
        ///Preferred work location state
        ///</summary>
        [ApiMember(Description="Preferred work location state")]
        public virtual string PreferredWorkState { get; set; }

        ///<summary>
        ///Preferred work location country
        ///</summary>
        [ApiMember(Description="Preferred work location country")]
        public virtual string PreferredWorkCountry { get; set; }
    }

    ///<summary>
    ///Consumer Initiation Service
    ///</summary>
    [Api(Description="Consumer Initiation Service")]
    [ApiResponse(Description="Returned when the consumer initiation was successfully processed", StatusCode=200)]
    [ApiResponse(Description="Returned if the request validation failed", StatusCode=400)]
    [ApiResponse(Description="Returned if the client is not authorized", StatusCode=401)]
    [ApiResponse(Description="Returned if an error occurred while processing the request", StatusCode=500)]
    public partial class ConsumerInitiation
        : IPost
    {
        ///<summary>
        ///Client identifier
        ///</summary>
        [ApiMember(Description="Client identifier", IsRequired=true)]
        public virtual string ClientID { get; set; }

        ///<summary>
        ///Consumer relocation request file details
        ///</summary>
        [ApiMember(Description="Consumer relocation request file details", IsRequired=true)]
        public virtual RelocationsRequestFile File { get; set; }
    }

    public partial class ConsumerInitiationResponse
    {
        public ConsumerInitiationResponse()
        {
            Errors = new List<ValidateError>{};
        }

        ///<summary>
        ///Response message
        ///</summary>
        [ApiMember(Description="Response message")]
        public virtual string Message { get; set; }

        ///<summary>
        ///File identifier for the created initiation
        ///</summary>
        [ApiMember(Description="File identifier for the created initiation")]
        public virtual string FileId { get; set; }

        ///<summary>
        ///List of validation errors, if any
        ///</summary>
        [ApiMember(Description="List of validation errors, if any")]
        public virtual List<ValidateError> Errors { get; set; }
    }

    public partial class RelocationsRequestFile
    {
        public RelocationsRequestFile()
        {
            Addresses = new RelocationsRequestFileAddress[]{};
            Phones = new RelocationsRequestFilePhone[]{};
        }

        ///<summary>
        ///Command type for the request (INITIATE)
        ///</summary>
        [ApiMember(Description="Command type for the request (INITIATE)", IsRequired=true)]
        public virtual string Command { get; set; }

        ///<summary>
        ///External identifier for the transferee
        ///</summary>
        [ApiMember(Description="External identifier for the transferee", IsRequired=true)]
        public virtual string ExternalID { get; set; }

        ///<summary>
        ///Details about the transferee
        ///</summary>
        [ApiMember(Description="Details about the transferee", IsRequired=true)]
        public virtual RelocationsRequestFileTransfereeDetails TransfereeDetails { get; set; }

        ///<summary>
        ///List of addresses associated with the transferee
        ///</summary>
        [ApiMember(Description="List of addresses associated with the transferee", IsRequired=true)]
        public virtual RelocationsRequestFileAddress[] Addresses { get; set; }

        ///<summary>
        ///List of phone numbers associated with the transferee
        ///</summary>
        [ApiMember(Description="List of phone numbers associated with the transferee", IsRequired=true)]
        public virtual RelocationsRequestFilePhone[] Phones { get; set; }

        ///<summary>
        ///Assignment details for the relocation
        ///</summary>
        [ApiMember(Description="Assignment details for the relocation", IsRequired=true)]
        public virtual RelocationsRequestFileAssignmentDetails AssignmentDetails { get; set; }
    }

    public partial class RelocationsRequestFileAddress
    {
        ///<summary>
        ///Type of address (CurrentHome, DestinationHome, CurrentWork, DestinationWork)
        ///</summary>
        [ApiMember(Description="Type of address (CurrentHome, DestinationHome, CurrentWork, DestinationWork)", IsRequired=true)]
        public virtual AddressType AddressType { get; set; }

        ///<summary>
        ///Indicates if this is the primary address
        ///</summary>
        [ApiMember(Description="Indicates if this is the primary address", IsRequired=true)]
        public virtual YesNo Primary { get; set; }

        ///<summary>
        ///Address line 1
        ///</summary>
        [ApiMember(Description="Address line 1", IsRequired=true)]
        public virtual string AddressLine1 { get; set; }

        ///<summary>
        ///City
        ///</summary>
        [ApiMember(Description="City", IsRequired=true)]
        public virtual string City { get; set; }

        ///<summary>
        ///Country
        ///</summary>
        [ApiMember(Description="Country", IsRequired=true)]
        public virtual string Country { get; set; }
    }

    public partial class RelocationsRequestFileAssignmentDetails
    {
        ///<summary>
        ///Program name or code
        ///</summary>
        [ApiMember(Description="Program name or code", IsRequired=true)]
        public virtual string Program { get; set; }

        ///<summary>
        ///Type of assignment
        ///</summary>
        [ApiMember(Description="Type of assignment", IsRequired=true)]
        public virtual string AssignmentType { get; set; }

        ///<summary>
        ///Assignment start date
        ///</summary>
        [ApiMember(Description="Assignment start date", IsRequired=true)]
        public virtual DateTime? StartDate { get; set; }

        ///<summary>
        ///Company name
        ///</summary>
        [ApiMember(Description="Company name", IsRequired=true)]
        public virtual string CompanyName { get; set; }

        ///<summary>
        ///Contact
        ///</summary>
        [ApiMember(Description="Contact", IsRequired=true)]
        public virtual string Contact { get; set; }

        ///<summary>
        ///Current assignment location details
        ///</summary>
        [ApiMember(Description="Current assignment location details", IsRequired=true)]
        public virtual AssignmentLocationDetails Current { get; set; }

        ///<summary>
        ///Destination assignment location details
        ///</summary>
        [ApiMember(Description="Destination assignment location details", IsRequired=true)]
        public virtual AssignmentLocationDetails Destination { get; set; }
    }

    public partial class RelocationsRequestFilePhone
    {
        ///<summary>
        ///Phone type (e.g., Mobile, OriginHome)
        ///</summary>
        [ApiMember(Description="Phone type (e.g., Mobile, OriginHome)", IsRequired=true)]
        public virtual string Type { get; set; }

        ///<summary>
        ///Indicates if this is the primary phone number
        ///</summary>
        [ApiMember(Description="Indicates if this is the primary phone number", IsRequired=true)]
        public virtual YesNo Primary { get; set; }

        ///<summary>
        ///Phone number
        ///</summary>
        [ApiMember(Description="Phone number", IsRequired=true)]
        public virtual string Number { get; set; }
    }

    public partial class RelocationsRequestFileTransfereeDetails
    {
        ///<summary>
        ///First name of the transferee
        ///</summary>
        [ApiMember(Description="First name of the transferee", IsRequired=true)]
        public virtual string FirstName { get; set; }

        ///<summary>
        ///Last name of the transferee
        ///</summary>
        [ApiMember(Description="Last name of the transferee", IsRequired=true)]
        public virtual string LastName { get; set; }

        ///<summary>
        ///Preferred email address
        ///</summary>
        [ApiMember(Description="Preferred email address", IsRequired=true)]
        public virtual string PreferredEmail { get; set; }
    }

    public enum YesNo
    {
        Y,
        N,
        Item,
    }

}

namespace Client_Initiations.ServiceModel.Types
{
    public partial class ValidateError
    {
        public virtual string ErrorNumber { get; set; }
        public virtual string ErrorDescription { get; set; }
    }

}

C# ConsumerInitiation DTOs

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

HTTP + XML

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

POST /consumerinitiation HTTP/1.1 
Host: initiation-pen.sirva.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ConsumerInitiation xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Client_Initiations.ServiceModel">
  <ClientID>String</ClientID>
  <File>
    <Addresses>
      <RelocationsRequestFileAddress>
        <AddressLine1>String</AddressLine1>
        <AddressType>CurrentHome</AddressType>
        <City>String</City>
        <Country>String</Country>
        <Primary>Y</Primary>
      </RelocationsRequestFileAddress>
    </Addresses>
    <AssignmentDetails>
      <AssignmentType>String</AssignmentType>
      <CompanyName>String</CompanyName>
      <Contact>String</Contact>
      <Current>
        <CurrentWorkState>String</CurrentWorkState>
        <DestinationWorkState>String</DestinationWorkState>
        <PreferredWorkCountry>String</PreferredWorkCountry>
        <PreferredWorkState>String</PreferredWorkState>
        <WorkCity>String</WorkCity>
        <WorkCountry>String</WorkCountry>
        <WorkState>String</WorkState>
      </Current>
      <Destination>
        <CurrentWorkState>String</CurrentWorkState>
        <DestinationWorkState>String</DestinationWorkState>
        <PreferredWorkCountry>String</PreferredWorkCountry>
        <PreferredWorkState>String</PreferredWorkState>
        <WorkCity>String</WorkCity>
        <WorkCountry>String</WorkCountry>
        <WorkState>String</WorkState>
      </Destination>
      <Program>String</Program>
      <StartDate>0001-01-01T00:00:00</StartDate>
    </AssignmentDetails>
    <Command>String</Command>
    <ExternalID>String</ExternalID>
    <Phones>
      <RelocationsRequestFilePhone>
        <Number>String</Number>
        <Primary>Y</Primary>
        <Type>String</Type>
      </RelocationsRequestFilePhone>
    </Phones>
    <TransfereeDetails>
      <FirstName>String</FirstName>
      <LastName>String</LastName>
      <PreferredEmail>String</PreferredEmail>
    </TransfereeDetails>
  </File>
</ConsumerInitiation>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ConsumerInitiationResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Client_Initiations.ServiceModel">
  <Errors xmlns:d2p1="http://schemas.datacontract.org/2004/07/Client_Initiations.ServiceModel.Types">
    <d2p1:ValidateError>
      <d2p1:ErrorDescription>String</d2p1:ErrorDescription>
      <d2p1:ErrorNumber>String</d2p1:ErrorNumber>
    </d2p1:ValidateError>
  </Errors>
  <FileId>String</FileId>
  <Message>String</Message>
</ConsumerInitiationResponse>