#![allow(
dead_code,
non_camel_case_types,
non_snake_case,
clippy::upper_case_acronyms
)]
use serde::{Deserialize, Serialize};
use serde_json::Value;
use servicestack::*;
use std::collections::HashMap;
#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
pub enum EmploymentType {
#[default]
#[serde(rename = "FullTime")]
FullTime,
#[serde(rename = "PartTime")]
PartTime,
#[serde(rename = "Casual")]
Casual,
#[serde(rename = "Contract")]
Contract,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct Job {
#[serde(flatten)]
pub audit_base: AuditBase,
pub id: i32,
pub title: String,
#[serde(rename = "employmentType")]
pub employment_type: EmploymentType,
pub company: String,
pub location: String,
#[serde(rename = "salaryRangeLower")]
pub salary_range_lower: i32,
#[serde(rename = "salaryRangeUpper")]
pub salary_range_upper: i32,
pub description: String,
pub applications: Vec<JobApplication>,
pub closing: String,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct AppUser {
pub id: String,
#[serde(rename = "firstName")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(rename = "lastName")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(rename = "displayName")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(rename = "profileUrl")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile_url: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct JobApplicationComment {
#[serde(flatten)]
pub audit_base: AuditBase,
pub id: i32,
// References(typeof(AppUser))
#[serde(rename = "appUserId")]
pub app_user_id: String,
#[serde(rename = "appUser")]
pub app_user: AppUser,
// References(typeof(JobApplication))
#[serde(rename = "jobApplicationId")]
pub job_application_id: i32,
pub comment: String,
}
#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
pub enum JobApplicationStatus {
#[default]
#[serde(rename = "Applied")]
Applied,
#[serde(rename = "PhoneScreening")]
PhoneScreening,
#[serde(rename = "PhoneScreeningCompleted")]
PhoneScreeningCompleted,
#[serde(rename = "Interview")]
Interview,
#[serde(rename = "InterviewCompleted")]
InterviewCompleted,
#[serde(rename = "Offer")]
Offer,
#[serde(rename = "Disqualified")]
Disqualified,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct JobApplicationAttachment {
pub id: i32,
// References(typeof(JobApplication))
#[serde(rename = "jobApplicationId")]
pub job_application_id: i32,
#[serde(rename = "fileName")]
pub file_name: String,
#[serde(rename = "filePath")]
pub file_path: String,
#[serde(rename = "contentType")]
pub content_type: String,
#[serde(rename = "contentLength")]
pub content_length: i64,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct JobApplicationEvent {
#[serde(flatten)]
pub audit_base: AuditBase,
pub id: i32,
// References(typeof(JobApplication))
#[serde(rename = "jobApplicationId")]
pub job_application_id: i32,
// References(typeof(AppUser))
#[serde(rename = "appUserId")]
pub app_user_id: String,
#[serde(rename = "appUser")]
pub app_user: AppUser,
pub description: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<JobApplicationStatus>,
#[serde(rename = "eventDate")]
pub event_date: String,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct PhoneScreen {
#[serde(flatten)]
pub audit_base: AuditBase,
pub id: i32,
// References(typeof(AppUser))
#[serde(rename = "appUserId")]
pub app_user_id: String,
#[serde(rename = "appUser")]
pub app_user: AppUser,
// References(typeof(JobApplication))
#[serde(rename = "jobApplicationId")]
pub job_application_id: i32,
#[serde(rename = "applicationStatus")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub application_status: Option<JobApplicationStatus>,
pub notes: String,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct Interview {
#[serde(flatten)]
pub audit_base: AuditBase,
pub id: i32,
#[serde(rename = "bookingTime")]
pub booking_time: String,
// References(typeof(JobApplication))
#[serde(rename = "jobApplicationId")]
pub job_application_id: i32,
// References(typeof(AppUser))
#[serde(rename = "appUserId")]
pub app_user_id: String,
#[serde(rename = "appUser")]
pub app_user: AppUser,
#[serde(rename = "applicationStatus")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub application_status: Option<JobApplicationStatus>,
pub notes: String,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct JobOffer {
#[serde(flatten)]
pub audit_base: AuditBase,
pub id: i32,
#[serde(rename = "salaryOffer")]
pub salary_offer: i32,
pub currency: String,
// References(typeof(JobApplication))
#[serde(rename = "jobApplicationId")]
pub job_application_id: i32,
// References(typeof(AppUser))
#[serde(rename = "appUserId")]
pub app_user_id: String,
#[serde(rename = "appUser")]
pub app_user: AppUser,
pub notes: String,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct JobApplication {
pub id: i32,
// References(typeof(Job))
#[serde(rename = "jobId")]
pub job_id: i32,
// References(typeof(Contact))
#[serde(rename = "contactId")]
pub contact_id: i32,
pub position: Job,
pub applicant: Contact,
pub comments: Vec<JobApplicationComment>,
#[serde(rename = "appliedDate")]
pub applied_date: String,
#[serde(rename = "applicationStatus")]
pub application_status: JobApplicationStatus,
pub attachments: Vec<JobApplicationAttachment>,
pub events: Vec<JobApplicationEvent>,
#[serde(rename = "phoneScreen")]
pub phone_screen: PhoneScreen,
pub interview: Interview,
#[serde(rename = "jobOffer")]
pub job_offer: JobOffer,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct Contact {
pub id: i32,
// Computed
#[serde(rename = "displayName")]
pub display_name: String,
#[serde(rename = "profileUrl")]
pub profile_url: String,
#[serde(rename = "firstName")]
pub first_name: String,
#[serde(rename = "lastName")]
pub last_name: String,
#[serde(rename = "salaryExpectation")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub salary_expectation: Option<i32>,
#[serde(rename = "jobType")]
pub job_type: String,
#[serde(rename = "availabilityWeeks")]
pub availability_weeks: i32,
#[serde(rename = "preferredWorkType")]
pub preferred_work_type: EmploymentType,
#[serde(rename = "preferredLocation")]
pub preferred_location: String,
pub email: String,
pub phone: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub skills: Option<Vec<String>>,
pub about: String,
pub applications: Vec<JobApplication>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct QueryContacts {
#[serde(flatten)]
pub query_db: QueryDb,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct Todo {
pub id: i64,
pub text: String,
#[serde(rename = "isFinished")]
pub is_finished: bool,
}
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/QueryContacts HTTP/1.1
Host: blazor-gallery.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
id: 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,
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
}
}
]
}
],
meta:
{
String: String
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}