highlevel_api/apis/locations/
types.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4#[serde(rename_all = "camelCase")]
5pub struct Location {
6 pub id: String,
7 pub name: String,
8 #[serde(skip_serializing_if = "Option::is_none")]
9 pub address: Option<String>,
10 #[serde(skip_serializing_if = "Option::is_none")]
11 pub city: Option<String>,
12 #[serde(skip_serializing_if = "Option::is_none")]
13 pub state: Option<String>,
14 #[serde(skip_serializing_if = "Option::is_none")]
15 pub country: Option<String>,
16 #[serde(skip_serializing_if = "Option::is_none")]
17 pub postal_code: Option<String>,
18 #[serde(skip_serializing_if = "Option::is_none")]
19 pub phone: Option<String>,
20 #[serde(skip_serializing_if = "Option::is_none")]
21 pub email: Option<String>,
22 #[serde(skip_serializing_if = "Option::is_none")]
23 pub website: Option<String>,
24 #[serde(skip_serializing_if = "Option::is_none")]
25 pub timezone: Option<String>,
26 #[serde(skip_serializing_if = "Option::is_none")]
27 pub company_id: Option<String>,
28 #[serde(skip_serializing_if = "Option::is_none")]
29 pub date_added: Option<String>,
30 #[serde(skip_serializing_if = "Option::is_none")]
31 pub date_updated: Option<String>,
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize)]
35pub struct GetLocationResponse {
36 pub location: Location,
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize, Default)]
40#[serde(rename_all = "camelCase")]
41pub struct SearchLocationsParams {
42 #[serde(skip_serializing_if = "Option::is_none")]
43 pub company_id: Option<String>,
44 #[serde(skip_serializing_if = "Option::is_none")]
45 pub email: Option<String>,
46 #[serde(skip_serializing_if = "Option::is_none")]
47 pub limit: Option<u32>,
48 #[serde(skip_serializing_if = "Option::is_none")]
49 pub order: Option<String>,
50 #[serde(skip_serializing_if = "Option::is_none")]
51 pub search_term: Option<String>,
52 #[serde(skip_serializing_if = "Option::is_none")]
53 pub skip: Option<u32>,
54}
55
56#[derive(Debug, Clone, Serialize, Deserialize)]
57pub struct SearchLocationsResponse {
58 pub locations: Vec<Location>,
59 pub total: Option<u64>,
60 pub count: Option<u64>,
61}
62
63#[derive(Debug, Clone, Serialize, Deserialize, Default)]
64#[serde(rename_all = "camelCase")]
65pub struct CreateLocationParams {
66 pub name: String,
67 pub company_id: String,
68 #[serde(skip_serializing_if = "Option::is_none")]
69 pub address: Option<String>,
70 #[serde(skip_serializing_if = "Option::is_none")]
71 pub city: Option<String>,
72 #[serde(skip_serializing_if = "Option::is_none")]
73 pub state: Option<String>,
74 #[serde(skip_serializing_if = "Option::is_none")]
75 pub country: Option<String>,
76 #[serde(skip_serializing_if = "Option::is_none")]
77 pub postal_code: Option<String>,
78 #[serde(skip_serializing_if = "Option::is_none")]
79 pub phone: Option<String>,
80 #[serde(skip_serializing_if = "Option::is_none")]
81 pub email: Option<String>,
82 #[serde(skip_serializing_if = "Option::is_none")]
83 pub website: Option<String>,
84 #[serde(skip_serializing_if = "Option::is_none")]
85 pub timezone: Option<String>,
86}
87
88pub type UpdateLocationParams = CreateLocationParams;
89
90#[derive(Debug, Clone, Serialize, Deserialize)]
91pub struct DeleteLocationResponse {
92 pub succeded: bool,
93}
94
95#[derive(Debug, Clone, Serialize, Deserialize)]
98#[serde(rename_all = "camelCase")]
99pub struct CustomField {
100 pub id: String,
101 pub name: String,
102 #[serde(rename = "type")]
103 pub type_: String,
104 #[serde(skip_serializing_if = "Option::is_none")]
105 pub field_key: Option<String>,
106 #[serde(skip_serializing_if = "Option::is_none")]
107 pub placeholder: Option<String>,
108 #[serde(skip_serializing_if = "Option::is_none")]
109 pub position: Option<u32>,
110 #[serde(default)]
111 pub options: Vec<String>,
112}
113
114#[derive(Debug, Clone, Serialize, Deserialize)]
115#[serde(rename_all = "camelCase")]
116pub struct GetCustomFieldsResponse {
117 pub custom_fields: Vec<CustomField>,
118}
119
120#[derive(Debug, Clone, Serialize, Deserialize)]
121#[serde(rename_all = "camelCase")]
122pub struct GetCustomFieldResponse {
123 pub custom_field: CustomField,
124}
125
126#[derive(Debug, Clone, Serialize, Deserialize, Default)]
127#[serde(rename_all = "camelCase")]
128pub struct CreateCustomFieldParams {
129 pub name: String,
130 #[serde(rename = "type")]
131 pub type_: String,
132 #[serde(skip_serializing_if = "Option::is_none")]
133 pub placeholder: Option<String>,
134 #[serde(skip_serializing_if = "Option::is_none")]
135 pub position: Option<u32>,
136 #[serde(skip_serializing_if = "Option::is_none")]
137 pub options: Option<Vec<String>>,
138}
139
140#[derive(Debug, Clone, Serialize, Deserialize)]
143#[serde(rename_all = "camelCase")]
144pub struct LocationTag {
145 pub id: String,
146 pub name: String,
147 pub location_id: String,
148}
149
150#[derive(Debug, Clone, Serialize, Deserialize)]
151pub struct GetTagsResponse {
152 pub tags: Vec<LocationTag>,
153}
154
155#[derive(Debug, Clone, Serialize, Deserialize)]
156pub struct GetTagResponse {
157 pub tag: LocationTag,
158}
159
160#[derive(Debug, Clone, Serialize, Deserialize)]
161pub struct CreateTagParams {
162 pub name: String,
163}