/* Options: Date: 2026-08-14 05:55:36 Version: 8.30 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://initiation-pen.sirva.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ConsumerInitiation.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class RelocationsRequestFileTransfereeDetails implements IConvertible { /** * First name of the transferee */ // @ApiMember(Description="First name of the transferee", IsRequired=true) String? FirstName; /** * Last name of the transferee */ // @ApiMember(Description="Last name of the transferee", IsRequired=true) String? LastName; /** * Preferred email address */ // @ApiMember(Description="Preferred email address", IsRequired=true) String? PreferredEmail; RelocationsRequestFileTransfereeDetails({this.FirstName,this.LastName,this.PreferredEmail}); RelocationsRequestFileTransfereeDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { FirstName = json['FirstName']; LastName = json['LastName']; PreferredEmail = json['PreferredEmail']; return this; } Map toJson() => { 'FirstName': FirstName, 'LastName': LastName, 'PreferredEmail': PreferredEmail }; getTypeName() => "RelocationsRequestFileTransfereeDetails"; TypeContext? context = _ctx; } class AssignmentLocationDetails implements IConvertible { /** * Work city */ // @ApiMember(Description="Work city", IsRequired=true) String? WorkCity; /** * Current work location state */ // @ApiMember(Description="Current work location state") String? CurrentWorkState; /** * Work state or province */ // @ApiMember(Description="Work state or province") String? WorkState; /** * Destination work location state */ // @ApiMember(Description="Destination work location state") String? DestinationWorkState; /** * Work country */ // @ApiMember(Description="Work country", IsRequired=true) String? WorkCountry; /** * Preferred work location state */ // @ApiMember(Description="Preferred work location state") String? PreferredWorkState; /** * Preferred work location country */ // @ApiMember(Description="Preferred work location country") String? PreferredWorkCountry; AssignmentLocationDetails({this.WorkCity,this.CurrentWorkState,this.WorkState,this.DestinationWorkState,this.WorkCountry,this.PreferredWorkState,this.PreferredWorkCountry}); AssignmentLocationDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { WorkCity = json['WorkCity']; CurrentWorkState = json['CurrentWorkState']; WorkState = json['WorkState']; DestinationWorkState = json['DestinationWorkState']; WorkCountry = json['WorkCountry']; PreferredWorkState = json['PreferredWorkState']; PreferredWorkCountry = json['PreferredWorkCountry']; return this; } Map toJson() => { 'WorkCity': WorkCity, 'CurrentWorkState': CurrentWorkState, 'WorkState': WorkState, 'DestinationWorkState': DestinationWorkState, 'WorkCountry': WorkCountry, 'PreferredWorkState': PreferredWorkState, 'PreferredWorkCountry': PreferredWorkCountry }; getTypeName() => "AssignmentLocationDetails"; TypeContext? context = _ctx; } class RelocationsRequestFileAssignmentDetails implements IConvertible { /** * Program name or code */ // @ApiMember(Description="Program name or code", IsRequired=true) String? Program; /** * Type of assignment */ // @ApiMember(Description="Type of assignment", IsRequired=true) String? AssignmentType; /** * Assignment start date */ // @ApiMember(Description="Assignment start date", IsRequired=true) DateTime? StartDate; /** * Company name */ // @ApiMember(Description="Company name", IsRequired=true) String? CompanyName; /** * Contact */ // @ApiMember(Description="Contact", IsRequired=true) String? Contact; /** * Current assignment location details */ // @ApiMember(Description="Current assignment location details", IsRequired=true) AssignmentLocationDetails? Current; /** * Destination assignment location details */ // @ApiMember(Description="Destination assignment location details", IsRequired=true) AssignmentLocationDetails? Destination; RelocationsRequestFileAssignmentDetails({this.Program,this.AssignmentType,this.StartDate,this.CompanyName,this.Contact,this.Current,this.Destination}); RelocationsRequestFileAssignmentDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Program = json['Program']; AssignmentType = json['AssignmentType']; StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!); CompanyName = json['CompanyName']; Contact = json['Contact']; Current = JsonConverters.fromJson(json['Current'],'AssignmentLocationDetails',context!); Destination = JsonConverters.fromJson(json['Destination'],'AssignmentLocationDetails',context!); return this; } Map toJson() => { 'Program': Program, 'AssignmentType': AssignmentType, 'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!), 'CompanyName': CompanyName, 'Contact': Contact, 'Current': JsonConverters.toJson(Current,'AssignmentLocationDetails',context!), 'Destination': JsonConverters.toJson(Destination,'AssignmentLocationDetails',context!) }; getTypeName() => "RelocationsRequestFileAssignmentDetails"; TypeContext? context = _ctx; } class RelocationsRequestFile implements IConvertible { /** * Command type for the request (INITIATE) */ // @ApiMember(Description="Command type for the request (INITIATE)", IsRequired=true) String? Command; /** * External identifier for the transferee */ // @ApiMember(Description="External identifier for the transferee", IsRequired=true) String? ExternalID; /** * Details about the transferee */ // @ApiMember(Description="Details about the transferee", IsRequired=true) RelocationsRequestFileTransfereeDetails? TransfereeDetails; /** * List of addresses associated with the transferee */ // @ApiMember(Description="List of addresses associated with the transferee", IsRequired=true) List? Addresses; /** * List of phone numbers associated with the transferee */ // @ApiMember(Description="List of phone numbers associated with the transferee", IsRequired=true) List? Phones; /** * Assignment details for the relocation */ // @ApiMember(Description="Assignment details for the relocation", IsRequired=true) RelocationsRequestFileAssignmentDetails? AssignmentDetails; RelocationsRequestFile({this.Command,this.ExternalID,this.TransfereeDetails,this.Addresses,this.Phones,this.AssignmentDetails}); RelocationsRequestFile.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Command = json['Command']; ExternalID = json['ExternalID']; TransfereeDetails = JsonConverters.fromJson(json['TransfereeDetails'],'RelocationsRequestFileTransfereeDetails',context!); Addresses = JsonConverters.fromJson(json['Addresses'],'List',context!); Phones = JsonConverters.fromJson(json['Phones'],'List',context!); AssignmentDetails = JsonConverters.fromJson(json['AssignmentDetails'],'RelocationsRequestFileAssignmentDetails',context!); return this; } Map toJson() => { 'Command': Command, 'ExternalID': ExternalID, 'TransfereeDetails': JsonConverters.toJson(TransfereeDetails,'RelocationsRequestFileTransfereeDetails',context!), 'Addresses': JsonConverters.toJson(Addresses,'List',context!), 'Phones': JsonConverters.toJson(Phones,'List',context!), 'AssignmentDetails': JsonConverters.toJson(AssignmentDetails,'RelocationsRequestFileAssignmentDetails',context!) }; getTypeName() => "RelocationsRequestFile"; TypeContext? context = _ctx; } class ValidateError implements IConvertible { String? ErrorNumber; String? ErrorDescription; ValidateError({this.ErrorNumber,this.ErrorDescription}); ValidateError.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ErrorNumber = json['ErrorNumber']; ErrorDescription = json['ErrorDescription']; return this; } Map toJson() => { 'ErrorNumber': ErrorNumber, 'ErrorDescription': ErrorDescription }; getTypeName() => "ValidateError"; TypeContext? context = _ctx; } class ConsumerInitiationResponse implements IConvertible { /** * Response message */ // @ApiMember(Description="Response message") String? Message; /** * File identifier for the created initiation */ // @ApiMember(Description="File identifier for the created initiation") String? FileId; /** * List of validation errors, if any */ // @ApiMember(Description="List of validation errors, if any") List? Errors; ConsumerInitiationResponse({this.Message,this.FileId,this.Errors}); ConsumerInitiationResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Message = json['Message']; FileId = json['FileId']; Errors = JsonConverters.fromJson(json['Errors'],'List',context!); return this; } Map toJson() => { 'Message': Message, 'FileId': FileId, 'Errors': JsonConverters.toJson(Errors,'List',context!) }; getTypeName() => "ConsumerInitiationResponse"; TypeContext? context = _ctx; } /** * 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) class ConsumerInitiation implements IReturn, IPost, IConvertible { /** * Client identifier */ // @ApiMember(Description="Client identifier", IsRequired=true) String? ClientID; /** * Consumer relocation request file details */ // @ApiMember(Description="Consumer relocation request file details", IsRequired=true) RelocationsRequestFile? File; ConsumerInitiation({this.ClientID,this.File}); ConsumerInitiation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ClientID = json['ClientID']; File = JsonConverters.fromJson(json['File'],'RelocationsRequestFile',context!); return this; } Map toJson() => { 'ClientID': ClientID, 'File': JsonConverters.toJson(File,'RelocationsRequestFile',context!) }; createResponse() => ConsumerInitiationResponse(); getResponseTypeName() => "ConsumerInitiationResponse"; getTypeName() => "ConsumerInitiation"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'initiation_pen.sirva.com', types: { 'RelocationsRequestFileTransfereeDetails': TypeInfo(TypeOf.Class, create:() => RelocationsRequestFileTransfereeDetails()), 'AssignmentLocationDetails': TypeInfo(TypeOf.Class, create:() => AssignmentLocationDetails()), 'RelocationsRequestFileAssignmentDetails': TypeInfo(TypeOf.Class, create:() => RelocationsRequestFileAssignmentDetails()), 'RelocationsRequestFile': TypeInfo(TypeOf.Class, create:() => RelocationsRequestFile()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'RelocationsRequestFileAddress': TypeInfo(TypeOf.Class, create:() => RelocationsRequestFileAddress()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'RelocationsRequestFilePhone': TypeInfo(TypeOf.Class, create:() => RelocationsRequestFilePhone()), 'ValidateError': TypeInfo(TypeOf.Class, create:() => ValidateError()), 'ConsumerInitiationResponse': TypeInfo(TypeOf.Class, create:() => ConsumerInitiationResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ConsumerInitiation': TypeInfo(TypeOf.Class, create:() => ConsumerInitiation()), });