/* Options: Date: 2024-12-22 22:00:44 Version: 8.51 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://blazor-gallery.servicestack.net //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: UpdateJobOffer.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @ValidateRequest(Validator="IsAuthenticated") open class UpdateJobOffer : IReturn, IPatchDb { open var id:Int? = null open var salaryOffer:Int? = null open var currency:String? = null open var jobApplicationId:Int? = null open var applicationStatus:JobApplicationStatus? = null open var notes:String? = null companion object { private val responseType = JobOffer::class.java } override fun getResponseType(): Any? = UpdateJobOffer.responseType } open class JobOffer : AuditBase() { open var id:Int? = null open var salaryOffer:Int? = null open var currency:String? = null @References(Type=JobApplication::class) open var jobApplicationId:Int? = null @References(Type=AppUser::class) open var appUserId:String? = null open var appUser:AppUser? = null open var notes:String? = null } open class JobApplicationAttachment { open var id:Int? = null @References(Type=JobApplication::class) open var jobApplicationId:Int? = null open var fileName:String? = null open var filePath:String? = null open var contentType:String? = null open var contentLength:Long? = null } open class AppUser { open var id:String? = null open var firstName:String? = null open var lastName:String? = null open var displayName:String? = null open var profileUrl:String? = null } enum class EmploymentType { FullTime, PartTime, Casual, Contract, } open class Contact { open var id:Int? = null @Computed() open var displayName:String? = null open var profileUrl:String? = null open var firstName:String? = null open var lastName:String? = null open var salaryExpectation:Int? = null open var jobType:String? = null open var availabilityWeeks:Int? = null open var preferredWorkType:EmploymentType? = null open var preferredLocation:String? = null open var email:String? = null open var phone:String? = null open var skills:ArrayList? = null open var about:String? = null open var applications:ArrayList = ArrayList() } open class Job : AuditBase() { open var id:Int? = null open var title:String? = null open var employmentType:EmploymentType? = null open var company:String? = null open var location:String? = null open var salaryRangeLower:Int? = null open var salaryRangeUpper:Int? = null open var description:String? = null open var applications:ArrayList = ArrayList() open var closing:Date? = null } enum class JobApplicationStatus { Applied, PhoneScreening, PhoneScreeningCompleted, Interview, InterviewCompleted, Offer, Disqualified, } open class JobApplication { open var id:Int? = null @References(Type=Job::class) open var jobId:Int? = null @References(Type=Contact::class) open var contactId:Int? = null open var position:Job? = null open var applicant:Contact? = null open var comments:ArrayList = ArrayList() open var appliedDate:Date? = null open var applicationStatus:JobApplicationStatus? = null open var attachments:ArrayList = ArrayList() open var events:ArrayList = ArrayList() open var phoneScreen:PhoneScreen? = null open var interview:Interview? = null open var jobOffer:JobOffer? = null } open class PhoneScreen : AuditBase() { open var id:Int? = null @References(Type=AppUser::class) open var appUserId:String? = null open var appUser:AppUser? = null @References(Type=JobApplication::class) open var jobApplicationId:Int? = null open var applicationStatus:JobApplicationStatus? = null open var notes:String? = null } open class Interview : AuditBase() { open var id:Int? = null open var bookingTime:Date? = null @References(Type=JobApplication::class) open var jobApplicationId:Int? = null @References(Type=AppUser::class) open var appUserId:String? = null open var appUser:AppUser? = null open var applicationStatus:JobApplicationStatus? = null open var notes:String? = null } open class JobApplicationEvent : AuditBase() { open var id:Int? = null @References(Type=JobApplication::class) open var jobApplicationId:Int? = null @References(Type=AppUser::class) open var appUserId:String? = null open var appUser:AppUser? = null open var description:String? = null open var status:JobApplicationStatus? = null open var eventDate:Date? = null } open class JobApplicationComment : AuditBase() { open var id:Int? = null @References(Type=AppUser::class) open var appUserId:String? = null open var appUser:AppUser? = null @References(Type=JobApplication::class) open var jobApplicationId:Int? = null open var comment:String? = null } @DataContract open class AuditBase { @DataMember(Order=1) open var createdDate:Date? = null @DataMember(Order=2) @Required() open var createdBy:String? = null @DataMember(Order=3) open var modifiedDate:Date? = null @DataMember(Order=4) @Required() open var modifiedBy:String? = null @DataMember(Order=5) open var deletedDate:Date? = null @DataMember(Order=6) open var deletedBy:String? = null }