MyApp

<back to all web services

CreateJob

Talent
Requires Authentication
namespace MyApp.ServiceModel

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<DataContract>]
    [<AllowNullLiteral>]
    type AuditBase() = 
        [<DataMember(Order=1)>]
        member val CreatedDate:DateTime = new DateTime() with get,set

        [<DataMember(Order=2)>]
        [<Required>]
        member val CreatedBy:String = null with get,set

        [<DataMember(Order=3)>]
        member val ModifiedDate:DateTime = new DateTime() with get,set

        [<DataMember(Order=4)>]
        [<Required>]
        member val ModifiedBy:String = null with get,set

        [<DataMember(Order=5)>]
        member val DeletedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=6)>]
        member val DeletedBy:String = null with get,set

    type EmploymentType =
        | FullTime = 0
        | PartTime = 1
        | Casual = 2
        | Contract = 3

    [<AllowNullLiteral>]
    type Contact() = 
        member val Id:Int32 = new Int32() with get,set
        [<Computed>]
        member val DisplayName:String = null with get,set

        member val ProfileUrl:String = null with get,set
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val SalaryExpectation:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val JobType:String = null with get,set
        member val AvailabilityWeeks:Int32 = new Int32() with get,set
        member val PreferredWorkType:EmploymentType = new EmploymentType() with get,set
        member val PreferredLocation:String = null with get,set
        member val Email:String = null with get,set
        member val Phone:String = null with get,set
        member val Skills:ResizeArray<String> = null with get,set
        member val About:String = null with get,set
        member val Applications:ResizeArray<JobApplication> = null with get,set

    [<AllowNullLiteral>]
    type AppUser() = 
        member val Id:String = null with get,set
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val DisplayName:String = null with get,set
        member val ProfileUrl:String = null with get,set

    [<AllowNullLiteral>]
    type JobApplicationComment() = 
        inherit AuditBase()
        member val Id:Int32 = new Int32() with get,set
        [<References(typeof<AppUser>)>]
        member val AppUserId:String = null with get,set

        member val AppUser:AppUser = null with get,set
        [<References(typeof<JobApplication>)>]
        member val JobApplicationId:Int32 = new Int32() with get,set

        member val Comment:String = null with get,set

    type JobApplicationStatus =
        | Applied = 0
        | PhoneScreening = 1
        | PhoneScreeningCompleted = 2
        | Interview = 3
        | InterviewCompleted = 4
        | Offer = 5
        | Disqualified = 6

    [<AllowNullLiteral>]
    type JobApplicationAttachment() = 
        member val Id:Int32 = new Int32() with get,set
        [<References(typeof<JobApplication>)>]
        member val JobApplicationId:Int32 = new Int32() with get,set

        member val FileName:String = null with get,set
        member val FilePath:String = null with get,set
        member val ContentType:String = null with get,set
        member val ContentLength:Int64 = new Int64() with get,set

    [<AllowNullLiteral>]
    type JobApplicationEvent() = 
        inherit AuditBase()
        member val Id:Int32 = new Int32() with get,set
        [<References(typeof<JobApplication>)>]
        member val JobApplicationId:Int32 = new Int32() with get,set

        [<References(typeof<AppUser>)>]
        member val AppUserId:String = null with get,set

        member val AppUser:AppUser = null with get,set
        member val Description:String = null with get,set
        member val Status:Nullable<JobApplicationStatus> = new Nullable<JobApplicationStatus>() with get,set
        member val EventDate:DateTime = new DateTime() with get,set

    [<AllowNullLiteral>]
    type PhoneScreen() = 
        inherit AuditBase()
        member val Id:Int32 = new Int32() with get,set
        [<References(typeof<AppUser>)>]
        member val AppUserId:String = null with get,set

        member val AppUser:AppUser = null with get,set
        [<References(typeof<JobApplication>)>]
        member val JobApplicationId:Int32 = new Int32() with get,set

        member val ApplicationStatus:Nullable<JobApplicationStatus> = new Nullable<JobApplicationStatus>() with get,set
        member val Notes:String = null with get,set

    [<AllowNullLiteral>]
    type Interview() = 
        inherit AuditBase()
        member val Id:Int32 = new Int32() with get,set
        member val BookingTime:DateTime = new DateTime() with get,set
        [<References(typeof<JobApplication>)>]
        member val JobApplicationId:Int32 = new Int32() with get,set

        [<References(typeof<AppUser>)>]
        member val AppUserId:String = null with get,set

        member val AppUser:AppUser = null with get,set
        member val ApplicationStatus:Nullable<JobApplicationStatus> = new Nullable<JobApplicationStatus>() with get,set
        member val Notes:String = null with get,set

    [<AllowNullLiteral>]
    type JobOffer() = 
        inherit AuditBase()
        member val Id:Int32 = new Int32() with get,set
        member val SalaryOffer:Int32 = new Int32() with get,set
        member val Currency:String = null with get,set
        [<References(typeof<JobApplication>)>]
        member val JobApplicationId:Int32 = new Int32() with get,set

        [<References(typeof<AppUser>)>]
        member val AppUserId:String = null with get,set

        member val AppUser:AppUser = null with get,set
        member val Notes:String = null with get,set

    [<AllowNullLiteral>]
    type JobApplication() = 
        member val Id:Int32 = new Int32() with get,set
        [<References(typeof<Job>)>]
        member val JobId:Int32 = new Int32() with get,set

        [<References(typeof<Contact>)>]
        member val ContactId:Int32 = new Int32() with get,set

        member val Position:Job = null with get,set
        member val Applicant:Contact = null with get,set
        member val Comments:ResizeArray<JobApplicationComment> = null with get,set
        member val AppliedDate:DateTime = new DateTime() with get,set
        member val ApplicationStatus:JobApplicationStatus = new JobApplicationStatus() with get,set
        member val Attachments:ResizeArray<JobApplicationAttachment> = null with get,set
        member val Events:ResizeArray<JobApplicationEvent> = null with get,set
        member val PhoneScreen:PhoneScreen = null with get,set
        member val Interview:Interview = null with get,set
        member val JobOffer:JobOffer = null with get,set

    [<AllowNullLiteral>]
    type Job() = 
        inherit AuditBase()
        member val Id:Int32 = new Int32() with get,set
        member val Title:String = null with get,set
        member val EmploymentType:EmploymentType = new EmploymentType() with get,set
        member val Company:String = null with get,set
        member val Location:String = null with get,set
        member val SalaryRangeLower:Int32 = new Int32() with get,set
        member val SalaryRangeUpper:Int32 = new Int32() with get,set
        member val Description:String = null with get,set
        member val Applications:ResizeArray<JobApplication> = null with get,set
        member val Closing:DateTime = new DateTime() with get,set

    [<ValidateRequest(Validator="IsAuthenticated")>]
    [<AllowNullLiteral>]
    type CreateJob() = 
        member val Title:String = null with get,set
        [<Validate(Validator="GreaterThan(0)")>]
        member val SalaryRangeLower:Int32 = new Int32() with get,set

        [<Validate(Validator="GreaterThan(0)")>]
        member val SalaryRangeUpper:Int32 = new Int32() with get,set

        member val Description:String = null with get,set
        member val EmploymentType:EmploymentType = new EmploymentType() with get,set
        member val Company:String = null with get,set
        member val Location:String = null with get,set
        member val Closing:DateTime = new DateTime() with get,set

