/* Options: Date: 2026-08-14 05:57:24 Version: 8.30 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://initiation-pen.sirva.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ConsumerInitiation.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface IPost { } export class RelocationsRequestFileTransfereeDetails { /** @description First name of the transferee */ // @ApiMember(Description="First name of the transferee", IsRequired=true) public FirstName: string; /** @description Last name of the transferee */ // @ApiMember(Description="Last name of the transferee", IsRequired=true) public LastName: string; /** @description Preferred email address */ // @ApiMember(Description="Preferred email address", IsRequired=true) public PreferredEmail: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AssignmentLocationDetails { /** @description Work city */ // @ApiMember(Description="Work city", IsRequired=true) public WorkCity: string; /** @description Current work location state */ // @ApiMember(Description="Current work location state") public CurrentWorkState: string; /** @description Work state or province */ // @ApiMember(Description="Work state or province") public WorkState: string; /** @description Destination work location state */ // @ApiMember(Description="Destination work location state") public DestinationWorkState: string; /** @description Work country */ // @ApiMember(Description="Work country", IsRequired=true) public WorkCountry: string; /** @description Preferred work location state */ // @ApiMember(Description="Preferred work location state") public PreferredWorkState: string; /** @description Preferred work location country */ // @ApiMember(Description="Preferred work location country") public PreferredWorkCountry: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RelocationsRequestFileAssignmentDetails { /** @description Program name or code */ // @ApiMember(Description="Program name or code", IsRequired=true) public Program: string; /** @description Type of assignment */ // @ApiMember(Description="Type of assignment", IsRequired=true) public AssignmentType: string; /** @description Assignment start date */ // @ApiMember(Description="Assignment start date", IsRequired=true) public StartDate: string; /** @description Company name */ // @ApiMember(Description="Company name", IsRequired=true) public CompanyName: string; /** @description Contact */ // @ApiMember(Description="Contact", IsRequired=true) public Contact: string; /** @description Current assignment location details */ // @ApiMember(Description="Current assignment location details", IsRequired=true) public Current: AssignmentLocationDetails; /** @description Destination assignment location details */ // @ApiMember(Description="Destination assignment location details", IsRequired=true) public Destination: AssignmentLocationDetails; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RelocationsRequestFile { /** @description Command type for the request (INITIATE) */ // @ApiMember(Description="Command type for the request (INITIATE)", IsRequired=true) public Command: string; /** @description External identifier for the transferee */ // @ApiMember(Description="External identifier for the transferee", IsRequired=true) public ExternalID: string; /** @description Details about the transferee */ // @ApiMember(Description="Details about the transferee", IsRequired=true) public TransfereeDetails: RelocationsRequestFileTransfereeDetails; /** @description List of addresses associated with the transferee */ // @ApiMember(Description="List of addresses associated with the transferee", IsRequired=true) public Addresses: RelocationsRequestFileAddress[]; /** @description List of phone numbers associated with the transferee */ // @ApiMember(Description="List of phone numbers associated with the transferee", IsRequired=true) public Phones: RelocationsRequestFilePhone[]; /** @description Assignment details for the relocation */ // @ApiMember(Description="Assignment details for the relocation", IsRequired=true) public AssignmentDetails: RelocationsRequestFileAssignmentDetails; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ValidateError { public ErrorNumber: string; public ErrorDescription: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ConsumerInitiationResponse { /** @description Response message */ // @ApiMember(Description="Response message") public Message: string; /** @description File identifier for the created initiation */ // @ApiMember(Description="File identifier for the created initiation") public FileId: string; /** @description List of validation errors, if any */ // @ApiMember(Description="List of validation errors, if any") public Errors: ValidateError[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } /** @description Consumer Initiation Service */ // @Route("/consumerinitiation", "POST") // @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) export class ConsumerInitiation implements IReturn, IPost { /** @description Client identifier */ // @ApiMember(Description="Client identifier", IsRequired=true) public ClientID: string; /** @description Consumer relocation request file details */ // @ApiMember(Description="Consumer relocation request file details", IsRequired=true) public File: RelocationsRequestFile; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'ConsumerInitiation'; } public getMethod() { return 'POST'; } public createResponse() { return new ConsumerInitiationResponse(); } }