using System;
using System.IO;
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 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 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 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 UpdateJobApplication
: IPatchDb<JobApplication>
{
public virtual int Id { get; set; }
public virtual int? JobId { get; set; }
public virtual int? ContactId { get; set; }
public virtual DateTime? AppliedDate { get; set; }
public virtual JobApplicationStatus? ApplicationStatus { get; set; }
public virtual List<JobApplicationAttachment> Attachments { 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; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/UpdateJobApplication HTTP/1.1
Host: blazor-gallery.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
id: 0,
jobId: 0,
contactId: 0,
appliedDate: 0001-01-01,
applicationStatus: Applied,
attachments:
[
{
id: 0,
jobApplicationId: 0,
fileName: String,
filePath: String,
contentType: String,
contentLength: 0
}
]
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { 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, 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 }, 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, 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 }, 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 } } ] }, 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 } }