F# CreateJob DTOs

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

HTTP + JSV

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

POST /jsv/reply/CreateJob HTTP/1.1 
Host: blazor-gallery.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	title: String,
	salaryRangeLower: 0,
	salaryRangeUpper: 0,
	description: String,
	employmentType: FullTime,
	company: String,
	location: String,
	closing: 0001-01-01
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	title: String,
	employmentType: FullTime,
	company: String,
	location: String,
	salaryRangeLower: 0,
	salaryRangeUpper: 0,
	description: String,
	applications: 
	[
		{
			id: 0,
			jobId: 0,
			contactId: 0,
			position: 
			{
				id: 0,
				title: String,
				employmentType: FullTime,
				company: String,
				location: String,
				salaryRangeLower: 0,
				salaryRangeUpper: 0,
				description: String,
				applications: 
				[
					{
						id: 0,
						jobId: 0,
						contactId: 0,
						position: 
						{
							id: 0,
							title: String,
							employmentType: FullTime,
							company: String,
							location: String,
							salaryRangeLower: 0,
							salaryRangeUpper: 0,
							description: String,
							applications: 
							[
								{
									id: 0,
									jobId: 0,
									contactId: 0,
									position: 
									{
										id: 0,
										title: String,
										employmentType: FullTime,
										company: String,
										location: String,
										salaryRangeLower: 0,
										salaryRangeUpper: 0,
										description: String,
										closing: 0001-01-01,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									},
									applicant: 
									{
										id: 0,
										displayName: String String,
										profileUrl: String,
										firstName: String,
										lastName: String,
										salaryExpectation: 0,
										jobType: String,
										availabilityWeeks: 0,
										preferredWorkType: FullTime,
										preferredLocation: String,
										email: String,
										phone: String,
										skills: 
										[
											String
										],
										about: String
									},
									comments: 
									[
										{
											id: 0,
											appUserId: String,
											appUser: 
											{
												id: String,
												firstName: String,
												lastName: String,
												displayName: String,
												profileUrl: String
											},
											jobApplicationId: 0,
											comment: String,
											createdDate: 0001-01-01,
											createdBy: String,
											modifiedDate: 0001-01-01,
											modifiedBy: String,
											deletedDate: 0001-01-01,
											deletedBy: String
										}
									],
									appliedDate: 0001-01-01,
									applicationStatus: Applied,
									attachments: 
									[
										{
											id: 0,
											jobApplicationId: 0,
											fileName: String,
											filePath: String,
											contentType: String,
											contentLength: 0
										}
									],
									events: 
									[
										{
											id: 0,
											jobApplicationId: 0,
											appUserId: String,
											appUser: 
											{
												id: String,
												firstName: String,
												lastName: String,
												displayName: String,
												profileUrl: String
											},
											description: String,
											status: Applied,
											eventDate: 0001-01-01,
											createdDate: 0001-01-01,
											createdBy: String,
											modifiedDate: 0001-01-01,
											modifiedBy: String,
											deletedDate: 0001-01-01,
											deletedBy: String
										}
									],
									phoneScreen: 
									{
										id: 0,
										appUserId: String,
										appUser: 
										{
											id: String,
											firstName: String,
											lastName: String,
											displayName: String,
											profileUrl: String
										},
										jobApplicationId: 0,
										applicationStatus: Applied,
										notes: String,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									},
									interview: 
									{
										id: 0,
										bookingTime: 0001-01-01,
										jobApplicationId: 0,
										appUserId: String,
										appUser: 
										{
											id: String,
											firstName: String,
											lastName: String,
											displayName: String,
											profileUrl: String
										},
										applicationStatus: Applied,
										notes: String,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									},
									jobOffer: 
									{
										id: 0,
										salaryOffer: 0,
										currency: String,
										jobApplicationId: 0,
										appUserId: String,
										appUser: 
										{
											id: String,
											firstName: String,
											lastName: String,
											displayName: String,
											profileUrl: String
										},
										notes: String,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									}
								}
							],
							closing: 0001-01-01,
							createdDate: 0001-01-01,
							createdBy: String,
							modifiedDate: 0001-01-01,
							modifiedBy: String,
							deletedDate: 0001-01-01,
							deletedBy: String
						},
						applicant: 
						{
							id: 0,
							displayName: String String,
							profileUrl: String,
							firstName: String,
							lastName: String,
							salaryExpectation: 0,
							jobType: String,
							availabilityWeeks: 0,
							preferredWorkType: FullTime,
							preferredLocation: String,
							email: String,
							phone: String,
							skills: 
							[
								String
							],
							about: String,
							applications: 
							[
								{
									id: 0,
									jobId: 0,
									contactId: 0,
									position: 
									{
										id: 0,
										title: String,
										employmentType: FullTime,
										company: String,
										location: String,
										salaryRangeLower: 0,
										salaryRangeUpper: 0,
										description: String,
										closing: 0001-01-01,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									},
									applicant: 
									{
										id: 0,
										displayName: String String,
										profileUrl: String,
										firstName: String,
										lastName: String,
										salaryExpectation: 0,
										jobType: String,
										availabilityWeeks: 0,
										preferredWorkType: FullTime,
										preferredLocation: String,
										email: String,
										phone: String,
										skills: 
										[
											String
										],
										about: String
									},
									comments: 
									[
										{
											id: 0,
											appUserId: String,
											appUser: 
											{
												id: String,
												firstName: String,
												lastName: String,
												displayName: String,
												profileUrl: String
											},
											jobApplicationId: 0,
											comment: String,
											createdDate: 0001-01-01,
											createdBy: String,
											modifiedDate: 0001-01-01,
											modifiedBy: String,
											deletedDate: 0001-01-01,
											deletedBy: String
										}
									],
									appliedDate: 0001-01-01,
									applicationStatus: Applied,
									attachments: 
									[
										{
											id: 0,
											jobApplicationId: 0,
											fileName: String,
											filePath: String,
											contentType: String,
											contentLength: 0
										}
									],
									events: 
									[
										{
											id: 0,
											jobApplicationId: 0,
											appUserId: String,
											appUser: 
											{
												id: String,
												firstName: String,
												lastName: String,
												displayName: String,
												profileUrl: String
											},
											description: String,
											status: Applied,
											eventDate: 0001-01-01,
											createdDate: 0001-01-01,
											createdBy: String,
											modifiedDate: 0001-01-01,
											modifiedBy: String,
											deletedDate: 0001-01-01,
											deletedBy: String
										}
									],
									phoneScreen: 
									{
										id: 0,
										appUserId: String,
										appUser: 
										{
											id: String,
											firstName: String,
											lastName: String,
											displayName: String,
											profileUrl: String
										},
										jobApplicationId: 0,
										applicationStatus: Applied,
										notes: String,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									},
									interview: 
									{
										id: 0,
										bookingTime: 0001-01-01,
										jobApplicationId: 0,
										appUserId: String,
										appUser: 
										{
											id: String,
											firstName: String,
											lastName: String,
											displayName: String,
											profileUrl: String
										},
										applicationStatus: Applied,
										notes: String,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									},
									jobOffer: 
									{
										id: 0,
										salaryOffer: 0,
										currency: String,
										jobApplicationId: 0,
										appUserId: String,
										appUser: 
										{
											id: String,
											firstName: String,
											lastName: String,
											displayName: String,
											profileUrl: String
										},
										notes: String,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									}
								}
							]
						},
						comments: 
						[
							{
								id: 0,
								appUserId: String,
								appUser: 
								{
									id: String,
									firstName: String,
									lastName: String,
									displayName: String,
									profileUrl: String
								},
								jobApplicationId: 0,
								comment: String,
								createdDate: 0001-01-01,
								createdBy: String,
								modifiedDate: 0001-01-01,
								modifiedBy: String,
								deletedDate: 0001-01-01,
								deletedBy: String
							}
						],
						appliedDate: 0001-01-01,
						applicationStatus: Applied,
						attachments: 
						[
							{
								id: 0,
								jobApplicationId: 0,
								fileName: String,
								filePath: String,
								contentType: String,
								contentLength: 0
							}
						],
						events: 
						[
							{
								id: 0,
								jobApplicationId: 0,
								appUserId: String,
								appUser: 
								{
									id: String,
									firstName: String,
									lastName: String,
									displayName: String,
									profileUrl: String
								},
								description: String,
								status: Applied,
								eventDate: 0001-01-01,
								createdDate: 0001-01-01,
								createdBy: String,
								modifiedDate: 0001-01-01,
								modifiedBy: String,
								deletedDate: 0001-01-01,
								deletedBy: String
							}
						],
						phoneScreen: 
						{
							id: 0,
							appUserId: String,
							appUser: 
							{
								id: String,
								firstName: String,
								lastName: String,
								displayName: String,
								profileUrl: String
							},
							jobApplicationId: 0,
							applicationStatus: Applied,
							notes: String,
							createdDate: 0001-01-01,
							createdBy: String,
							modifiedDate: 0001-01-01,
							modifiedBy: String,
							deletedDate: 0001-01-01,
							deletedBy: String
						},
						interview: 
						{
							id: 0,
							bookingTime: 0001-01-01,
							jobApplicationId: 0,
							appUserId: String,
							appUser: 
							{
								id: String,
								firstName: String,
								lastName: String,
								displayName: String,
								profileUrl: String
							},
							applicationStatus: Applied,
							notes: String,
							createdDate: 0001-01-01,
							createdBy: String,
							modifiedDate: 0001-01-01,
							modifiedBy: String,
							deletedDate: 0001-01-01,
							deletedBy: String
						},
						jobOffer: 
						{
							id: 0,
							salaryOffer: 0,
							currency: String,
							jobApplicationId: 0,
							appUserId: String,
							appUser: 
							{
								id: String,
								firstName: String,
								lastName: String,
								displayName: String,
								profileUrl: String
							},
							notes: String,
							createdDate: 0001-01-01,
							createdBy: String,
							modifiedDate: 0001-01-01,
							modifiedBy: String,
							deletedDate: 0001-01-01,
							deletedBy: String
						}
					}
				],
				closing: 0001-01-01,
				createdDate: 0001-01-01,
				createdBy: String,
				modifiedDate: 0001-01-01,
				modifiedBy: String,
				deletedDate: 0001-01-01,
				deletedBy: String
			},
			applicant: 
			{
				id: 0,
				displayName: String String,
				profileUrl: String,
				firstName: String,
				lastName: String,
				salaryExpectation: 0,
				jobType: String,
				availabilityWeeks: 0,
				preferredWorkType: FullTime,
				preferredLocation: String,
				email: String,
				phone: String,
				skills: 
				[
					String
				],
				about: String,
				applications: 
				[
					{
						id: 0,
						jobId: 0,
						contactId: 0,
						position: 
						{
							id: 0,
							title: String,
							employmentType: FullTime,
							company: String,
							location: String,
							salaryRangeLower: 0,
							salaryRangeUpper: 0,
							description: String,
							applications: 
							[
								{
									id: 0,
									jobId: 0,
									contactId: 0,
									position: 
									{
										id: 0,
										title: String,
										employmentType: FullTime,
										company: String,
										location: String,
										salaryRangeLower: 0,
										salaryRangeUpper: 0,
										description: String,
										closing: 0001-01-01,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									},
									applicant: 
									{
										id: 0,
										displayName: String String,
										profileUrl: String,
										firstName: String,
										lastName: String,
										salaryExpectation: 0,
										jobType: String,
										availabilityWeeks: 0,
										preferredWorkType: FullTime,
										preferredLocation: String,
										email: String,
										phone: String,
										skills: 
										[
											String
										],
										about: String
									},
									comments: 
									[
										{
											id: 0,
											appUserId: String,
											appUser: 
											{
												id: String,
												firstName: String,
												lastName: String,
												displayName: String,
												profileUrl: String
											},
											jobApplicationId: 0,
											comment: String,
											createdDate: 0001-01-01,
											createdBy: String,
											modifiedDate: 0001-01-01,
											modifiedBy: String,
											deletedDate: 0001-01-01,
											deletedBy: String
										}
									],
									appliedDate: 0001-01-01,
									applicationStatus: Applied,
									attachments: 
									[
										{
											id: 0,
											jobApplicationId: 0,
											fileName: String,
											filePath: String,
											contentType: String,
											contentLength: 0
										}
									],
									events: 
									[
										{
											id: 0,
											jobApplicationId: 0,
											appUserId: String,
											appUser: 
											{
												id: String,
												firstName: String,
												lastName: String,
												displayName: String,
												profileUrl: String
											},
											description: String,
											status: Applied,
											eventDate: 0001-01-01,
											createdDate: 0001-01-01,
											createdBy: String,
											modifiedDate: 0001-01-01,
											modifiedBy: String,
											deletedDate: 0001-01-01,
											deletedBy: String
										}
									],
									phoneScreen: 
									{
										id: 0,
										appUserId: String,
										appUser: 
										{
											id: String,
											firstName: String,
											lastName: String,
											displayName: String,
											profileUrl: String
										},
										jobApplicationId: 0,
										applicationStatus: Applied,
										notes: String,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									},
									interview: 
									{
										id: 0,
										bookingTime: 0001-01-01,
										jobApplicationId: 0,
										appUserId: String,
										appUser: 
										{
											id: String,
											firstName: String,
											lastName: String,
											displayName: String,
											profileUrl: String
										},
										applicationStatus: Applied,
										notes: String,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									},
									jobOffer: 
									{
										id: 0,
										salaryOffer: 0,
										currency: String,
										jobApplicationId: 0,
										appUserId: String,
										appUser: 
										{
											id: String,
											firstName: String,
											lastName: String,
											displayName: String,
											profileUrl: String
										},
										notes: String,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									}
								}
							],
							closing: 0001-01-01,
							createdDate: 0001-01-01,
							createdBy: String,
							modifiedDate: 0001-01-01,
							modifiedBy: String,
							deletedDate: 0001-01-01,
							deletedBy: String
						},
						applicant: 
						{
							id: 0,
							displayName: String String,
							profileUrl: String,
							firstName: String,
							lastName: String,
							salaryExpectation: 0,
							jobType: String,
							availabilityWeeks: 0,
							preferredWorkType: FullTime,
							preferredLocation: String,
							email: String,
							phone: String,
							skills: 
							[
								String
							],
							about: String,
							applications: 
							[
								{
									id: 0,
									jobId: 0,
									contactId: 0,
									position: 
									{
										id: 0,
										title: String,
										employmentType: FullTime,
										company: String,
										location: String,
										salaryRangeLower: 0,
										salaryRangeUpper: 0,
										description: String,
										closing: 0001-01-01,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									},
									applicant: 
									{
										id: 0,
										displayName: String String,
										profileUrl: String,
										firstName: String,
										lastName: String,
										salaryExpectation: 0,
										jobType: String,
										availabilityWeeks: 0,
										preferredWorkType: FullTime,
										preferredLocation: String,
										email: String,
										phone: String,
										skills: 
										[
											String
										],
										about: String
									},
									comments: 
									[
										{
											id: 0,
											appUserId: String,
											appUser: 
											{
												id: String,
												firstName: String,
												lastName: String,
												displayName: String,
												profileUrl: String
											},
											jobApplicationId: 0,
											comment: String,
											createdDate: 0001-01-01,
											createdBy: String,
											modifiedDate: 0001-01-01,
											modifiedBy: String,
											deletedDate: 0001-01-01,
											deletedBy: String
										}
									],
									appliedDate: 0001-01-01,
									applicationStatus: Applied,
									attachments: 
									[
										{
											id: 0,
											jobApplicationId: 0,
											fileName: String,
											filePath: String,
											contentType: String,
											contentLength: 0
										}
									],
									events: 
									[
										{
											id: 0,
											jobApplicationId: 0,
											appUserId: String,
											appUser: 
											{
												id: String,
												firstName: String,
												lastName: String,
												displayName: String,
												profileUrl: String
											},
											description: String,
											status: Applied,
											eventDate: 0001-01-01,
											createdDate: 0001-01-01,
											createdBy: String,
											modifiedDate: 0001-01-01,
											modifiedBy: String,
											deletedDate: 0001-01-01,
											deletedBy: String
										}
									],
									phoneScreen: 
									{
										id: 0,
										appUserId: String,
										appUser: 
										{
											id: String,
											firstName: String,
											lastName: String,
											displayName: String,
											profileUrl: String
										},
										jobApplicationId: 0,
										applicationStatus: Applied,
										notes: String,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									},
									interview: 
									{
										id: 0,
										bookingTime: 0001-01-01,
										jobApplicationId: 0,
										appUserId: String,
										appUser: 
										{
											id: String,
											firstName: String,
											lastName: String,
											displayName: String,
											profileUrl: String
										},
										applicationStatus: Applied,
										notes: String,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									},
									jobOffer: 
									{
										id: 0,
										salaryOffer: 0,
										currency: String,
										jobApplicationId: 0,
										appUserId: String,
										appUser: 
										{
											id: String,
											firstName: String,
											lastName: String,
											displayName: String,
											profileUrl: String
										},
										notes: String,
										createdDate: 0001-01-01,
										createdBy: String,
										modifiedDate: 0001-01-01,
										modifiedBy: String,
										deletedDate: 0001-01-01,
										deletedBy: String
									}
								}
							]
						},
						comments: 
						[
							{
								id: 0,
								appUserId: String,
								appUser: 
								{
									id: String,
									firstName: String,
									lastName: String,
									displayName: String,
									profileUrl: String
								},
								jobApplicationId: 0,
								comment: String,
								createdDate: 0001-01-01,
								createdBy: String,
								modifiedDate: 0001-01-01,
								modifiedBy: String,
								deletedDate: 0001-01-01,
								deletedBy: String
							}
						],
						appliedDate: 0001-01-01,
						applicationStatus: Applied,
						attachments: 
						[
							{
								id: 0,
								jobApplicationId: 0,
								fileName: String,
								filePath: String,
								contentType: String,
								contentLength: 0
							}
						],
						events: 
						[
							{
								id: 0,
								jobApplicationId: 0,
								appUserId: String,
								appUser: 
								{
									id: String,
									firstName: String,
									lastName: String,
									displayName: String,
									profileUrl: String
								},
								description: String,
								status: Applied,
								eventDate: 0001-01-01,
								createdDate: 0001-01-01,
								createdBy: String,
								modifiedDate: 0001-01-01,
								modifiedBy: String,
								deletedDate: 0001-01-01,
								deletedBy: String
							}
						],
						phoneScreen: 
						{
							id: 0,
							appUserId: String,
							appUser: 
							{
								id: String,
								firstName: String,
								lastName: String,
								displayName: String,
								profileUrl: String
							},
							jobApplicationId: 0,
							applicationStatus: Applied,
							notes: String,
							createdDate: 0001-01-01,
							createdBy: String,
							modifiedDate: 0001-01-01,
							modifiedBy: String,
							deletedDate: 0001-01-01,
							deletedBy: String
						},
						interview: 
						{
							id: 0,
							bookingTime: 0001-01-01,
							jobApplicationId: 0,
							appUserId: String,
							appUser: 
							{
								id: String,
								firstName: String,
								lastName: String,
								displayName: String,
								profileUrl: String
							},
							applicationStatus: Applied,
							notes: String,
							createdDate: 0001-01-01,
							createdBy: String,
							modifiedDate: 0001-01-01,
							modifiedBy: String,
							deletedDate: 0001-01-01,
							deletedBy: String
						},
						jobOffer: 
						{
							id: 0,
							salaryOffer: 0,
							currency: String,
							jobApplicationId: 0,
							appUserId: String,
							appUser: 
							{
								id: String,
								firstName: String,
								lastName: String,
								displayName: String,
								profileUrl: String
							},
							notes: String,
							createdDate: 0001-01-01,
							createdBy: String,
							modifiedDate: 0001-01-01,
							modifiedBy: String,
							deletedDate: 0001-01-01,
							deletedBy: String
						}
					}
				]
			},
			comments: 
			[
				{
					id: 0,
					appUserId: String,
					appUser: 
					{
						id: String,
						firstName: String,
						lastName: String,
						displayName: String,
						profileUrl: String
					},
					jobApplicationId: 0,
					comment: String,
					createdDate: 0001-01-01,
					createdBy: String,
					modifiedDate: 0001-01-01,
					modifiedBy: String,
					deletedDate: 0001-01-01,
					deletedBy: String
				}
			],
			appliedDate: 0001-01-01,
			applicationStatus: Applied,
			attachments: 
			[
				{
					id: 0,
					jobApplicationId: 0,
					fileName: String,
					filePath: String,
					contentType: String,
					contentLength: 0
				}
			],
			events: 
			[
				{
					id: 0,
					jobApplicationId: 0,
					appUserId: String,
					appUser: 
					{
						id: String,
						firstName: String,
						lastName: String,
						displayName: String,
						profileUrl: String
					},
					description: String,
					status: Applied,
					eventDate: 0001-01-01,
					createdDate: 0001-01-01,
					createdBy: String,
					modifiedDate: 0001-01-01,
					modifiedBy: String,
					deletedDate: 0001-01-01,
					deletedBy: String
				}
			],
			phoneScreen: 
			{
				id: 0,
				appUserId: String,
				appUser: 
				{
					id: String,
					firstName: String,
					lastName: String,
					displayName: String,
					profileUrl: String
				},
				jobApplicationId: 0,
				applicationStatus: Applied,
				notes: String,
				createdDate: 0001-01-01,
				createdBy: String,
				modifiedDate: 0001-01-01,
				modifiedBy: String,
				deletedDate: 0001-01-01,
				deletedBy: String
			},
			interview: 
			{
				id: 0,
				bookingTime: 0001-01-01,
				jobApplicationId: 0,
				appUserId: String,
				appUser: 
				{
					id: String,
					firstName: String,
					lastName: String,
					displayName: String,
					profileUrl: String
				},
				applicationStatus: Applied,
				notes: String,
				createdDate: 0001-01-01,
				createdBy: String,
				modifiedDate: 0001-01-01,
				modifiedBy: String,
				deletedDate: 0001-01-01,
				deletedBy: String
			},
			jobOffer: 
			{
				id: 0,
				salaryOffer: 0,
				currency: String,
				jobApplicationId: 0,
				appUserId: String,
				appUser: 
				{
					id: String,
					firstName: String,
					lastName: String,
					displayName: String,
					profileUrl: String
				},
				notes: String,
				createdDate: 0001-01-01,
				createdBy: String,
				modifiedDate: 0001-01-01,
				modifiedBy: String,
				deletedDate: 0001-01-01,
				deletedBy: String
			}
		}
	],
	closing: 0001-01-01,
	createdDate: 0001-01-01,
	createdBy: String,
	modifiedDate: 0001-01-01,
	modifiedBy: String,
	deletedDate: 0001-01-01,
	deletedBy: String
}