"use strict";
export class QueryBase {
/** @param {{skip?:number,take?:number,orderBy?:string,orderByDesc?:string,include?:string,fields?:string,meta?:{ [index:string]: string; }}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?number} */
skip;
/** @type {?number} */
take;
/** @type {string} */
orderBy;
/** @type {string} */
orderByDesc;
/** @type {string} */
include;
/** @type {string} */
fields;
/** @type {{ [index:string]: string; }} */
meta;
}
/** @typedef T {any} */
export class QueryDb extends QueryBase {
/** @param {{skip?:number,take?:number,orderBy?:string,orderByDesc?:string,include?:string,fields?:string,meta?:{ [index:string]: string; }}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
export class AuditBase {
/** @param {{createdDate?:string,createdBy?:string,modifiedDate?:string,modifiedBy?:string,deletedDate?:string,deletedBy?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
createdDate;
/** @type {string} */
createdBy;
/** @type {string} */
modifiedDate;
/** @type {string} */
modifiedBy;
/** @type {?string} */
deletedDate;
/** @type {string} */
deletedBy;
}
/** @typedef {'FullTime'|'PartTime'|'Casual'|'Contract'} */
export var EmploymentType;
(function (EmploymentType) {
EmploymentType["FullTime"] = "FullTime"
EmploymentType["PartTime"] = "PartTime"
EmploymentType["Casual"] = "Casual"
EmploymentType["Contract"] = "Contract"
})(EmploymentType || (EmploymentType = {}));
export class Contact {
/** @param {{id?:number,displayName?:string,profileUrl?:string,firstName?:string,lastName?:string,salaryExpectation?:number,jobType?:string,availabilityWeeks?:number,preferredWorkType?:EmploymentType,preferredLocation?:string,email?:string,phone?:string,skills?:string[],about?:string,applications?:JobApplication[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
displayName;
/** @type {string} */
profileUrl;
/** @type {string} */
firstName;
/** @type {string} */
lastName;
/** @type {?number} */
salaryExpectation;
/** @type {string} */
jobType;
/** @type {number} */
availabilityWeeks;
/** @type {EmploymentType} */
preferredWorkType;
/** @type {string} */
preferredLocation;
/** @type {string} */
email;
/** @type {string} */
phone;
/** @type {?string[]} */
skills;
/** @type {string} */
about;
/** @type {JobApplication[]} */
applications = [];
}
export class AppUser {
/** @param {{id?:string,firstName?:string,lastName?:string,displayName?:string,profileUrl?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {?string} */
firstName;
/** @type {?string} */
lastName;
/** @type {?string} */
displayName;
/** @type {?string} */
profileUrl;
}
export class JobApplicationComment extends AuditBase {
/** @param {{id?:number,appUserId?:string,appUser?:AppUser,jobApplicationId?:number,comment?:string,createdDate?:string,createdBy?:string,modifiedDate?:string,modifiedBy?:string,deletedDate?:string,deletedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
appUserId;
/** @type {AppUser} */
appUser;
/** @type {number} */
jobApplicationId;
/** @type {string} */
comment;
}
/** @typedef {'Applied'|'PhoneScreening'|'PhoneScreeningCompleted'|'Interview'|'InterviewCompleted'|'Offer'|'Disqualified'} */
export var JobApplicationStatus;
(function (JobApplicationStatus) {
JobApplicationStatus["Applied"] = "Applied"
JobApplicationStatus["PhoneScreening"] = "PhoneScreening"
JobApplicationStatus["PhoneScreeningCompleted"] = "PhoneScreeningCompleted"
JobApplicationStatus["Interview"] = "Interview"
JobApplicationStatus["InterviewCompleted"] = "InterviewCompleted"
JobApplicationStatus["Offer"] = "Offer"
JobApplicationStatus["Disqualified"] = "Disqualified"
})(JobApplicationStatus || (JobApplicationStatus = {}));
export class JobApplicationAttachment {
/** @param {{id?:number,jobApplicationId?:number,fileName?:string,filePath?:string,contentType?:string,contentLength?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {number} */
jobApplicationId;
/** @type {string} */
fileName;
/** @type {string} */
filePath;
/** @type {string} */
contentType;
/** @type {number} */
contentLength;
}
export class JobApplicationEvent extends AuditBase {
/** @param {{id?:number,jobApplicationId?:number,appUserId?:string,appUser?:AppUser,description?:string,status?:JobApplicationStatus,eventDate?:string,createdDate?:string,createdBy?:string,modifiedDate?:string,modifiedBy?:string,deletedDate?:string,deletedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
id;
/** @type {number} */
jobApplicationId;
/** @type {string} */
appUserId;
/** @type {AppUser} */
appUser;
/** @type {string} */
description;
/** @type {?JobApplicationStatus} */
status;
/** @type {string} */
eventDate;
}
export class PhoneScreen extends AuditBase {
/** @param {{id?:number,appUserId?:string,appUser?:AppUser,jobApplicationId?:number,applicationStatus?:JobApplicationStatus,notes?:string,createdDate?:string,createdBy?:string,modifiedDate?:string,modifiedBy?:string,deletedDate?:string,deletedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
appUserId;
/** @type {AppUser} */
appUser;
/** @type {number} */
jobApplicationId;
/** @type {?JobApplicationStatus} */
applicationStatus;
/** @type {string} */
notes;
}
export class Interview extends AuditBase {
/** @param {{id?:number,bookingTime?:string,jobApplicationId?:number,appUserId?:string,appUser?:AppUser,applicationStatus?:JobApplicationStatus,notes?:string,createdDate?:string,createdBy?:string,modifiedDate?:string,modifiedBy?:string,deletedDate?:string,deletedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
bookingTime;
/** @type {number} */
jobApplicationId;
/** @type {string} */
appUserId;
/** @type {AppUser} */
appUser;
/** @type {?JobApplicationStatus} */
applicationStatus;
/** @type {string} */
notes;
}
export class JobOffer extends AuditBase {
/** @param {{id?:number,salaryOffer?:number,currency?:string,jobApplicationId?:number,appUserId?:string,appUser?:AppUser,notes?:string,createdDate?:string,createdBy?:string,modifiedDate?:string,modifiedBy?:string,deletedDate?:string,deletedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
id;
/** @type {number} */
salaryOffer;
/** @type {string} */
currency;
/** @type {number} */
jobApplicationId;
/** @type {string} */
appUserId;
/** @type {AppUser} */
appUser;
/** @type {string} */
notes;
}
export class JobApplication {
/** @param {{id?:number,jobId?:number,contactId?:number,position?:Job,applicant?:Contact,comments?:JobApplicationComment[],appliedDate?:string,applicationStatus?:JobApplicationStatus,attachments?:JobApplicationAttachment[],events?:JobApplicationEvent[],phoneScreen?:PhoneScreen,interview?:Interview,jobOffer?:JobOffer}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {number} */
jobId;
/** @type {number} */
contactId;
/** @type {Job} */
position;
/** @type {Contact} */
applicant;
/** @type {JobApplicationComment[]} */
comments = [];
/** @type {string} */
appliedDate;
/** @type {JobApplicationStatus} */
applicationStatus;
/** @type {JobApplicationAttachment[]} */
attachments = [];
/** @type {JobApplicationEvent[]} */
events = [];
/** @type {PhoneScreen} */
phoneScreen;
/** @type {Interview} */
interview;
/** @type {JobOffer} */
jobOffer;
}
export class Job extends AuditBase {
/** @param {{id?:number,title?:string,employmentType?:EmploymentType,company?:string,location?:string,salaryRangeLower?:number,salaryRangeUpper?:number,description?:string,applications?:JobApplication[],closing?:string,createdDate?:string,createdBy?:string,modifiedDate?:string,modifiedBy?:string,deletedDate?:string,deletedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
title;
/** @type {EmploymentType} */
employmentType;
/** @type {string} */
company;
/** @type {string} */
location;
/** @type {number} */
salaryRangeLower;
/** @type {number} */
salaryRangeUpper;
/** @type {string} */
description;
/** @type {JobApplication[]} */
applications = [];
/** @type {string} */
closing;
}
export class QueryJobs extends QueryDb {
/** @param {{id?:number,ids?:number[],skip?:number,take?:number,orderBy?:string,orderByDesc?:string,include?:string,fields?:string,meta?:{ [index:string]: string; }}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {?number} */
id;
/** @type {?number[]} */
ids;
}
export class Todo {
/** @param {{id?:number,text?:string,isFinished?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
text;
/** @type {boolean} */
isFinished;
}
/** @typedef T {any} */
export class QueryResponse {
/** @param {{offset?:number,total?:number,results?:T[],meta?:{ [index:string]: string; },responseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
offset;
/** @type {number} */
total;
/** @type {T[]} */
results;
/** @type {{ [index:string]: string; }} */
meta;
/** @type {ResponseStatus} */
responseStatus;
}
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/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
}
}
}