MyApp

<back to all web services

QueryJobs

Talent
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using MyApp.ServiceModel;

namespace MyApp.ServiceModel
{
    public partial class AppUser
    {
        public virtual string Id { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string LastName { get; set; }
        public virtual string DisplayName { get; set; }
        public virtual string ProfileUrl { get; set; }
    }

    public partial class Contact
    {
        public Contact()
        {
            Skills = new List<string>{};
            Applications = new List<JobApplication>{};
        }

        public virtual int Id { get; set; }
        [Computed]
        public virtual string DisplayName { get; set; }

        public virtual string ProfileUrl { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string LastName { get; set; }
        public virtual int? SalaryExpectation { get; set; }
        public virtual string JobType { get; set; }
        public virtual int AvailabilityWeeks { get; set; }
        public virtual EmploymentType PreferredWorkType { get; set; }
        public virtual string PreferredLocation { get; set; }
        public virtual string Email { get; set; }
        public virtual string Phone { get; set; }
        public virtual List<string> Skills { get; set; }
        public virtual string About { get; set; }
        public virtual List<JobApplication> Applications { get; set; }
    }

    public enum EmploymentType
    {
        FullTime,
        PartTime,
        Casual,
        Contract,
    }

    public partial class Interview
        : AuditBase
    {
        public virtual int Id { get; set; }
        public virtual DateTime BookingTime { get; set; }
        [References(typeof(MyApp.ServiceModel.JobApplication))]
        public virtual int JobApplicationId { get; set; }

        [References(typeof(MyApp.ServiceModel.AppUser))]
        public virtual string AppUserId { get; set; }

        public virtual AppUser AppUser { get; set; }
        public virtual JobApplicationStatus? ApplicationStatus { get; set; }
        public virtual string Notes { get; set; }
    }

    public partial class Job
        : AuditBase
    {
        public Job()
        {
            Applications = new List<JobApplication>{};
        }

        public virtual int Id { get; set; }
        public virtual string Title { get; set; }
        public virtual EmploymentType EmploymentType { get; set; }
        public virtual string Company { get; set; }
        public virtual string Location { get; set; }
        public virtual int SalaryRangeLower { get; set; }
        public virtual int SalaryRangeUpper { get; set; }
        public virtual string Description { get; set; }
        public virtual List<JobApplication> Applications { get; set; }
        public virtual DateTime Closing { get; set; }
    }

    public partial class JobApplication
    {
        public JobApplication()
        {
            Comments = new List<JobApplicationComment>{};
            Attachments = new List<JobApplicationAttachment>{};
            Events = new List<JobApplicationEvent>{};
        }

        public virtual int Id { get; set; }
        [References(typeof(MyApp.ServiceModel.Job))]
        public virtual int JobId { get; set; }

        [References(typeof(MyApp.ServiceModel.Contact))]
        public virtual int ContactId { get; set; }

        public virtual Job Position { get; set; }
        public virtual Contact Applicant { get; set; }
        public virtual List<JobApplicationComment> Comments { get; set; }
        public virtual DateTime AppliedDate { get; set; }
        public virtual JobApplicationStatus ApplicationStatus { get; set; }
        public virtual List<JobApplicationAttachment> Attachments { get; set; }
        public virtual List<JobApplicationEvent> Events { get; set; }
        public virtual PhoneScreen PhoneScreen { get; set; }
        public virtual Interview Interview { get; set; }
        public virtual JobOffer JobOffer { get; set; }
    }

    public partial class JobApplicationAttachment
    {
        public virtual int Id { get; set; }
        [References(typeof(MyApp.ServiceModel.JobApplication))]
        public virtual int JobApplicationId { get; set; }

        public virtual string FileName { get; set; }
        public virtual string FilePath { get; set; }
        public virtual string ContentType { get; set; }
        public virtual long ContentLength { get; set; }
    }

    public partial class JobApplicationComment
        : AuditBase
    {
        public virtual int Id { get; set; }
        [References(typeof(MyApp.ServiceModel.AppUser))]
        public virtual string AppUserId { get; set; }

        public virtual AppUser AppUser { get; set; }
        [References(typeof(MyApp.ServiceModel.JobApplication))]
        public virtual int JobApplicationId { get; set; }

        public virtual string Comment { get; set; }
    }

