#![allow(
clippy::doc_lazy_continuation,
clippy::doc_markdown,
clippy::struct_excessive_bools,
rustdoc::broken_intra_doc_links,
rustdoc::bare_urls,
rustdoc::invalid_html_tags
)]
#[allow(unused_imports)]
use std::collections::HashMap;
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum AllocationUnit {
#[default]
Hours = 1,
Fte = 2,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Appointment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_changed: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_containers: Option<Vec<crate::models::AppointmentContainer>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_field_values: Option<Vec<crate::models::AppointmentFieldValue>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_guid: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_urls: Option<Vec<crate::models::AppointmentUrl>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assignments: Option<Vec<crate::models::Assignment>>,
#[serde(
rename = "backofficeID",
default,
skip_serializing_if = "Option::is_none"
)]
pub backoffice_id: Option<String>,
#[serde(
rename = "backofficeParentID",
default,
skip_serializing_if = "Option::is_none"
)]
pub backoffice_parent_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity_indicator: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category: Option<crate::models::Category>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub confirmation_status: Option<crate::models::ConfirmationStatus>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub date_last_mail_sent: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted_on: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub duration_in_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub formatted_site_address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hidden_to_user: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ignore_calendars: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub importance: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_all_day_event: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_recurrence_exception: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub job_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_modified_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_modified_user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub locked: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub non_working_time: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notification_level: Option<crate::models::Severity>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notifications: Option<Vec<crate::models::Notification>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub planning_qty: Option<f64>,
#[serde(
rename = "planningUOM",
default,
skip_serializing_if = "Option::is_none"
)]
pub planning_uom: Option<String>,
#[serde(
rename = "planningUOMConversion",
default,
skip_serializing_if = "Option::is_none"
)]
pub planning_uom_conversion: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postamble: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub preamble: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub predecessors: Option<Vec<crate::models::AppointmentDependency>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prevent_synch: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub progress: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recurrence_exception_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recurrence_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recurrence_rule: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recurrence_start_date: Option<String>,
#[serde(
rename = "roundToUOM",
default,
skip_serializing_if = "Option::is_none"
)]
pub round_to_uom: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sent_from_backoffice: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sent_from_exchange: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_address_geo_lat: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_address_geo_long: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source_app: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub successors: Option<Vec<crate::models::AppointmentDependency>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task: Option<crate::models::Task>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_marker: Option<crate::models::TimeMarker>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_marker_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_zone_string: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timestamp: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub transactions: Option<Vec<crate::models::Transaction>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub update_trigger: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_fix_planning_qty: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AppointmentContainer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment: Option<crate::models::Appointment>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub container: Option<crate::models::Container>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub container_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub index: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AppointmentDependency {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cls: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub from: Option<crate::models::Appointment>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub from_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lag: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lag_unit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub to: Option<crate::models::Appointment>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub to_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub type_: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AppointmentField {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_field_values: Option<Vec<crate::models::AppointmentFieldValue>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fields: Option<Vec<crate::models::AppointmentSectionField>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<Vec<crate::models::AppointmentFieldOption>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub type_: Option<crate::models::FieldType>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AppointmentFieldOption {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field: Option<crate::models::AppointmentField>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AppointmentFieldValue {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment: Option<crate::models::Appointment>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_field: Option<crate::models::AppointmentField>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_field_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AppointmentSection {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fields: Option<Vec<crate::models::AppointmentSectionField>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub templates: Option<Vec<crate::models::AppointmentTemplateSection>>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AppointmentSectionField {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field: Option<crate::models::AppointmentField>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub section: Option<crate::models::AppointmentSection>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub section_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sequence: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AppointmentTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sections: Option<Vec<crate::models::AppointmentTemplateSection>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tasks: Option<Vec<crate::models::Task>>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AppointmentTemplateSection {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub section: Option<crate::models::AppointmentSection>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub section_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sequence: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template: Option<crate::models::AppointmentTemplate>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AppointmentUrl {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment: Option<crate::models::Appointment>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Assignment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment: Option<crate::models::Appointment>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_guid: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub derived_from_resource_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<crate::models::Resource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_assignment: Option<crate::models::TaskAssignment>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_assignment_id: Option<i64>,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum BudgetEntrySource {
#[default]
Planning = 0,
Timesheet = 1,
Manual = 2,
Budget = 3,
External = 4,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Calendar {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub business_hours: Option<Vec<crate::models::CalendarAvailability>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar_days: Option<Vec<crate::models::CalendarDay>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub children: Option<Vec<crate::models::Calendar>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub days_per_month: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub days_per_week: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hours_per_day: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub leaf: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent: Option<Box<crate::models::Calendar>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_calendars: Option<Vec<crate::models::ResourceCalendar>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<Vec<crate::models::Resource>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_calendars: Option<Vec<crate::models::TaskCalendar>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tasks: Option<Vec<crate::models::Task>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub weekend_first_day: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub weekend_second_day: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub weekends_are_workdays: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CalendarAvailability {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar: Option<crate::models::Calendar>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CalendarDay {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub business_hours: Option<Vec<crate::models::CalendarDayAvailability>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar: Option<crate::models::Calendar>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_working_day: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub override_end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub override_start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent: Option<Box<crate::models::CalendarDay>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub type_: Option<crate::models::CalendarDayType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub weekday: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CalendarDayAvailability {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar_day: Option<crate::models::CalendarDay>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar_day_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start: Option<String>,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum CalendarDayType {
#[default]
Day = 0,
Weekday = 1,
WeekdayOverride = 2,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum CapacityMode {
#[default]
Derived = 1,
Own = 2,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Category {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointments: Option<Vec<crate::models::Appointment>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hidden_to_user: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub outlook_category: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tasks: Option<Vec<crate::models::Task>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_groups: Option<Vec<crate::models::UserGroupCategory>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub users: Option<Vec<crate::models::UserCategory>>,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum ConfirmationStatus {
#[default]
Tentative = 1,
Confirmed = 2,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Connector {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub api_type: Option<crate::models::ConnectorApiType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth_type: Option<crate::models::ConnectorAuthType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret_expiry_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub crud_types: Option<Vec<crate::models::Crud>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted_on: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub login: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub send_appointment_to_web_service: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source_app: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<crate::models::ConnectorTarget>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub type_: Option<crate::models::ConnectorType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub web_service_address: Option<String>,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum ConnectorApiType {
#[default]
SOAP = 0,
REST = 1,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum ConnectorAuthType {
#[default]
None = 0,
Basic = 1,
Ntlm = 2,
Windows = 3,
OAUthMsEntraId = 4,
OAuth2ClientCredentialsBodyAuth = 5,
OAuth2ClientCredentialsBasicAuth = 6,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum ConnectorTarget {
#[default]
Appointment = 0,
TimeSheet = 1,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum ConnectorType {
#[default]
None = 0,
Bc = 1,
Nav = 2,
Webhook = 3,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum ConstraintType {
#[default]
None = 0,
FinishNoEarlierThan = 1,
FinishNoLaterThan = 2,
MustFinishOn = 3,
MustStartOn = 4,
StartNoEarlierThan = 5,
StartNoLaterThan = 6,
AsSoonAsPossible = 7,
AsLateAsPossible = 8,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Container {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_containers: Option<Vec<crate::models::AppointmentContainer>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub handle_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub handle_is_locked: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_containers: Option<Vec<crate::models::TaskContainer>>,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum Crud {
#[default]
Create = 0,
Read = 1,
Update = 2,
Delete = 3,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum DurationUnit {
#[default]
Day = 0,
Milli = 1,
Second = 2,
Minute = 3,
Hour = 4,
Week = 5,
Month = 6,
Quarter = 7,
Year = 8,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum FieldType {
#[default]
Text = 1,
Number = 2,
Boolean = 3,
Date = 4,
DateTime = 5,
Select = 6,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct FilterGroup {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub column_no: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data_filter: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_values: Option<Vec<crate::models::FilterValue>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_filter: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct FilterValue {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_group: Option<crate::models::FilterGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_group_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_filter_values: Option<Vec<crate::models::ResourceFilterValue>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_filter_values: Option<Vec<crate::models::TaskFilterValue>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_groups: Option<Vec<crate::models::UserGroupFilterValue>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub users: Option<Vec<crate::models::UserFilterValue>>,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum GroupBehavior {
#[default]
Fanout = 1,
Placeholder = 2,
Grouping = 3,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct IIndicatedEntity {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_marker_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Job {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_dependencies: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub available_in_gantt: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bill_address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bill_address_geo_lat: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bill_address_geo_long: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bill_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bill_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bill_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bill_phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bill_region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar: Option<crate::models::Calendar>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category: Option<crate::models::Category>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact_address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact_address_geo_lat: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact_address_geo_long: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact_phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creation_date_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub creator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_address_geo_lat: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_address_geo_long: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_mobile_phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub customer_reference: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_manual_selection: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit1: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit2: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit3: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit4: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit5: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date1: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date2: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date3: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date4: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date5: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal1: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal2: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal3: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal4: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal5: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text1: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text10: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text11: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text12: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text13: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text14: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text15: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text16: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text17: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text18: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text19: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text2: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text20: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text3: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text4: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text5: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text6: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text7: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text8: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text9: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub importance: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub job_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub language: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub note: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notifications: Option<Vec<crate::models::Notification>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pin: Option<crate::models::Pin>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pin_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub responsible: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub short_description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_address_geo_lat: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_address_geo_long: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_city: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_country: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_county: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_formatted_address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_address_geo_lat: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_address_geo_long: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_city: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_country: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_county: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_postcode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_street: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_from_street_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_postcode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_street: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub site_street_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source_app: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tasks: Option<Vec<crate::models::Task>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_marker: Option<crate::models::TimeMarker>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_marker_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Notification {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment: Option<crate::models::Appointment>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub job: Option<crate::models::Job>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub job_id: Option<i64>,
#[serde(rename = "mboc_Id", default, skip_serializing_if = "Option::is_none")]
pub mboc_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task: Option<crate::models::Task>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub type_: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pin {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jobs: Option<Vec<crate::models::Job>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<Vec<crate::models::Resource>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tasks: Option<Vec<crate::models::Task>>,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum PluginType {
#[default]
Dynamics = 1,
Exchange = 2,
Webhook = 3,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Profile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auto_route_calculation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_scheduler_end_time: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_scheduler_range_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_scheduler_range_value: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_scheduler_snap_interval_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_scheduler_snap_interval_value: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_scheduler_start_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_scheduler_start_time: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_scheduler_start_value: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub layout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub menu: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub min_appointment_height: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile_filters: Option<Vec<crate::models::ProfileFilter>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile_layouts: Option<Vec<crate::models::ProfileLayout>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub route_profile: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduler_friday_visible: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduler_monday_visible: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduler_notification_grid_visible: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduler_saturday_visible: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduler_sunday_visible: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduler_thursday_visible: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduler_tuesday_visible: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduler_wednesday_visible: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show_sequence_indicators: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub theme: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unit_of_distance: Option<crate::models::UnitOfDistance>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<crate::models::User>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group: Option<crate::models::UserGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_profiles: Option<Vec<crate::models::UserGroupProfile>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_profiles: Option<Vec<crate::models::UserProfile>>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ProfileFilter {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile: Option<crate::models::Profile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_defined_filter: Option<crate::models::UserDefinedFilter>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_defined_filter_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ProfileLayout {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile: Option<crate::models::Profile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_defined_layout: Option<crate::models::UserDefinedLayout>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_defined_layout_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Resource {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assignments: Option<Vec<crate::models::Assignment>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bulk_capacity: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bulk_planning: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar: Option<crate::models::Calendar>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendars: Option<Vec<crate::models::ResourceCalendar>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity_mode: Option<crate::models::CapacityMode>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub department: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub do_not_show: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exchange_integration_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exchange_integration_enabled_by_user: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exclude_from_budget_calculation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_service_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit1: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit2: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit3: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit4: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit5: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date1: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date2: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date3: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date4: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date5: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal1: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal10: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal2: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal3: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal4: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal5: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal6: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal7: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal8: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal9: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text1: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text10: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text11: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text12: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text13: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text14: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text15: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text16: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text17: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text18: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text19: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text2: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text20: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text3: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text4: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text5: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text6: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text7: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text8: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text9: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gps_tracking_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gps_tracking_resource_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group_behavior: Option<crate::models::GroupBehavior>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_address: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_address_geo_lat: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_address_geo_long: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_city: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_country: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_county: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_postcode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_street: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub home_street_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub in_service_from: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub in_service_till: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_filtered: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub members: Option<Vec<crate::models::ResourceMember>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memberships: Option<Vec<crate::models::ResourceMember>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mobile_phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub personal_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pin: Option<crate::models::Pin>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pin_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub project_assignments: Option<Vec<crate::models::TaskAssignment>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub replacement_resource: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_capacities: Option<Vec<crate::models::ResourceCapacity>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_filter_values: Option<Vec<crate::models::ResourceFilterValue>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_gps_trackings: Option<Vec<crate::models::ResourceGpsTracking>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_type: Option<crate::models::ResourceType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_type_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_urls: Option<Vec<crate::models::ResourceUrl>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sensitivity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show_as: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source_app: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub team_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub team_member_sort: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub team_member_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub team_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub team_sort: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub team_type: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ResourceCalendar {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar: Option<crate::models::Calendar>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity: Option<crate::models::Resource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start_date: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ResourceCapacity {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub quantity: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<crate::models::Resource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ResourceFilterValue {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_group_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_value: Option<crate::models::FilterValue>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_value_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<crate::models::Resource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ResourceGpsTracking {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hidden_to_user: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub latitude: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub longitude: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub power: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<crate::models::Resource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub row_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub speed: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ResourceMember {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent: Option<crate::models::Resource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<crate::models::Resource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub valid_from: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub valid_to: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ResourceType {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_multiple_selection: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable_resource_selection: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hide_clear_function: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<Vec<crate::models::Resource>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selection_with_certificate: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ResourceUrl {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<crate::models::Resource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Role {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_user_actions: Option<Vec<crate::models::RoleUserAction>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_groups: Option<Vec<crate::models::UserGroupRole>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub users: Option<Vec<crate::models::UserRole>>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RoleUserAction {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<crate::models::Role>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_action_id: Option<i32>,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum SchedulingMode {
#[default]
Normal = 0,
FixedDuration = 1,
EffortDriven = 2,
DynamicAssignment = 3,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum Severity {
#[default]
Verbose = 0,
Debug = 1,
Info = 2,
Warning = 4,
Error = 8,
Fatal = 16,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StoredProcedureData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parameter_names: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parameter_values: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stored_procedure_name: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Task {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub actual_end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub actual_no_resources: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub actual_response_date_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub actual_start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub actual_total_duration_in_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_earliest_allowed: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_latest_allowed: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_template: Option<crate::models::AppointmentTemplate>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_template_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointments: Option<Vec<crate::models::Appointment>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assignments: Option<Vec<crate::models::TaskAssignment>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub baseline_end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub baseline_percent_done: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub baseline_start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub budget_entries: Option<Vec<crate::models::TaskBudgetEntry>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bulk_planning_qty: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar: Option<crate::models::Calendar>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendars: Option<Vec<crate::models::TaskCalendar>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category: Option<crate::models::Category>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificate_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub children: Option<Vec<crate::models::Task>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub confirmed_end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub confirmed_start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub constraint_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub constraint_type: Option<crate::models::ConstraintType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<Vec<crate::models::TaskContainer>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contract_description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contract_end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contract_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contract_start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contract_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deadline_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_actual_duration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_remaining_duration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display_required_duration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub do_not_count_appointment_resource: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub draggable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub duration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub duration_in_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub duration_unit: Option<crate::models::DurationUnit>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effort: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effort_unit: Option<crate::models::DurationUnit>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expanded: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expected_response_date_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit1: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit2: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit3: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit4: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_bit5: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date1: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date2: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date3: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date4: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_date5: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal1: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal2: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal3: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal4: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_decimal5: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text1: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text10: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text11: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text12: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text13: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text14: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text15: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text16: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text17: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text18: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text19: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text2: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text20: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text3: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text4: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text5: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text6: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text7: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text8: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub free_text9: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ignore_calendars: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub importance: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub index: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub infinite_task: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iris_area: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iris_fault: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iris_reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iris_resolution: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iris_symptom: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_complete: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_open_task: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub job: Option<crate::models::Job>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub job_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labor_warranty_end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labor_warranty_start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub leaf: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location_description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub manually_scheduled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub note: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notifications: Option<Vec<crate::models::Notification>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent: Option<Box<crate::models::Task>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parent_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parts_warranty_end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parts_warranty_start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub percent_done: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub perpetuation: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pin: Option<crate::models::Pin>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pin_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub planning_qty: Option<f64>,
#[serde(
rename = "planningUOM",
default,
skip_serializing_if = "Option::is_none"
)]
pub planning_uom: Option<String>,
#[serde(
rename = "planningUOMConversion",
default,
skip_serializing_if = "Option::is_none"
)]
pub planning_uom_conversion: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub predecessors: Option<Vec<crate::models::TaskDependency>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prevent_synch: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remaining_duration_in_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remaining_no_resources: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requested_end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requested_end_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requested_start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requested_start_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_no_resources: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_total_duration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required_total_duration_in_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resizable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rollup: Option<bool>,
#[serde(
rename = "roundToUOM",
default,
skip_serializing_if = "Option::is_none"
)]
pub round_to_uom: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheduling_mode: Option<crate::models::SchedulingMode>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub segments: Option<Vec<crate::models::TaskSegment>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_group: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service_serial_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub short_description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show_in_timeline: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub skill1: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub skill2: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub skill3: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub successors: Option<Vec<crate::models::TaskDependency>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_filter_values: Option<Vec<crate::models::TaskFilterValue>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_no: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_open_as_of: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_open_till: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_type: Option<crate::models::TaskType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_urls: Option<Vec<crate::models::TaskUrl>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_marker: Option<crate::models::TimeMarker>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_marker_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timestamp: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub use_fix_planning_qty: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TaskAssignment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assignments: Option<Vec<crate::models::Assignment>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub job_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modified: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub quantity: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub quantity_unit: Option<crate::models::AllocationUnit>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requirement_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<crate::models::Resource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task: Option<crate::models::Task>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub units: Option<f64>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TaskBudgetEntry {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delta_in_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub period_end: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub period_start: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<crate::models::BudgetEntrySource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task: Option<crate::models::Task>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_id: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TaskCalendar {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar: Option<crate::models::Calendar>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub calendar_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity: Option<crate::models::Task>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start_date: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TaskContainer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub container: Option<crate::models::Container>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub container_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub index: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task: Option<crate::models::Task>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_id: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TaskDependency {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cls: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub from: Option<crate::models::Task>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub from_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lag: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lag_unit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub to: Option<crate::models::Task>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub to_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub type_: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TaskFilterValue {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_group_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_value: Option<crate::models::FilterValue>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_value_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task: Option<crate::models::Task>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_id: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TaskSegment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cls: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub duration: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub duration_unit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task: Option<crate::models::Task>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_id: Option<i64>,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum TaskType {
#[default]
Planning = 0,
Project = 1,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TaskUrl {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task: Option<crate::models::Task>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum TimeEntryStatus {
#[default]
Draft = 0,
Submitting = 1,
Accepted = 2,
Failed = 3,
Approved = 4,
Rejected = 5,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TimeMarker {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointments: Option<Vec<crate::models::Appointment>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hidden_to_user: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tasks: Option<Vec<crate::models::Task>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_groups: Option<Vec<crate::models::UserGroupTimeMarker>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub users: Option<Vec<crate::models::UserTimeMarker>>,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum TimeSessionType {
#[default]
Work = 0,
Travel = 1,
Waiting = 2,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Transaction {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<crate::models::Crud>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment: Option<crate::models::Appointment>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appointment_id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connector: Option<crate::models::Connector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connector_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modified_by: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<crate::models::TransactionSource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<crate::models::TransactionStatus>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub type_: Option<crate::models::PluginType>,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum TransactionSource {
#[default]
Service = 0,
WebSite = 1,
Job = 2,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum TransactionStatus {
#[default]
Success = 0,
BackOfficeNotAllowed = 2,
EmptyBackOffice = 3,
InvalidBackOfficeSettings = 4,
InvalidBackOfficeType = 5,
WrongUrl = 6,
Skipped = 7,
Failed = 8,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Default,
serde_repr::Serialize_repr,
serde_repr::Deserialize_repr,
)]
#[repr(i32)]
pub enum UnitOfDistance {
#[default]
Km = 1,
Mi = 2,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct User {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authentication_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filters: Option<Vec<crate::models::UserDefinedFilter>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub language: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub layouts: Option<Vec<crate::models::UserDefinedLayout>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profiles: Option<Vec<crate::models::Profile>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_zone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_categories: Option<Vec<crate::models::UserCategory>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_filter_values: Option<Vec<crate::models::UserFilterValue>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_groups: Option<Vec<crate::models::UserGroupUser>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_profiles: Option<Vec<crate::models::UserProfile>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_roles: Option<Vec<crate::models::UserRole>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_time_markers: Option<Vec<crate::models::UserTimeMarker>>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserCategory {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category: Option<crate::models::Category>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity: Option<crate::models::User>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserDefinedFilter {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile_filters: Option<Vec<crate::models::ProfileFilter>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<crate::models::User>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group: Option<crate::models::UserGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserDefinedLayout {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub layout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub layout_context: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parameters: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile_layouts: Option<Vec<crate::models::ProfileLayout>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub public: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<crate::models::User>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group: Option<crate::models::UserGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserFilterValue {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity: Option<crate::models::User>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_value: Option<crate::models::FilterValue>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_value_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserGroup {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profiles: Option<Vec<crate::models::Profile>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_defined_filters: Option<Vec<crate::models::UserDefinedFilter>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_defined_layouts: Option<Vec<crate::models::UserDefinedLayout>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_categories: Option<Vec<crate::models::UserGroupCategory>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_filter_values: Option<Vec<crate::models::UserGroupFilterValue>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_profiles: Option<Vec<crate::models::UserGroupProfile>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_roles: Option<Vec<crate::models::UserGroupRole>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_time_markers: Option<Vec<crate::models::UserGroupTimeMarker>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub users: Option<Vec<crate::models::UserGroupUser>>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserGroupCategory {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category: Option<crate::models::Category>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub category_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity: Option<crate::models::UserGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserGroupFilterValue {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity: Option<crate::models::UserGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_value: Option<crate::models::FilterValue>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filter_value_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserGroupProfile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity: Option<crate::models::UserGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile: Option<crate::models::Profile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserGroupRole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity: Option<crate::models::UserGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<crate::models::Role>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserGroupTimeMarker {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity: Option<crate::models::UserGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_marker: Option<crate::models::TimeMarker>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_marker_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserGroupUser {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<crate::models::User>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group: Option<crate::models::UserGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_group_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserProfile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity: Option<crate::models::User>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile: Option<crate::models::Profile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserRole {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity: Option<crate::models::User>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<crate::models::Role>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role_id: Option<i32>,
}
#[derive(Debug, Clone, PartialEq, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserTimeMarker {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity: Option<crate::models::User>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entity_id: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_marker: Option<crate::models::TimeMarker>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub time_marker_id: Option<i32>,
}