""" Options: Date: 2024-09-19 22:58:00 Version: 8.30 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://initiation-api-test.sirva.com #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: TransfereeInitiationRequest.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CustomField: # @ApiMember(Description="Custom field name", IsRequired=true) field_name: Optional[str] = None """ Custom field name """ # @ApiMember(Description="Custom field value") field_value: Optional[str] = None """ Custom field value """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Location: title: Optional[str] = None city: Optional[str] = None state_code: Optional[str] = None country_code: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Address(Location): line1: Optional[str] = None line2: Optional[str] = None line3: Optional[str] = None postal_code: Optional[str] = None class MaritalStatus(str, Enum): SINGLE = 'Single' MARRIED = 'Married' DOMESTIC_PARTNER = 'DomesticPartner' DIVORCEE = 'Divorcee' DEFACTO = 'Defacto' OTHER = 'Other' SEPARATED = 'Separated' INTERDEPENDENT = 'Interdependent' WIDOWED = 'Widowed' DIVORCED = 'Divorced' class HomeOwnerStatus(str, Enum): HOMEOWNER = 'Homeowner' RENTER = 'Renter' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SpousePartner: first_name: Optional[str] = None last_name: Optional[str] = None birth_date: Optional[datetime.datetime] = None class DependentAssigneeRelationship(str, Enum): CHILD = 'Child' OTHER = 'Other' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Dependent: first_name: Optional[str] = None last_name: Optional[str] = None birth_date: Optional[datetime.datetime] = None # @ApiMember(IsRequired=true, Name="RelationshipToAssignee") relationship_to_assignee: Optional[DependentAssigneeRelationship] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class TransfereeInitiation: # @ApiMember(Description="Client ID") client_id: Optional[str] = None """ Client ID """ # @ApiMember(Description="External ID. This must be unique to the intiation's parent client", IsRequired=true) external_id: Optional[str] = None """ External ID. This must be unique to the intiation's parent client """ # @ApiMember(Description="Transferee first name", IsRequired=true) first_name: Optional[str] = None """ Transferee first name """ # @ApiMember(Description="Transferee last name", IsRequired=true) last_name: Optional[str] = None """ Transferee last name """ # @ApiMember(Description="Assignment type") assignment_type: Optional[str] = None """ Assignment type """ # @ApiMember(Description="Is this transferee pre-decision") pre_decision: Optional[bool] = None """ Is this transferee pre-decision """ # @ApiMember(Description="Is this transferee a VIP") vip: Optional[bool] = None """ Is this transferee a VIP """ # @ApiMember(Description="Custom fields") custom_fields: Optional[List[CustomField]] = None """ Custom fields """ # @ApiMember(Description="Employee ID") employee_id: Optional[str] = None """ Employee ID """ # @ApiMember(Description="Start date") start_date: Optional[datetime.datetime] = None """ Start date """ # @ApiMember(Description="End date") end_date: Optional[datetime.datetime] = None """ End date """ # @ApiMember(Description="Origin work location", IsRequired=true) origin_work_location: Optional[Location] = None """ Origin work location """ # @ApiMember(Description="Origin home address", IsRequired=true) origin_home_address: Optional[Address] = None """ Origin home address """ # @ApiMember(Description="Destination work location", IsRequired=true) destination_work_location: Optional[Location] = None """ Destination work location """ # @ApiMember(Description="Repat") repat: Optional[str] = None """ Repat """ # @ApiMember(Description="Repat From City") repat_from_city: Optional[str] = None """ Repat From City """ # @ApiMember(Description="Repat From State code") repat_from_state_code: Optional[str] = None """ Repat From State code """ # @ApiMember(Description="Repat From Country Code") repat_from_country_code: Optional[str] = None """ Repat From Country Code """ # @ApiMember(Description="Repat To City") repat_to_city: Optional[str] = None """ Repat To City """ # @ApiMember(Description="Repat To State Code") repat_to_state_code: Optional[str] = None """ Repat To State Code """ # @ApiMember(Description="Repat To Country Code") repat_to_country_code: Optional[str] = None """ Repat To Country Code """ # @ApiMember(Description="Transferee citizenship country") citizenship_country: Optional[str] = None """ Transferee citizenship country """ # @ApiMember(Description="Transferee dual citizenship country") dual_citizenship_country: Optional[str] = None """ Transferee dual citizenship country """ # @ApiMember(Description="Policy", IsRequired=true) policy: Optional[str] = None """ Policy """ # @ApiMember(Description="Job title") job_title: Optional[str] = None """ Job title """ # @ApiMember(Description="Marital status", Name="MaritalStatus") marital_status: Optional[MaritalStatus] = None """ Marital status """ # @ApiMember(Description="Pay grade") pay_grade: Optional[str] = None """ Pay grade """ # @ApiMember(Description="Assignment family size") assignment_family_size: Optional[int] = None """ Assignment family size """ # @ApiMember(Description="Home owner status", Name="HomeOwnerStatus") home_owner_status: Optional[HomeOwnerStatus] = None """ Home owner status """ # @ApiMember(Description="Line of business", IsRequired=true) line_of_business: Optional[str] = None """ Line of business """ # @ApiMember(Description="HostCurrency") host_currency: Optional[str] = None """ HostCurrency """ # @ApiMember(Description="ServiceLevel") service_level: Optional[str] = None """ ServiceLevel """ # @ApiMember(Description="CompanyCodePrimary") company_code_primary: Optional[str] = None """ CompanyCodePrimary """ # @ApiMember(Description="CompanyCodeSecondary") company_code_secondary: Optional[str] = None """ CompanyCodeSecondary """ # @ApiMember(Description="CostCenterPrimary") cost_center_primary: Optional[str] = None """ CostCenterPrimary """ # @ApiMember(Description="CostCenterSecondary") cost_center_secondary: Optional[str] = None """ CostCenterSecondary """ # @ApiMember(Description="CostCenterTertiary") cost_center_tertiary: Optional[str] = None """ CostCenterTertiary """ # @ApiMember(Description="Is the assignment confidential") confidential: Optional[bool] = None """ Is the assignment confidential """ # @ApiMember(Description="Special Instructions") special_instructions: Optional[str] = None """ Special Instructions """ # @ApiMember(Description="Destination entity legal name") destination_entity_legal_name: Optional[str] = None """ Destination entity legal name """ # @ApiMember(Description="Transferee mobile phone number", IsRequired=true) mobile_phone_number: Optional[str] = None """ Transferee mobile phone number """ # @ApiMember(Description="Transferee work phone number") work_phone_number: Optional[str] = None """ Transferee work phone number """ # @ApiMember(Description="Transferee home phone number") home_phone_number: Optional[str] = None """ Transferee home phone number """ # @ApiMember(Description="Transferee primary email", IsRequired=true) primary_email: Optional[str] = None """ Transferee primary email """ # @ApiMember(Description="Transferee secondary email") secondary_email: Optional[str] = None """ Transferee secondary email """ # @ApiMember(Description="HR Contact First Name") hr_contact_first_name: Optional[str] = None """ HR Contact First Name """ # @ApiMember(Description="HR Contact Last Name") hr_contact_last_name: Optional[str] = None """ HR Contact Last Name """ # @ApiMember(Description="HR contact full name") hr_contact_full_name: Optional[str] = None """ HR contact full name """ # @ApiMember(Description="Transferee annual salary") annual_salary: Optional[str] = None """ Transferee annual salary """ # @ApiMember(Description="Transferee spouse/partner") spouse_partner: Optional[SpousePartner] = None """ Transferee spouse/partner """ # @ApiMember(Description="Transferee dependents") dependents: Optional[List[Dependent]] = None """ Transferee dependents """ # @ApiMember(Description="Assignment Services") services: Optional[List[Service]] = None """ Assignment Services """ # @ApiMember(Description="Relocation Status") relocation_status: Optional[str] = None """ Relocation Status """ # @ApiMember(Description="Cancel") cancel: Optional[str] = None """ Cancel """ class IRequireClientScoped: pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class TransfereeInitiationResponse: response_status: Optional[ResponseStatus] = None # @Route("/Initiation/Transferee", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class TransfereeInitiationRequest(IReturn[TransfereeInitiationResponse], IRequireClientScoped, IPost): # @ApiMember(Description="Transferee initiation info needed for creation.", IsRequired=true, ParameterType="body") initiation_info: Optional[TransfereeInitiation] = None """ Transferee initiation info needed for creation. """