    public partial class JobApplicationEvent
        : AuditBase
    {
        public virtual int Id { get; set; }
        [References(typeof(MyApp.ServiceModel.JobApplication))]
        public virtual int JobApplicationId { get; set; }

        [References(typeof(MyApp.ServiceModel.AppUser))]
        public virtual string AppUserId { get; set; }

        public virtual AppUser AppUser { get; set; }
        public virtual string Description { get; set; }
        public virtual JobApplicationStatus? Status { get; set; }
        public virtual DateTime EventDate { get; set; }
    }

    public enum JobApplicationStatus
    {
        Applied,
        PhoneScreening,
        PhoneScreeningCompleted,
        Interview,
        InterviewCompleted,
        Offer,
        Disqualified,
    }

    public partial class JobOffer
        : AuditBase
    {
        public virtual int Id { get; set; }
        public virtual int SalaryOffer { get; set; }
        public virtual string Currency { get; set; }
        [References(typeof(MyApp.ServiceModel.JobApplication))]
        public virtual int JobApplicationId { get; set; }

        [References(typeof(MyApp.ServiceModel.AppUser))]
        public virtual string AppUserId { get; set; }

        public virtual AppUser AppUser { get; set; }
        public virtual string Notes { get; set; }
    }

    public partial class PhoneScreen
        : AuditBase
    {
        public virtual int Id { get; set; }
        [References(typeof(MyApp.ServiceModel.AppUser))]
        public virtual string AppUserId { get; set; }

        public virtual AppUser AppUser { get; set; }
        [References(typeof(MyApp.ServiceModel.JobApplication))]
        public virtual int JobApplicationId { get; set; }

        public virtual JobApplicationStatus? ApplicationStatus { get; set; }
        public virtual string Notes { get; set; }
    }

    public partial class QueryJobs
        : QueryDb<Job>
    {
        public virtual int? Id { get; set; }
        public virtual List<int> Ids { get; set; }
    }

    public partial class Todo
    {
        public virtual long Id { get; set; }
        public virtual string Text { get; set; }
        public virtual bool IsFinished { get; set; }
    }

}

namespace ServiceStack
{
    [DataContract]
    public partial class AuditBase
    {
        [DataMember(Order=1)]
        public virtual DateTime CreatedDate { get; set; }

        [DataMember(Order=2)]
        [Required]
        public virtual string CreatedBy { get; set; }

        [DataMember(Order=3)]
        public virtual DateTime ModifiedDate { get; set; }

        [DataMember(Order=4)]
        [Required]
        public virtual string ModifiedBy { get; set; }

        [DataMember(Order=5)]
        public virtual DateTime? DeletedDate { get; set; }

        [DataMember(Order=6)]
        public virtual string DeletedBy { get; set; }
    }

    [DataContract]
    public partial class QueryBase
    {
        public QueryBase()
        {
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual int? Skip { get; set; }

        [DataMember(Order=2)]
        public virtual int? Take { get; set; }

        [DataMember(Order=3)]
        public virtual string OrderBy { get; set; }

        [DataMember(Order=4)]
        public virtual string OrderByDesc { get; set; }

        [DataMember(Order=5)]
        public virtual string Include { get; set; }

        [DataMember(Order=6)]
        public virtual string Fields { get; set; }

        [DataMember(Order=7)]
        public virtual Dictionary<string, string> Meta { get; set; }
    }

    public partial class QueryDb<T>
        : QueryBase
    {
    }

    [DataContract]
    public partial class QueryResponse<Todo>
    {
        public QueryResponse()
        {
            Results = new List<Todo>{};
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual int Offset { get; set; }

        [DataMember(Order=2)]
        public virtual int Total { get; set; }

        [DataMember(Order=3)]
        public virtual List<Todo> Results { get; set; }

        [DataMember(Order=4)]
        public virtual Dictionary<string, string> Meta { get; set; }

        [DataMember(Order=5)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

}

C# QueryJobs 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/QueryJobs HTTP/1.1 
Host: blazor-gallery.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	ids: 
	[
		0
	],
	skip: 0,
	take: 0,
	orderBy: String,
	orderByDesc: String,
	include: String,
	fields: String,
	meta: 
	{
		String: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	offset: 0,
	total: 0,
	results: 
	[
		{
			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,
											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
		}
	],
	meta: 
	{
		String: String
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}