1pub use thunkmetrc_client::MetrcClient;
2use serde_json::Value;
3use serde::{Deserialize, Serialize};
4use std::error::Error;
5use std::sync::Arc;
6mod ratelimiter;
7use ratelimiter::{MetrcRateLimiter, RateLimiterConfig};
8
9pub struct MetrcWrapper {
10 client: MetrcClient,
11 rate_limiter: Arc<MetrcRateLimiter>,
12}
13
14impl MetrcWrapper {
15 pub fn new(client: MetrcClient) -> Self {
16 MetrcWrapper {
17 client,
18 rate_limiter: Arc::new(MetrcRateLimiter::new(Some(RateLimiterConfig::default()))),
19 }
20 }
21
22 pub fn new_with_config(client: MetrcClient, config: RateLimiterConfig) -> Self {
23 MetrcWrapper {
24 client,
25 rate_limiter: Arc::new(MetrcRateLimiter::new(Some(config))),
26 }
27 }
28
29 pub async fn processing_jobs_create_adjust_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreateAdjustV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
34 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
35 let client = self.client.clone();
36 let body_val = body_val.clone();
37 self.rate_limiter.execute(None, false, move || {
38 let client = client.clone();
39 let license_number = license_number.clone();
40 let body_val = body_val.clone();
41 async move { client.processing_jobs_create_adjust_v1(license_number, body_val.as_ref()).await }
42 }).await
43 }
44
45 pub async fn processing_jobs_create_adjust_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreateAdjustV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
52 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
53 let client = self.client.clone();
54 let body_val = body_val.clone();
55 self.rate_limiter.execute(None, false, move || {
56 let client = client.clone();
57 let license_number = license_number.clone();
58 let body_val = body_val.clone();
59 async move { client.processing_jobs_create_adjust_v2(license_number, body_val.as_ref()).await }
60 }).await
61 }
62
63 pub async fn processing_jobs_create_jobtypes_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreateJobtypesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
68 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
69 let client = self.client.clone();
70 let body_val = body_val.clone();
71 self.rate_limiter.execute(None, false, move || {
72 let client = client.clone();
73 let license_number = license_number.clone();
74 let body_val = body_val.clone();
75 async move { client.processing_jobs_create_jobtypes_v1(license_number, body_val.as_ref()).await }
76 }).await
77 }
78
79 pub async fn processing_jobs_create_jobtypes_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreateJobtypesV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
86 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
87 let client = self.client.clone();
88 let body_val = body_val.clone();
89 self.rate_limiter.execute(None, false, move || {
90 let client = client.clone();
91 let license_number = license_number.clone();
92 let body_val = body_val.clone();
93 async move { client.processing_jobs_create_jobtypes_v2(license_number, body_val.as_ref()).await }
94 }).await
95 }
96
97 pub async fn processing_jobs_create_start_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreateStartV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
102 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
103 let client = self.client.clone();
104 let body_val = body_val.clone();
105 self.rate_limiter.execute(None, false, move || {
106 let client = client.clone();
107 let license_number = license_number.clone();
108 let body_val = body_val.clone();
109 async move { client.processing_jobs_create_start_v1(license_number, body_val.as_ref()).await }
110 }).await
111 }
112
113 pub async fn processing_jobs_create_start_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreateStartV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
120 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
121 let client = self.client.clone();
122 let body_val = body_val.clone();
123 self.rate_limiter.execute(None, false, move || {
124 let client = client.clone();
125 let license_number = license_number.clone();
126 let body_val = body_val.clone();
127 async move { client.processing_jobs_create_start_v2(license_number, body_val.as_ref()).await }
128 }).await
129 }
130
131 pub async fn processing_jobs_createpackages_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreatepackagesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
136 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
137 let client = self.client.clone();
138 let body_val = body_val.clone();
139 self.rate_limiter.execute(None, false, move || {
140 let client = client.clone();
141 let license_number = license_number.clone();
142 let body_val = body_val.clone();
143 async move { client.processing_jobs_createpackages_v1(license_number, body_val.as_ref()).await }
144 }).await
145 }
146
147 pub async fn processing_jobs_createpackages_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreatepackagesV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
154 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
155 let client = self.client.clone();
156 let body_val = body_val.clone();
157 self.rate_limiter.execute(None, false, move || {
158 let client = client.clone();
159 let license_number = license_number.clone();
160 let body_val = body_val.clone();
161 async move { client.processing_jobs_createpackages_v2(license_number, body_val.as_ref()).await }
162 }).await
163 }
164
165 pub async fn processing_jobs_delete_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
170 let id = id.to_string();
171 let client = self.client.clone();
172 let body = body.cloned();
173 self.rate_limiter.execute(None, false, move || {
174 let client = client.clone();
175 let id = id.clone();
176 let license_number = license_number.clone();
177 let body = body.clone();
178 async move { client.processing_jobs_delete_v1(&id, license_number, body.as_ref()).await }
179 }).await
180 }
181
182 pub async fn processing_jobs_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
189 let id = id.to_string();
190 let client = self.client.clone();
191 let body = body.cloned();
192 self.rate_limiter.execute(None, false, move || {
193 let client = client.clone();
194 let id = id.clone();
195 let license_number = license_number.clone();
196 let body = body.clone();
197 async move { client.processing_jobs_delete_v2(&id, license_number, body.as_ref()).await }
198 }).await
199 }
200
201 pub async fn processing_jobs_delete_jobtypes_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
206 let id = id.to_string();
207 let client = self.client.clone();
208 let body = body.cloned();
209 self.rate_limiter.execute(None, false, move || {
210 let client = client.clone();
211 let id = id.clone();
212 let license_number = license_number.clone();
213 let body = body.clone();
214 async move { client.processing_jobs_delete_jobtypes_v1(&id, license_number, body.as_ref()).await }
215 }).await
216 }
217
218 pub async fn processing_jobs_delete_jobtypes_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
225 let id = id.to_string();
226 let client = self.client.clone();
227 let body = body.cloned();
228 self.rate_limiter.execute(None, false, move || {
229 let client = client.clone();
230 let id = id.clone();
231 let license_number = license_number.clone();
232 let body = body.clone();
233 async move { client.processing_jobs_delete_jobtypes_v2(&id, license_number, body.as_ref()).await }
234 }).await
235 }
236
237 pub async fn processing_jobs_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
242 let id = id.to_string();
243 let client = self.client.clone();
244 let body = body.cloned();
245 self.rate_limiter.execute(None, true, move || {
246 let client = client.clone();
247 let id = id.clone();
248 let license_number = license_number.clone();
249 let body = body.clone();
250 async move { client.processing_jobs_get_v1(&id, license_number, body.as_ref()).await }
251 }).await
252 }
253
254 pub async fn processing_jobs_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
261 let id = id.to_string();
262 let client = self.client.clone();
263 let body = body.cloned();
264 self.rate_limiter.execute(None, true, move || {
265 let client = client.clone();
266 let id = id.clone();
267 let license_number = license_number.clone();
268 let body = body.clone();
269 async move { client.processing_jobs_get_v2(&id, license_number, body.as_ref()).await }
270 }).await
271 }
272
273 pub async fn processing_jobs_get_active_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
278 let client = self.client.clone();
279 let body = body.cloned();
280 self.rate_limiter.execute(None, true, move || {
281 let client = client.clone();
282 let last_modified_end = last_modified_end.clone();
283 let last_modified_start = last_modified_start.clone();
284 let license_number = license_number.clone();
285 let body = body.clone();
286 async move { client.processing_jobs_get_active_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
287 }).await
288 }
289
290 pub async fn processing_jobs_get_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
297 let client = self.client.clone();
298 let body = body.cloned();
299 self.rate_limiter.execute(None, true, move || {
300 let client = client.clone();
301 let last_modified_end = last_modified_end.clone();
302 let last_modified_start = last_modified_start.clone();
303 let license_number = license_number.clone();
304 let page_number = page_number.clone();
305 let page_size = page_size.clone();
306 let body = body.clone();
307 async move { client.processing_jobs_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
308 }).await
309 }
310
311 pub async fn processing_jobs_get_inactive_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
316 let client = self.client.clone();
317 let body = body.cloned();
318 self.rate_limiter.execute(None, true, move || {
319 let client = client.clone();
320 let last_modified_end = last_modified_end.clone();
321 let last_modified_start = last_modified_start.clone();
322 let license_number = license_number.clone();
323 let body = body.clone();
324 async move { client.processing_jobs_get_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
325 }).await
326 }
327
328 pub async fn processing_jobs_get_inactive_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
335 let client = self.client.clone();
336 let body = body.cloned();
337 self.rate_limiter.execute(None, true, move || {
338 let client = client.clone();
339 let last_modified_end = last_modified_end.clone();
340 let last_modified_start = last_modified_start.clone();
341 let license_number = license_number.clone();
342 let page_number = page_number.clone();
343 let page_size = page_size.clone();
344 let body = body.clone();
345 async move { client.processing_jobs_get_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
346 }).await
347 }
348
349 pub async fn processing_jobs_get_jobtypes_active_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
354 let client = self.client.clone();
355 let body = body.cloned();
356 self.rate_limiter.execute(None, true, move || {
357 let client = client.clone();
358 let last_modified_end = last_modified_end.clone();
359 let last_modified_start = last_modified_start.clone();
360 let license_number = license_number.clone();
361 let body = body.clone();
362 async move { client.processing_jobs_get_jobtypes_active_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
363 }).await
364 }
365
366 pub async fn processing_jobs_get_jobtypes_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
373 let client = self.client.clone();
374 let body = body.cloned();
375 self.rate_limiter.execute(None, true, move || {
376 let client = client.clone();
377 let last_modified_end = last_modified_end.clone();
378 let last_modified_start = last_modified_start.clone();
379 let license_number = license_number.clone();
380 let page_number = page_number.clone();
381 let page_size = page_size.clone();
382 let body = body.clone();
383 async move { client.processing_jobs_get_jobtypes_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
384 }).await
385 }
386
387 pub async fn processing_jobs_get_jobtypes_attributes_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
392 let client = self.client.clone();
393 let body = body.cloned();
394 self.rate_limiter.execute(None, true, move || {
395 let client = client.clone();
396 let license_number = license_number.clone();
397 let body = body.clone();
398 async move { client.processing_jobs_get_jobtypes_attributes_v1(license_number, body.as_ref()).await }
399 }).await
400 }
401
402 pub async fn processing_jobs_get_jobtypes_attributes_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
409 let client = self.client.clone();
410 let body = body.cloned();
411 self.rate_limiter.execute(None, true, move || {
412 let client = client.clone();
413 let license_number = license_number.clone();
414 let body = body.clone();
415 async move { client.processing_jobs_get_jobtypes_attributes_v2(license_number, body.as_ref()).await }
416 }).await
417 }
418
419 pub async fn processing_jobs_get_jobtypes_categories_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
424 let client = self.client.clone();
425 let body = body.cloned();
426 self.rate_limiter.execute(None, true, move || {
427 let client = client.clone();
428 let license_number = license_number.clone();
429 let body = body.clone();
430 async move { client.processing_jobs_get_jobtypes_categories_v1(license_number, body.as_ref()).await }
431 }).await
432 }
433
434 pub async fn processing_jobs_get_jobtypes_categories_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
441 let client = self.client.clone();
442 let body = body.cloned();
443 self.rate_limiter.execute(None, true, move || {
444 let client = client.clone();
445 let license_number = license_number.clone();
446 let body = body.clone();
447 async move { client.processing_jobs_get_jobtypes_categories_v2(license_number, body.as_ref()).await }
448 }).await
449 }
450
451 pub async fn processing_jobs_get_jobtypes_inactive_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
456 let client = self.client.clone();
457 let body = body.cloned();
458 self.rate_limiter.execute(None, true, move || {
459 let client = client.clone();
460 let last_modified_end = last_modified_end.clone();
461 let last_modified_start = last_modified_start.clone();
462 let license_number = license_number.clone();
463 let body = body.clone();
464 async move { client.processing_jobs_get_jobtypes_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
465 }).await
466 }
467
468 pub async fn processing_jobs_get_jobtypes_inactive_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
475 let client = self.client.clone();
476 let body = body.cloned();
477 self.rate_limiter.execute(None, true, move || {
478 let client = client.clone();
479 let last_modified_end = last_modified_end.clone();
480 let last_modified_start = last_modified_start.clone();
481 let license_number = license_number.clone();
482 let page_number = page_number.clone();
483 let page_size = page_size.clone();
484 let body = body.clone();
485 async move { client.processing_jobs_get_jobtypes_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
486 }).await
487 }
488
489 pub async fn processing_jobs_update_finish_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsUpdateFinishV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
494 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
495 let client = self.client.clone();
496 let body_val = body_val.clone();
497 self.rate_limiter.execute(None, false, move || {
498 let client = client.clone();
499 let license_number = license_number.clone();
500 let body_val = body_val.clone();
501 async move { client.processing_jobs_update_finish_v1(license_number, body_val.as_ref()).await }
502 }).await
503 }
504
505 pub async fn processing_jobs_update_finish_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsUpdateFinishV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
512 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
513 let client = self.client.clone();
514 let body_val = body_val.clone();
515 self.rate_limiter.execute(None, false, move || {
516 let client = client.clone();
517 let license_number = license_number.clone();
518 let body_val = body_val.clone();
519 async move { client.processing_jobs_update_finish_v2(license_number, body_val.as_ref()).await }
520 }).await
521 }
522
523 pub async fn processing_jobs_update_jobtypes_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsUpdateJobtypesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
528 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
529 let client = self.client.clone();
530 let body_val = body_val.clone();
531 self.rate_limiter.execute(None, false, move || {
532 let client = client.clone();
533 let license_number = license_number.clone();
534 let body_val = body_val.clone();
535 async move { client.processing_jobs_update_jobtypes_v1(license_number, body_val.as_ref()).await }
536 }).await
537 }
538
539 pub async fn processing_jobs_update_jobtypes_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsUpdateJobtypesV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
546 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
547 let client = self.client.clone();
548 let body_val = body_val.clone();
549 self.rate_limiter.execute(None, false, move || {
550 let client = client.clone();
551 let license_number = license_number.clone();
552 let body_val = body_val.clone();
553 async move { client.processing_jobs_update_jobtypes_v2(license_number, body_val.as_ref()).await }
554 }).await
555 }
556
557 pub async fn processing_jobs_update_unfinish_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsUpdateUnfinishV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
562 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
563 let client = self.client.clone();
564 let body_val = body_val.clone();
565 self.rate_limiter.execute(None, false, move || {
566 let client = client.clone();
567 let license_number = license_number.clone();
568 let body_val = body_val.clone();
569 async move { client.processing_jobs_update_unfinish_v1(license_number, body_val.as_ref()).await }
570 }).await
571 }
572
573 pub async fn processing_jobs_update_unfinish_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsUpdateUnfinishV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
580 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
581 let client = self.client.clone();
582 let body_val = body_val.clone();
583 self.rate_limiter.execute(None, false, move || {
584 let client = client.clone();
585 let license_number = license_number.clone();
586 let body_val = body_val.clone();
587 async move { client.processing_jobs_update_unfinish_v2(license_number, body_val.as_ref()).await }
588 }).await
589 }
590
591 pub async fn sales_create_delivery_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
598 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
599 let client = self.client.clone();
600 let body_val = body_val.clone();
601 self.rate_limiter.execute(None, false, move || {
602 let client = client.clone();
603 let license_number = license_number.clone();
604 let body_val = body_val.clone();
605 async move { client.sales_create_delivery_v1(license_number, body_val.as_ref()).await }
606 }).await
607 }
608
609 pub async fn sales_create_delivery_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
620 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
621 let client = self.client.clone();
622 let body_val = body_val.clone();
623 self.rate_limiter.execute(None, false, move || {
624 let client = client.clone();
625 let license_number = license_number.clone();
626 let body_val = body_val.clone();
627 async move { client.sales_create_delivery_v2(license_number, body_val.as_ref()).await }
628 }).await
629 }
630
631 pub async fn sales_create_delivery_retailer_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
638 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
639 let client = self.client.clone();
640 let body_val = body_val.clone();
641 self.rate_limiter.execute(None, false, move || {
642 let client = client.clone();
643 let license_number = license_number.clone();
644 let body_val = body_val.clone();
645 async move { client.sales_create_delivery_retailer_v1(license_number, body_val.as_ref()).await }
646 }).await
647 }
648
649 pub async fn sales_create_delivery_retailer_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
662 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
663 let client = self.client.clone();
664 let body_val = body_val.clone();
665 self.rate_limiter.execute(None, false, move || {
666 let client = client.clone();
667 let license_number = license_number.clone();
668 let body_val = body_val.clone();
669 async move { client.sales_create_delivery_retailer_v2(license_number, body_val.as_ref()).await }
670 }).await
671 }
672
673 pub async fn sales_create_delivery_retailer_depart_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerDepartV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
678 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
679 let client = self.client.clone();
680 let body_val = body_val.clone();
681 self.rate_limiter.execute(None, false, move || {
682 let client = client.clone();
683 let license_number = license_number.clone();
684 let body_val = body_val.clone();
685 async move { client.sales_create_delivery_retailer_depart_v1(license_number, body_val.as_ref()).await }
686 }).await
687 }
688
689 pub async fn sales_create_delivery_retailer_depart_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerDepartV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
700 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
701 let client = self.client.clone();
702 let body_val = body_val.clone();
703 self.rate_limiter.execute(None, false, move || {
704 let client = client.clone();
705 let license_number = license_number.clone();
706 let body_val = body_val.clone();
707 async move { client.sales_create_delivery_retailer_depart_v2(license_number, body_val.as_ref()).await }
708 }).await
709 }
710
711 pub async fn sales_create_delivery_retailer_end_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerEndV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
718 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
719 let client = self.client.clone();
720 let body_val = body_val.clone();
721 self.rate_limiter.execute(None, false, move || {
722 let client = client.clone();
723 let license_number = license_number.clone();
724 let body_val = body_val.clone();
725 async move { client.sales_create_delivery_retailer_end_v1(license_number, body_val.as_ref()).await }
726 }).await
727 }
728
729 pub async fn sales_create_delivery_retailer_end_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerEndV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
740 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
741 let client = self.client.clone();
742 let body_val = body_val.clone();
743 self.rate_limiter.execute(None, false, move || {
744 let client = client.clone();
745 let license_number = license_number.clone();
746 let body_val = body_val.clone();
747 async move { client.sales_create_delivery_retailer_end_v2(license_number, body_val.as_ref()).await }
748 }).await
749 }
750
751 pub async fn sales_create_delivery_retailer_restock_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerRestockV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
758 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
759 let client = self.client.clone();
760 let body_val = body_val.clone();
761 self.rate_limiter.execute(None, false, move || {
762 let client = client.clone();
763 let license_number = license_number.clone();
764 let body_val = body_val.clone();
765 async move { client.sales_create_delivery_retailer_restock_v1(license_number, body_val.as_ref()).await }
766 }).await
767 }
768
769 pub async fn sales_create_delivery_retailer_restock_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerRestockV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
780 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
781 let client = self.client.clone();
782 let body_val = body_val.clone();
783 self.rate_limiter.execute(None, false, move || {
784 let client = client.clone();
785 let license_number = license_number.clone();
786 let body_val = body_val.clone();
787 async move { client.sales_create_delivery_retailer_restock_v2(license_number, body_val.as_ref()).await }
788 }).await
789 }
790
791 pub async fn sales_create_delivery_retailer_sale_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerSaleV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
798 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
799 let client = self.client.clone();
800 let body_val = body_val.clone();
801 self.rate_limiter.execute(None, false, move || {
802 let client = client.clone();
803 let license_number = license_number.clone();
804 let body_val = body_val.clone();
805 async move { client.sales_create_delivery_retailer_sale_v1(license_number, body_val.as_ref()).await }
806 }).await
807 }
808
809 pub async fn sales_create_delivery_retailer_sale_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerSaleV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
821 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
822 let client = self.client.clone();
823 let body_val = body_val.clone();
824 self.rate_limiter.execute(None, false, move || {
825 let client = client.clone();
826 let license_number = license_number.clone();
827 let body_val = body_val.clone();
828 async move { client.sales_create_delivery_retailer_sale_v2(license_number, body_val.as_ref()).await }
829 }).await
830 }
831
832 pub async fn sales_create_receipt_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateReceiptV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
839 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
840 let client = self.client.clone();
841 let body_val = body_val.clone();
842 self.rate_limiter.execute(None, false, move || {
843 let client = client.clone();
844 let license_number = license_number.clone();
845 let body_val = body_val.clone();
846 async move { client.sales_create_receipt_v1(license_number, body_val.as_ref()).await }
847 }).await
848 }
849
850 pub async fn sales_create_receipt_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateReceiptV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
862 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
863 let client = self.client.clone();
864 let body_val = body_val.clone();
865 self.rate_limiter.execute(None, false, move || {
866 let client = client.clone();
867 let license_number = license_number.clone();
868 let body_val = body_val.clone();
869 async move { client.sales_create_receipt_v2(license_number, body_val.as_ref()).await }
870 }).await
871 }
872
873 pub async fn sales_create_transaction_by_date_v1(&self, date: &str, license_number: Option<String>, body: Option<&Vec<SalesCreateTransactionByDateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
878 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
879 let date = date.to_string();
880 let client = self.client.clone();
881 let body_val = body_val.clone();
882 self.rate_limiter.execute(None, false, move || {
883 let client = client.clone();
884 let date = date.clone();
885 let license_number = license_number.clone();
886 let body_val = body_val.clone();
887 async move { client.sales_create_transaction_by_date_v1(&date, license_number, body_val.as_ref()).await }
888 }).await
889 }
890
891 pub async fn sales_delete_delivery_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
896 let id = id.to_string();
897 let client = self.client.clone();
898 let body = body.cloned();
899 self.rate_limiter.execute(None, false, move || {
900 let client = client.clone();
901 let id = id.clone();
902 let license_number = license_number.clone();
903 let body = body.clone();
904 async move { client.sales_delete_delivery_v1(&id, license_number, body.as_ref()).await }
905 }).await
906 }
907
908 pub async fn sales_delete_delivery_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
915 let id = id.to_string();
916 let client = self.client.clone();
917 let body = body.cloned();
918 self.rate_limiter.execute(None, false, move || {
919 let client = client.clone();
920 let id = id.clone();
921 let license_number = license_number.clone();
922 let body = body.clone();
923 async move { client.sales_delete_delivery_v2(&id, license_number, body.as_ref()).await }
924 }).await
925 }
926
927 pub async fn sales_delete_delivery_retailer_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
932 let id = id.to_string();
933 let client = self.client.clone();
934 let body = body.cloned();
935 self.rate_limiter.execute(None, false, move || {
936 let client = client.clone();
937 let id = id.clone();
938 let license_number = license_number.clone();
939 let body = body.clone();
940 async move { client.sales_delete_delivery_retailer_v1(&id, license_number, body.as_ref()).await }
941 }).await
942 }
943
944 pub async fn sales_delete_delivery_retailer_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
955 let id = id.to_string();
956 let client = self.client.clone();
957 let body = body.cloned();
958 self.rate_limiter.execute(None, false, move || {
959 let client = client.clone();
960 let id = id.clone();
961 let license_number = license_number.clone();
962 let body = body.clone();
963 async move { client.sales_delete_delivery_retailer_v2(&id, license_number, body.as_ref()).await }
964 }).await
965 }
966
967 pub async fn sales_delete_receipt_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
972 let id = id.to_string();
973 let client = self.client.clone();
974 let body = body.cloned();
975 self.rate_limiter.execute(None, false, move || {
976 let client = client.clone();
977 let id = id.clone();
978 let license_number = license_number.clone();
979 let body = body.clone();
980 async move { client.sales_delete_receipt_v1(&id, license_number, body.as_ref()).await }
981 }).await
982 }
983
984 pub async fn sales_delete_receipt_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
991 let id = id.to_string();
992 let client = self.client.clone();
993 let body = body.cloned();
994 self.rate_limiter.execute(None, false, move || {
995 let client = client.clone();
996 let id = id.clone();
997 let license_number = license_number.clone();
998 let body = body.clone();
999 async move { client.sales_delete_receipt_v2(&id, license_number, body.as_ref()).await }
1000 }).await
1001 }
1002
1003 pub async fn sales_get_counties_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1008 let client = self.client.clone();
1009 let body = body.cloned();
1010 self.rate_limiter.execute(None, true, move || {
1011 let client = client.clone();
1012 let no = no.clone();
1013 let body = body.clone();
1014 async move { client.sales_get_counties_v1(no, body.as_ref()).await }
1015 }).await
1016 }
1017
1018 pub async fn sales_get_counties_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1025 let client = self.client.clone();
1026 let body = body.cloned();
1027 self.rate_limiter.execute(None, true, move || {
1028 let client = client.clone();
1029 let no = no.clone();
1030 let body = body.clone();
1031 async move { client.sales_get_counties_v2(no, body.as_ref()).await }
1032 }).await
1033 }
1034
1035 pub async fn sales_get_customertypes_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1040 let client = self.client.clone();
1041 let body = body.cloned();
1042 self.rate_limiter.execute(None, true, move || {
1043 let client = client.clone();
1044 let no = no.clone();
1045 let body = body.clone();
1046 async move { client.sales_get_customertypes_v1(no, body.as_ref()).await }
1047 }).await
1048 }
1049
1050 pub async fn sales_get_customertypes_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1057 let client = self.client.clone();
1058 let body = body.cloned();
1059 self.rate_limiter.execute(None, true, move || {
1060 let client = client.clone();
1061 let no = no.clone();
1062 let body = body.clone();
1063 async move { client.sales_get_customertypes_v2(no, body.as_ref()).await }
1064 }).await
1065 }
1066
1067 pub async fn sales_get_deliveries_active_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, sales_date_end: Option<String>, sales_date_start: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1072 let client = self.client.clone();
1073 let body = body.cloned();
1074 self.rate_limiter.execute(None, true, move || {
1075 let client = client.clone();
1076 let last_modified_end = last_modified_end.clone();
1077 let last_modified_start = last_modified_start.clone();
1078 let license_number = license_number.clone();
1079 let sales_date_end = sales_date_end.clone();
1080 let sales_date_start = sales_date_start.clone();
1081 let body = body.clone();
1082 async move { client.sales_get_deliveries_active_v1(last_modified_end, last_modified_start, license_number, sales_date_end, sales_date_start, body.as_ref()).await }
1083 }).await
1084 }
1085
1086 pub async fn sales_get_deliveries_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, sales_date_end: Option<String>, sales_date_start: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1094 let client = self.client.clone();
1095 let body = body.cloned();
1096 self.rate_limiter.execute(None, true, move || {
1097 let client = client.clone();
1098 let last_modified_end = last_modified_end.clone();
1099 let last_modified_start = last_modified_start.clone();
1100 let license_number = license_number.clone();
1101 let page_number = page_number.clone();
1102 let page_size = page_size.clone();
1103 let sales_date_end = sales_date_end.clone();
1104 let sales_date_start = sales_date_start.clone();
1105 let body = body.clone();
1106 async move { client.sales_get_deliveries_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, sales_date_end, sales_date_start, body.as_ref()).await }
1107 }).await
1108 }
1109
1110 pub async fn sales_get_deliveries_inactive_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, sales_date_end: Option<String>, sales_date_start: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1115 let client = self.client.clone();
1116 let body = body.cloned();
1117 self.rate_limiter.execute(None, true, move || {
1118 let client = client.clone();
1119 let last_modified_end = last_modified_end.clone();
1120 let last_modified_start = last_modified_start.clone();
1121 let license_number = license_number.clone();
1122 let sales_date_end = sales_date_end.clone();
1123 let sales_date_start = sales_date_start.clone();
1124 let body = body.clone();
1125 async move { client.sales_get_deliveries_inactive_v1(last_modified_end, last_modified_start, license_number, sales_date_end, sales_date_start, body.as_ref()).await }
1126 }).await
1127 }
1128
1129 pub async fn sales_get_deliveries_inactive_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, sales_date_end: Option<String>, sales_date_start: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1137 let client = self.client.clone();
1138 let body = body.cloned();
1139 self.rate_limiter.execute(None, true, move || {
1140 let client = client.clone();
1141 let last_modified_end = last_modified_end.clone();
1142 let last_modified_start = last_modified_start.clone();
1143 let license_number = license_number.clone();
1144 let page_number = page_number.clone();
1145 let page_size = page_size.clone();
1146 let sales_date_end = sales_date_end.clone();
1147 let sales_date_start = sales_date_start.clone();
1148 let body = body.clone();
1149 async move { client.sales_get_deliveries_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, sales_date_end, sales_date_start, body.as_ref()).await }
1150 }).await
1151 }
1152
1153 pub async fn sales_get_deliveries_retailer_active_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1158 let client = self.client.clone();
1159 let body = body.cloned();
1160 self.rate_limiter.execute(None, true, move || {
1161 let client = client.clone();
1162 let last_modified_end = last_modified_end.clone();
1163 let last_modified_start = last_modified_start.clone();
1164 let license_number = license_number.clone();
1165 let body = body.clone();
1166 async move { client.sales_get_deliveries_retailer_active_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
1167 }).await
1168 }
1169
1170 pub async fn sales_get_deliveries_retailer_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1178 let client = self.client.clone();
1179 let body = body.cloned();
1180 self.rate_limiter.execute(None, true, move || {
1181 let client = client.clone();
1182 let last_modified_end = last_modified_end.clone();
1183 let last_modified_start = last_modified_start.clone();
1184 let license_number = license_number.clone();
1185 let page_number = page_number.clone();
1186 let page_size = page_size.clone();
1187 let body = body.clone();
1188 async move { client.sales_get_deliveries_retailer_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
1189 }).await
1190 }
1191
1192 pub async fn sales_get_deliveries_retailer_inactive_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1197 let client = self.client.clone();
1198 let body = body.cloned();
1199 self.rate_limiter.execute(None, true, move || {
1200 let client = client.clone();
1201 let last_modified_end = last_modified_end.clone();
1202 let last_modified_start = last_modified_start.clone();
1203 let license_number = license_number.clone();
1204 let body = body.clone();
1205 async move { client.sales_get_deliveries_retailer_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
1206 }).await
1207 }
1208
1209 pub async fn sales_get_deliveries_retailer_inactive_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1217 let client = self.client.clone();
1218 let body = body.cloned();
1219 self.rate_limiter.execute(None, true, move || {
1220 let client = client.clone();
1221 let last_modified_end = last_modified_end.clone();
1222 let last_modified_start = last_modified_start.clone();
1223 let license_number = license_number.clone();
1224 let page_number = page_number.clone();
1225 let page_size = page_size.clone();
1226 let body = body.clone();
1227 async move { client.sales_get_deliveries_retailer_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
1228 }).await
1229 }
1230
1231 pub async fn sales_get_deliveries_returnreasons_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1236 let client = self.client.clone();
1237 let body = body.cloned();
1238 self.rate_limiter.execute(None, true, move || {
1239 let client = client.clone();
1240 let license_number = license_number.clone();
1241 let body = body.clone();
1242 async move { client.sales_get_deliveries_returnreasons_v1(license_number, body.as_ref()).await }
1243 }).await
1244 }
1245
1246 pub async fn sales_get_deliveries_returnreasons_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1253 let client = self.client.clone();
1254 let body = body.cloned();
1255 self.rate_limiter.execute(None, true, move || {
1256 let client = client.clone();
1257 let license_number = license_number.clone();
1258 let page_number = page_number.clone();
1259 let page_size = page_size.clone();
1260 let body = body.clone();
1261 async move { client.sales_get_deliveries_returnreasons_v2(license_number, page_number, page_size, body.as_ref()).await }
1262 }).await
1263 }
1264
1265 pub async fn sales_get_delivery_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1270 let id = id.to_string();
1271 let client = self.client.clone();
1272 let body = body.cloned();
1273 self.rate_limiter.execute(None, true, move || {
1274 let client = client.clone();
1275 let id = id.clone();
1276 let license_number = license_number.clone();
1277 let body = body.clone();
1278 async move { client.sales_get_delivery_v1(&id, license_number, body.as_ref()).await }
1279 }).await
1280 }
1281
1282 pub async fn sales_get_delivery_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1290 let id = id.to_string();
1291 let client = self.client.clone();
1292 let body = body.cloned();
1293 self.rate_limiter.execute(None, true, move || {
1294 let client = client.clone();
1295 let id = id.clone();
1296 let license_number = license_number.clone();
1297 let body = body.clone();
1298 async move { client.sales_get_delivery_v2(&id, license_number, body.as_ref()).await }
1299 }).await
1300 }
1301
1302 pub async fn sales_get_delivery_retailer_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1307 let id = id.to_string();
1308 let client = self.client.clone();
1309 let body = body.cloned();
1310 self.rate_limiter.execute(None, true, move || {
1311 let client = client.clone();
1312 let id = id.clone();
1313 let license_number = license_number.clone();
1314 let body = body.clone();
1315 async move { client.sales_get_delivery_retailer_v1(&id, license_number, body.as_ref()).await }
1316 }).await
1317 }
1318
1319 pub async fn sales_get_delivery_retailer_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1327 let id = id.to_string();
1328 let client = self.client.clone();
1329 let body = body.cloned();
1330 self.rate_limiter.execute(None, true, move || {
1331 let client = client.clone();
1332 let id = id.clone();
1333 let license_number = license_number.clone();
1334 let body = body.clone();
1335 async move { client.sales_get_delivery_retailer_v2(&id, license_number, body.as_ref()).await }
1336 }).await
1337 }
1338
1339 pub async fn sales_get_patient_registrations_locations_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1344 let client = self.client.clone();
1345 let body = body.cloned();
1346 self.rate_limiter.execute(None, true, move || {
1347 let client = client.clone();
1348 let no = no.clone();
1349 let body = body.clone();
1350 async move { client.sales_get_patient_registrations_locations_v1(no, body.as_ref()).await }
1351 }).await
1352 }
1353
1354 pub async fn sales_get_patient_registrations_locations_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1361 let client = self.client.clone();
1362 let body = body.cloned();
1363 self.rate_limiter.execute(None, true, move || {
1364 let client = client.clone();
1365 let no = no.clone();
1366 let body = body.clone();
1367 async move { client.sales_get_patient_registrations_locations_v2(no, body.as_ref()).await }
1368 }).await
1369 }
1370
1371 pub async fn sales_get_paymenttypes_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1376 let client = self.client.clone();
1377 let body = body.cloned();
1378 self.rate_limiter.execute(None, true, move || {
1379 let client = client.clone();
1380 let license_number = license_number.clone();
1381 let body = body.clone();
1382 async move { client.sales_get_paymenttypes_v1(license_number, body.as_ref()).await }
1383 }).await
1384 }
1385
1386 pub async fn sales_get_paymenttypes_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1394 let client = self.client.clone();
1395 let body = body.cloned();
1396 self.rate_limiter.execute(None, true, move || {
1397 let client = client.clone();
1398 let license_number = license_number.clone();
1399 let body = body.clone();
1400 async move { client.sales_get_paymenttypes_v2(license_number, body.as_ref()).await }
1401 }).await
1402 }
1403
1404 pub async fn sales_get_receipt_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1409 let id = id.to_string();
1410 let client = self.client.clone();
1411 let body = body.cloned();
1412 self.rate_limiter.execute(None, true, move || {
1413 let client = client.clone();
1414 let id = id.clone();
1415 let license_number = license_number.clone();
1416 let body = body.clone();
1417 async move { client.sales_get_receipt_v1(&id, license_number, body.as_ref()).await }
1418 }).await
1419 }
1420
1421 pub async fn sales_get_receipt_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1429 let id = id.to_string();
1430 let client = self.client.clone();
1431 let body = body.cloned();
1432 self.rate_limiter.execute(None, true, move || {
1433 let client = client.clone();
1434 let id = id.clone();
1435 let license_number = license_number.clone();
1436 let body = body.clone();
1437 async move { client.sales_get_receipt_v2(&id, license_number, body.as_ref()).await }
1438 }).await
1439 }
1440
1441 pub async fn sales_get_receipts_active_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, sales_date_end: Option<String>, sales_date_start: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1446 let client = self.client.clone();
1447 let body = body.cloned();
1448 self.rate_limiter.execute(None, true, move || {
1449 let client = client.clone();
1450 let last_modified_end = last_modified_end.clone();
1451 let last_modified_start = last_modified_start.clone();
1452 let license_number = license_number.clone();
1453 let sales_date_end = sales_date_end.clone();
1454 let sales_date_start = sales_date_start.clone();
1455 let body = body.clone();
1456 async move { client.sales_get_receipts_active_v1(last_modified_end, last_modified_start, license_number, sales_date_end, sales_date_start, body.as_ref()).await }
1457 }).await
1458 }
1459
1460 pub async fn sales_get_receipts_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, sales_date_end: Option<String>, sales_date_start: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1468 let client = self.client.clone();
1469 let body = body.cloned();
1470 self.rate_limiter.execute(None, true, move || {
1471 let client = client.clone();
1472 let last_modified_end = last_modified_end.clone();
1473 let last_modified_start = last_modified_start.clone();
1474 let license_number = license_number.clone();
1475 let page_number = page_number.clone();
1476 let page_size = page_size.clone();
1477 let sales_date_end = sales_date_end.clone();
1478 let sales_date_start = sales_date_start.clone();
1479 let body = body.clone();
1480 async move { client.sales_get_receipts_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, sales_date_end, sales_date_start, body.as_ref()).await }
1481 }).await
1482 }
1483
1484 pub async fn sales_get_receipts_external_by_external_number_v2(&self, external_number: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1492 let external_number = external_number.to_string();
1493 let client = self.client.clone();
1494 let body = body.cloned();
1495 self.rate_limiter.execute(None, true, move || {
1496 let client = client.clone();
1497 let external_number = external_number.clone();
1498 let license_number = license_number.clone();
1499 let body = body.clone();
1500 async move { client.sales_get_receipts_external_by_external_number_v2(&external_number, license_number, body.as_ref()).await }
1501 }).await
1502 }
1503
1504 pub async fn sales_get_receipts_inactive_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, sales_date_end: Option<String>, sales_date_start: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1509 let client = self.client.clone();
1510 let body = body.cloned();
1511 self.rate_limiter.execute(None, true, move || {
1512 let client = client.clone();
1513 let last_modified_end = last_modified_end.clone();
1514 let last_modified_start = last_modified_start.clone();
1515 let license_number = license_number.clone();
1516 let sales_date_end = sales_date_end.clone();
1517 let sales_date_start = sales_date_start.clone();
1518 let body = body.clone();
1519 async move { client.sales_get_receipts_inactive_v1(last_modified_end, last_modified_start, license_number, sales_date_end, sales_date_start, body.as_ref()).await }
1520 }).await
1521 }
1522
1523 pub async fn sales_get_receipts_inactive_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, sales_date_end: Option<String>, sales_date_start: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1531 let client = self.client.clone();
1532 let body = body.cloned();
1533 self.rate_limiter.execute(None, true, move || {
1534 let client = client.clone();
1535 let last_modified_end = last_modified_end.clone();
1536 let last_modified_start = last_modified_start.clone();
1537 let license_number = license_number.clone();
1538 let page_number = page_number.clone();
1539 let page_size = page_size.clone();
1540 let sales_date_end = sales_date_end.clone();
1541 let sales_date_start = sales_date_start.clone();
1542 let body = body.clone();
1543 async move { client.sales_get_receipts_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, sales_date_end, sales_date_start, body.as_ref()).await }
1544 }).await
1545 }
1546
1547 pub async fn sales_get_transactions_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1552 let client = self.client.clone();
1553 let body = body.cloned();
1554 self.rate_limiter.execute(None, true, move || {
1555 let client = client.clone();
1556 let license_number = license_number.clone();
1557 let body = body.clone();
1558 async move { client.sales_get_transactions_v1(license_number, body.as_ref()).await }
1559 }).await
1560 }
1561
1562 pub async fn sales_get_transactions_by_sales_date_start_and_sales_date_end_v1(&self, sales_date_start: &str, sales_date_end: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1567 let sales_date_start = sales_date_start.to_string();
1568 let sales_date_end = sales_date_end.to_string();
1569 let client = self.client.clone();
1570 let body = body.cloned();
1571 self.rate_limiter.execute(None, true, move || {
1572 let client = client.clone();
1573 let sales_date_start = sales_date_start.clone();
1574 let sales_date_end = sales_date_end.clone();
1575 let license_number = license_number.clone();
1576 let body = body.clone();
1577 async move { client.sales_get_transactions_by_sales_date_start_and_sales_date_end_v1(&sales_date_start, &sales_date_end, license_number, body.as_ref()).await }
1578 }).await
1579 }
1580
1581 pub async fn sales_update_delivery_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1588 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1589 let client = self.client.clone();
1590 let body_val = body_val.clone();
1591 self.rate_limiter.execute(None, false, move || {
1592 let client = client.clone();
1593 let license_number = license_number.clone();
1594 let body_val = body_val.clone();
1595 async move { client.sales_update_delivery_v1(license_number, body_val.as_ref()).await }
1596 }).await
1597 }
1598
1599 pub async fn sales_update_delivery_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1606 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1607 let client = self.client.clone();
1608 let body_val = body_val.clone();
1609 self.rate_limiter.execute(None, false, move || {
1610 let client = client.clone();
1611 let license_number = license_number.clone();
1612 let body_val = body_val.clone();
1613 async move { client.sales_update_delivery_v2(license_number, body_val.as_ref()).await }
1614 }).await
1615 }
1616
1617 pub async fn sales_update_delivery_complete_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryCompleteV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1622 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1623 let client = self.client.clone();
1624 let body_val = body_val.clone();
1625 self.rate_limiter.execute(None, false, move || {
1626 let client = client.clone();
1627 let license_number = license_number.clone();
1628 let body_val = body_val.clone();
1629 async move { client.sales_update_delivery_complete_v1(license_number, body_val.as_ref()).await }
1630 }).await
1631 }
1632
1633 pub async fn sales_update_delivery_complete_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryCompleteV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1640 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1641 let client = self.client.clone();
1642 let body_val = body_val.clone();
1643 self.rate_limiter.execute(None, false, move || {
1644 let client = client.clone();
1645 let license_number = license_number.clone();
1646 let body_val = body_val.clone();
1647 async move { client.sales_update_delivery_complete_v2(license_number, body_val.as_ref()).await }
1648 }).await
1649 }
1650
1651 pub async fn sales_update_delivery_hub_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1658 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1659 let client = self.client.clone();
1660 let body_val = body_val.clone();
1661 self.rate_limiter.execute(None, false, move || {
1662 let client = client.clone();
1663 let license_number = license_number.clone();
1664 let body_val = body_val.clone();
1665 async move { client.sales_update_delivery_hub_v1(license_number, body_val.as_ref()).await }
1666 }).await
1667 }
1668
1669 pub async fn sales_update_delivery_hub_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1676 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1677 let client = self.client.clone();
1678 let body_val = body_val.clone();
1679 self.rate_limiter.execute(None, false, move || {
1680 let client = client.clone();
1681 let license_number = license_number.clone();
1682 let body_val = body_val.clone();
1683 async move { client.sales_update_delivery_hub_v2(license_number, body_val.as_ref()).await }
1684 }).await
1685 }
1686
1687 pub async fn sales_update_delivery_hub_accept_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubAcceptV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1692 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1693 let client = self.client.clone();
1694 let body_val = body_val.clone();
1695 self.rate_limiter.execute(None, false, move || {
1696 let client = client.clone();
1697 let license_number = license_number.clone();
1698 let body_val = body_val.clone();
1699 async move { client.sales_update_delivery_hub_accept_v1(license_number, body_val.as_ref()).await }
1700 }).await
1701 }
1702
1703 pub async fn sales_update_delivery_hub_accept_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubAcceptV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1710 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1711 let client = self.client.clone();
1712 let body_val = body_val.clone();
1713 self.rate_limiter.execute(None, false, move || {
1714 let client = client.clone();
1715 let license_number = license_number.clone();
1716 let body_val = body_val.clone();
1717 async move { client.sales_update_delivery_hub_accept_v2(license_number, body_val.as_ref()).await }
1718 }).await
1719 }
1720
1721 pub async fn sales_update_delivery_hub_depart_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubDepartV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1726 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1727 let client = self.client.clone();
1728 let body_val = body_val.clone();
1729 self.rate_limiter.execute(None, false, move || {
1730 let client = client.clone();
1731 let license_number = license_number.clone();
1732 let body_val = body_val.clone();
1733 async move { client.sales_update_delivery_hub_depart_v1(license_number, body_val.as_ref()).await }
1734 }).await
1735 }
1736
1737 pub async fn sales_update_delivery_hub_depart_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubDepartV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1744 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1745 let client = self.client.clone();
1746 let body_val = body_val.clone();
1747 self.rate_limiter.execute(None, false, move || {
1748 let client = client.clone();
1749 let license_number = license_number.clone();
1750 let body_val = body_val.clone();
1751 async move { client.sales_update_delivery_hub_depart_v2(license_number, body_val.as_ref()).await }
1752 }).await
1753 }
1754
1755 pub async fn sales_update_delivery_hub_verify_id_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubVerifyIdV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1760 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1761 let client = self.client.clone();
1762 let body_val = body_val.clone();
1763 self.rate_limiter.execute(None, false, move || {
1764 let client = client.clone();
1765 let license_number = license_number.clone();
1766 let body_val = body_val.clone();
1767 async move { client.sales_update_delivery_hub_verify_id_v1(license_number, body_val.as_ref()).await }
1768 }).await
1769 }
1770
1771 pub async fn sales_update_delivery_hub_verify_id_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubVerifyIdV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1778 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1779 let client = self.client.clone();
1780 let body_val = body_val.clone();
1781 self.rate_limiter.execute(None, false, move || {
1782 let client = client.clone();
1783 let license_number = license_number.clone();
1784 let body_val = body_val.clone();
1785 async move { client.sales_update_delivery_hub_verify_id_v2(license_number, body_val.as_ref()).await }
1786 }).await
1787 }
1788
1789 pub async fn sales_update_delivery_retailer_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryRetailerV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1796 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1797 let client = self.client.clone();
1798 let body_val = body_val.clone();
1799 self.rate_limiter.execute(None, false, move || {
1800 let client = client.clone();
1801 let license_number = license_number.clone();
1802 let body_val = body_val.clone();
1803 async move { client.sales_update_delivery_retailer_v1(license_number, body_val.as_ref()).await }
1804 }).await
1805 }
1806
1807 pub async fn sales_update_delivery_retailer_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryRetailerV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1820 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1821 let client = self.client.clone();
1822 let body_val = body_val.clone();
1823 self.rate_limiter.execute(None, false, move || {
1824 let client = client.clone();
1825 let license_number = license_number.clone();
1826 let body_val = body_val.clone();
1827 async move { client.sales_update_delivery_retailer_v2(license_number, body_val.as_ref()).await }
1828 }).await
1829 }
1830
1831 pub async fn sales_update_receipt_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateReceiptV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1838 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1839 let client = self.client.clone();
1840 let body_val = body_val.clone();
1841 self.rate_limiter.execute(None, false, move || {
1842 let client = client.clone();
1843 let license_number = license_number.clone();
1844 let body_val = body_val.clone();
1845 async move { client.sales_update_receipt_v1(license_number, body_val.as_ref()).await }
1846 }).await
1847 }
1848
1849 pub async fn sales_update_receipt_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateReceiptV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1856 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1857 let client = self.client.clone();
1858 let body_val = body_val.clone();
1859 self.rate_limiter.execute(None, false, move || {
1860 let client = client.clone();
1861 let license_number = license_number.clone();
1862 let body_val = body_val.clone();
1863 async move { client.sales_update_receipt_v2(license_number, body_val.as_ref()).await }
1864 }).await
1865 }
1866
1867 pub async fn sales_update_receipt_finalize_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateReceiptFinalizeV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1874 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1875 let client = self.client.clone();
1876 let body_val = body_val.clone();
1877 self.rate_limiter.execute(None, false, move || {
1878 let client = client.clone();
1879 let license_number = license_number.clone();
1880 let body_val = body_val.clone();
1881 async move { client.sales_update_receipt_finalize_v2(license_number, body_val.as_ref()).await }
1882 }).await
1883 }
1884
1885 pub async fn sales_update_receipt_unfinalize_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateReceiptUnfinalizeV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1892 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1893 let client = self.client.clone();
1894 let body_val = body_val.clone();
1895 self.rate_limiter.execute(None, false, move || {
1896 let client = client.clone();
1897 let license_number = license_number.clone();
1898 let body_val = body_val.clone();
1899 async move { client.sales_update_receipt_unfinalize_v2(license_number, body_val.as_ref()).await }
1900 }).await
1901 }
1902
1903 pub async fn sales_update_transaction_by_date_v1(&self, date: &str, license_number: Option<String>, body: Option<&Vec<SalesUpdateTransactionByDateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1908 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1909 let date = date.to_string();
1910 let client = self.client.clone();
1911 let body_val = body_val.clone();
1912 self.rate_limiter.execute(None, false, move || {
1913 let client = client.clone();
1914 let date = date.clone();
1915 let license_number = license_number.clone();
1916 let body_val = body_val.clone();
1917 async move { client.sales_update_transaction_by_date_v1(&date, license_number, body_val.as_ref()).await }
1918 }).await
1919 }
1920
1921 pub async fn strains_create_v1(&self, license_number: Option<String>, body: Option<&Vec<StrainsCreateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1926 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1927 let client = self.client.clone();
1928 let body_val = body_val.clone();
1929 self.rate_limiter.execute(None, false, move || {
1930 let client = client.clone();
1931 let license_number = license_number.clone();
1932 let body_val = body_val.clone();
1933 async move { client.strains_create_v1(license_number, body_val.as_ref()).await }
1934 }).await
1935 }
1936
1937 pub async fn strains_create_v2(&self, license_number: Option<String>, body: Option<&Vec<StrainsCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1944 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1945 let client = self.client.clone();
1946 let body_val = body_val.clone();
1947 self.rate_limiter.execute(None, false, move || {
1948 let client = client.clone();
1949 let license_number = license_number.clone();
1950 let body_val = body_val.clone();
1951 async move { client.strains_create_v2(license_number, body_val.as_ref()).await }
1952 }).await
1953 }
1954
1955 pub async fn strains_create_update_v1(&self, license_number: Option<String>, body: Option<&Vec<StrainsCreateUpdateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1960 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1961 let client = self.client.clone();
1962 let body_val = body_val.clone();
1963 self.rate_limiter.execute(None, false, move || {
1964 let client = client.clone();
1965 let license_number = license_number.clone();
1966 let body_val = body_val.clone();
1967 async move { client.strains_create_update_v1(license_number, body_val.as_ref()).await }
1968 }).await
1969 }
1970
1971 pub async fn strains_delete_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1976 let id = id.to_string();
1977 let client = self.client.clone();
1978 let body = body.cloned();
1979 self.rate_limiter.execute(None, false, move || {
1980 let client = client.clone();
1981 let id = id.clone();
1982 let license_number = license_number.clone();
1983 let body = body.clone();
1984 async move { client.strains_delete_v1(&id, license_number, body.as_ref()).await }
1985 }).await
1986 }
1987
1988 pub async fn strains_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1995 let id = id.to_string();
1996 let client = self.client.clone();
1997 let body = body.cloned();
1998 self.rate_limiter.execute(None, false, move || {
1999 let client = client.clone();
2000 let id = id.clone();
2001 let license_number = license_number.clone();
2002 let body = body.clone();
2003 async move { client.strains_delete_v2(&id, license_number, body.as_ref()).await }
2004 }).await
2005 }
2006
2007 pub async fn strains_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2012 let id = id.to_string();
2013 let client = self.client.clone();
2014 let body = body.cloned();
2015 self.rate_limiter.execute(None, true, move || {
2016 let client = client.clone();
2017 let id = id.clone();
2018 let license_number = license_number.clone();
2019 let body = body.clone();
2020 async move { client.strains_get_v1(&id, license_number, body.as_ref()).await }
2021 }).await
2022 }
2023
2024 pub async fn strains_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2031 let id = id.to_string();
2032 let client = self.client.clone();
2033 let body = body.cloned();
2034 self.rate_limiter.execute(None, true, move || {
2035 let client = client.clone();
2036 let id = id.clone();
2037 let license_number = license_number.clone();
2038 let body = body.clone();
2039 async move { client.strains_get_v2(&id, license_number, body.as_ref()).await }
2040 }).await
2041 }
2042
2043 pub async fn strains_get_active_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2048 let client = self.client.clone();
2049 let body = body.cloned();
2050 self.rate_limiter.execute(None, true, move || {
2051 let client = client.clone();
2052 let license_number = license_number.clone();
2053 let body = body.clone();
2054 async move { client.strains_get_active_v1(license_number, body.as_ref()).await }
2055 }).await
2056 }
2057
2058 pub async fn strains_get_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2065 let client = self.client.clone();
2066 let body = body.cloned();
2067 self.rate_limiter.execute(None, true, move || {
2068 let client = client.clone();
2069 let last_modified_end = last_modified_end.clone();
2070 let last_modified_start = last_modified_start.clone();
2071 let license_number = license_number.clone();
2072 let page_number = page_number.clone();
2073 let page_size = page_size.clone();
2074 let body = body.clone();
2075 async move { client.strains_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2076 }).await
2077 }
2078
2079 pub async fn strains_get_inactive_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2086 let client = self.client.clone();
2087 let body = body.cloned();
2088 self.rate_limiter.execute(None, true, move || {
2089 let client = client.clone();
2090 let license_number = license_number.clone();
2091 let page_number = page_number.clone();
2092 let page_size = page_size.clone();
2093 let body = body.clone();
2094 async move { client.strains_get_inactive_v2(license_number, page_number, page_size, body.as_ref()).await }
2095 }).await
2096 }
2097
2098 pub async fn strains_update_v2(&self, license_number: Option<String>, body: Option<&Vec<StrainsUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2105 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2106 let client = self.client.clone();
2107 let body_val = body_val.clone();
2108 self.rate_limiter.execute(None, false, move || {
2109 let client = client.clone();
2110 let license_number = license_number.clone();
2111 let body_val = body_val.clone();
2112 async move { client.strains_update_v2(license_number, body_val.as_ref()).await }
2113 }).await
2114 }
2115
2116 pub async fn transporters_create_driver_v2(&self, license_number: Option<String>, body: Option<&Vec<TransportersCreateDriverV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2123 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2124 let client = self.client.clone();
2125 let body_val = body_val.clone();
2126 self.rate_limiter.execute(None, false, move || {
2127 let client = client.clone();
2128 let license_number = license_number.clone();
2129 let body_val = body_val.clone();
2130 async move { client.transporters_create_driver_v2(license_number, body_val.as_ref()).await }
2131 }).await
2132 }
2133
2134 pub async fn transporters_create_vehicle_v2(&self, license_number: Option<String>, body: Option<&Vec<TransportersCreateVehicleV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2141 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2142 let client = self.client.clone();
2143 let body_val = body_val.clone();
2144 self.rate_limiter.execute(None, false, move || {
2145 let client = client.clone();
2146 let license_number = license_number.clone();
2147 let body_val = body_val.clone();
2148 async move { client.transporters_create_vehicle_v2(license_number, body_val.as_ref()).await }
2149 }).await
2150 }
2151
2152 pub async fn transporters_delete_driver_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2159 let id = id.to_string();
2160 let client = self.client.clone();
2161 let body = body.cloned();
2162 self.rate_limiter.execute(None, false, move || {
2163 let client = client.clone();
2164 let id = id.clone();
2165 let license_number = license_number.clone();
2166 let body = body.clone();
2167 async move { client.transporters_delete_driver_v2(&id, license_number, body.as_ref()).await }
2168 }).await
2169 }
2170
2171 pub async fn transporters_delete_vehicle_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2178 let id = id.to_string();
2179 let client = self.client.clone();
2180 let body = body.cloned();
2181 self.rate_limiter.execute(None, false, move || {
2182 let client = client.clone();
2183 let id = id.clone();
2184 let license_number = license_number.clone();
2185 let body = body.clone();
2186 async move { client.transporters_delete_vehicle_v2(&id, license_number, body.as_ref()).await }
2187 }).await
2188 }
2189
2190 pub async fn transporters_get_driver_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2197 let id = id.to_string();
2198 let client = self.client.clone();
2199 let body = body.cloned();
2200 self.rate_limiter.execute(None, true, move || {
2201 let client = client.clone();
2202 let id = id.clone();
2203 let license_number = license_number.clone();
2204 let body = body.clone();
2205 async move { client.transporters_get_driver_v2(&id, license_number, body.as_ref()).await }
2206 }).await
2207 }
2208
2209 pub async fn transporters_get_drivers_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2216 let client = self.client.clone();
2217 let body = body.cloned();
2218 self.rate_limiter.execute(None, true, move || {
2219 let client = client.clone();
2220 let license_number = license_number.clone();
2221 let page_number = page_number.clone();
2222 let page_size = page_size.clone();
2223 let body = body.clone();
2224 async move { client.transporters_get_drivers_v2(license_number, page_number, page_size, body.as_ref()).await }
2225 }).await
2226 }
2227
2228 pub async fn transporters_get_vehicle_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2235 let id = id.to_string();
2236 let client = self.client.clone();
2237 let body = body.cloned();
2238 self.rate_limiter.execute(None, true, move || {
2239 let client = client.clone();
2240 let id = id.clone();
2241 let license_number = license_number.clone();
2242 let body = body.clone();
2243 async move { client.transporters_get_vehicle_v2(&id, license_number, body.as_ref()).await }
2244 }).await
2245 }
2246
2247 pub async fn transporters_get_vehicles_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2254 let client = self.client.clone();
2255 let body = body.cloned();
2256 self.rate_limiter.execute(None, true, move || {
2257 let client = client.clone();
2258 let license_number = license_number.clone();
2259 let page_number = page_number.clone();
2260 let page_size = page_size.clone();
2261 let body = body.clone();
2262 async move { client.transporters_get_vehicles_v2(license_number, page_number, page_size, body.as_ref()).await }
2263 }).await
2264 }
2265
2266 pub async fn transporters_update_driver_v2(&self, license_number: Option<String>, body: Option<&Vec<TransportersUpdateDriverV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2273 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2274 let client = self.client.clone();
2275 let body_val = body_val.clone();
2276 self.rate_limiter.execute(None, false, move || {
2277 let client = client.clone();
2278 let license_number = license_number.clone();
2279 let body_val = body_val.clone();
2280 async move { client.transporters_update_driver_v2(license_number, body_val.as_ref()).await }
2281 }).await
2282 }
2283
2284 pub async fn transporters_update_vehicle_v2(&self, license_number: Option<String>, body: Option<&Vec<TransportersUpdateVehicleV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2291 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2292 let client = self.client.clone();
2293 let body_val = body_val.clone();
2294 self.rate_limiter.execute(None, false, move || {
2295 let client = client.clone();
2296 let license_number = license_number.clone();
2297 let body_val = body_val.clone();
2298 async move { client.transporters_update_vehicle_v2(license_number, body_val.as_ref()).await }
2299 }).await
2300 }
2301
2302 pub async fn plants_create_additives_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateAdditivesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2307 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2308 let client = self.client.clone();
2309 let body_val = body_val.clone();
2310 self.rate_limiter.execute(None, false, move || {
2311 let client = client.clone();
2312 let license_number = license_number.clone();
2313 let body_val = body_val.clone();
2314 async move { client.plants_create_additives_v1(license_number, body_val.as_ref()).await }
2315 }).await
2316 }
2317
2318 pub async fn plants_create_additives_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateAdditivesV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2325 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2326 let client = self.client.clone();
2327 let body_val = body_val.clone();
2328 self.rate_limiter.execute(None, false, move || {
2329 let client = client.clone();
2330 let license_number = license_number.clone();
2331 let body_val = body_val.clone();
2332 async move { client.plants_create_additives_v2(license_number, body_val.as_ref()).await }
2333 }).await
2334 }
2335
2336 pub async fn plants_create_additives_bylocation_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateAdditivesBylocationV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2342 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2343 let client = self.client.clone();
2344 let body_val = body_val.clone();
2345 self.rate_limiter.execute(None, false, move || {
2346 let client = client.clone();
2347 let license_number = license_number.clone();
2348 let body_val = body_val.clone();
2349 async move { client.plants_create_additives_bylocation_v1(license_number, body_val.as_ref()).await }
2350 }).await
2351 }
2352
2353 pub async fn plants_create_additives_bylocation_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateAdditivesBylocationV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2361 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2362 let client = self.client.clone();
2363 let body_val = body_val.clone();
2364 self.rate_limiter.execute(None, false, move || {
2365 let client = client.clone();
2366 let license_number = license_number.clone();
2367 let body_val = body_val.clone();
2368 async move { client.plants_create_additives_bylocation_v2(license_number, body_val.as_ref()).await }
2369 }).await
2370 }
2371
2372 pub async fn plants_create_additives_bylocation_usingtemplate_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateAdditivesBylocationUsingtemplateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2379 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2380 let client = self.client.clone();
2381 let body_val = body_val.clone();
2382 self.rate_limiter.execute(None, false, move || {
2383 let client = client.clone();
2384 let license_number = license_number.clone();
2385 let body_val = body_val.clone();
2386 async move { client.plants_create_additives_bylocation_usingtemplate_v2(license_number, body_val.as_ref()).await }
2387 }).await
2388 }
2389
2390 pub async fn plants_create_additives_usingtemplate_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateAdditivesUsingtemplateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2397 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2398 let client = self.client.clone();
2399 let body_val = body_val.clone();
2400 self.rate_limiter.execute(None, false, move || {
2401 let client = client.clone();
2402 let license_number = license_number.clone();
2403 let body_val = body_val.clone();
2404 async move { client.plants_create_additives_usingtemplate_v2(license_number, body_val.as_ref()).await }
2405 }).await
2406 }
2407
2408 pub async fn plants_create_changegrowthphases_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateChangegrowthphasesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2414 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2415 let client = self.client.clone();
2416 let body_val = body_val.clone();
2417 self.rate_limiter.execute(None, false, move || {
2418 let client = client.clone();
2419 let license_number = license_number.clone();
2420 let body_val = body_val.clone();
2421 async move { client.plants_create_changegrowthphases_v1(license_number, body_val.as_ref()).await }
2422 }).await
2423 }
2424
2425 pub async fn plants_create_harvestplants_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateHarvestplantsV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2433 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2434 let client = self.client.clone();
2435 let body_val = body_val.clone();
2436 self.rate_limiter.execute(None, false, move || {
2437 let client = client.clone();
2438 let license_number = license_number.clone();
2439 let body_val = body_val.clone();
2440 async move { client.plants_create_harvestplants_v1(license_number, body_val.as_ref()).await }
2441 }).await
2442 }
2443
2444 pub async fn plants_create_manicure_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateManicureV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2452 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2453 let client = self.client.clone();
2454 let body_val = body_val.clone();
2455 self.rate_limiter.execute(None, false, move || {
2456 let client = client.clone();
2457 let license_number = license_number.clone();
2458 let body_val = body_val.clone();
2459 async move { client.plants_create_manicure_v2(license_number, body_val.as_ref()).await }
2460 }).await
2461 }
2462
2463 pub async fn plants_create_manicureplants_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateManicureplantsV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2469 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2470 let client = self.client.clone();
2471 let body_val = body_val.clone();
2472 self.rate_limiter.execute(None, false, move || {
2473 let client = client.clone();
2474 let license_number = license_number.clone();
2475 let body_val = body_val.clone();
2476 async move { client.plants_create_manicureplants_v1(license_number, body_val.as_ref()).await }
2477 }).await
2478 }
2479
2480 pub async fn plants_create_moveplants_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateMoveplantsV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2486 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2487 let client = self.client.clone();
2488 let body_val = body_val.clone();
2489 self.rate_limiter.execute(None, false, move || {
2490 let client = client.clone();
2491 let license_number = license_number.clone();
2492 let body_val = body_val.clone();
2493 async move { client.plants_create_moveplants_v1(license_number, body_val.as_ref()).await }
2494 }).await
2495 }
2496
2497 pub async fn plants_create_plantbatch_package_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreatePlantbatchPackageV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2507 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2508 let client = self.client.clone();
2509 let body_val = body_val.clone();
2510 self.rate_limiter.execute(None, false, move || {
2511 let client = client.clone();
2512 let license_number = license_number.clone();
2513 let body_val = body_val.clone();
2514 async move { client.plants_create_plantbatch_package_v1(license_number, body_val.as_ref()).await }
2515 }).await
2516 }
2517
2518 pub async fn plants_create_plantbatch_package_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreatePlantbatchPackageV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2530 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2531 let client = self.client.clone();
2532 let body_val = body_val.clone();
2533 self.rate_limiter.execute(None, false, move || {
2534 let client = client.clone();
2535 let license_number = license_number.clone();
2536 let body_val = body_val.clone();
2537 async move { client.plants_create_plantbatch_package_v2(license_number, body_val.as_ref()).await }
2538 }).await
2539 }
2540
2541 pub async fn plants_create_plantings_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreatePlantingsV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2549 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2550 let client = self.client.clone();
2551 let body_val = body_val.clone();
2552 self.rate_limiter.execute(None, false, move || {
2553 let client = client.clone();
2554 let license_number = license_number.clone();
2555 let body_val = body_val.clone();
2556 async move { client.plants_create_plantings_v1(license_number, body_val.as_ref()).await }
2557 }).await
2558 }
2559
2560 pub async fn plants_create_plantings_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreatePlantingsV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2570 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2571 let client = self.client.clone();
2572 let body_val = body_val.clone();
2573 self.rate_limiter.execute(None, false, move || {
2574 let client = client.clone();
2575 let license_number = license_number.clone();
2576 let body_val = body_val.clone();
2577 async move { client.plants_create_plantings_v2(license_number, body_val.as_ref()).await }
2578 }).await
2579 }
2580
2581 pub async fn plants_create_waste_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateWasteV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2586 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2587 let client = self.client.clone();
2588 let body_val = body_val.clone();
2589 self.rate_limiter.execute(None, false, move || {
2590 let client = client.clone();
2591 let license_number = license_number.clone();
2592 let body_val = body_val.clone();
2593 async move { client.plants_create_waste_v1(license_number, body_val.as_ref()).await }
2594 }).await
2595 }
2596
2597 pub async fn plants_create_waste_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateWasteV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2604 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2605 let client = self.client.clone();
2606 let body_val = body_val.clone();
2607 self.rate_limiter.execute(None, false, move || {
2608 let client = client.clone();
2609 let license_number = license_number.clone();
2610 let body_val = body_val.clone();
2611 async move { client.plants_create_waste_v2(license_number, body_val.as_ref()).await }
2612 }).await
2613 }
2614
2615 pub async fn plants_delete_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2621 let client = self.client.clone();
2622 let body = body.cloned();
2623 self.rate_limiter.execute(None, false, move || {
2624 let client = client.clone();
2625 let license_number = license_number.clone();
2626 let body = body.clone();
2627 async move { client.plants_delete_v1(license_number, body.as_ref()).await }
2628 }).await
2629 }
2630
2631 pub async fn plants_delete_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2639 let client = self.client.clone();
2640 let body = body.cloned();
2641 self.rate_limiter.execute(None, false, move || {
2642 let client = client.clone();
2643 let license_number = license_number.clone();
2644 let body = body.clone();
2645 async move { client.plants_delete_v2(license_number, body.as_ref()).await }
2646 }).await
2647 }
2648
2649 pub async fn plants_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2654 let id = id.to_string();
2655 let client = self.client.clone();
2656 let body = body.cloned();
2657 self.rate_limiter.execute(None, true, move || {
2658 let client = client.clone();
2659 let id = id.clone();
2660 let license_number = license_number.clone();
2661 let body = body.clone();
2662 async move { client.plants_get_v1(&id, license_number, body.as_ref()).await }
2663 }).await
2664 }
2665
2666 pub async fn plants_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2673 let id = id.to_string();
2674 let client = self.client.clone();
2675 let body = body.cloned();
2676 self.rate_limiter.execute(None, true, move || {
2677 let client = client.clone();
2678 let id = id.clone();
2679 let license_number = license_number.clone();
2680 let body = body.clone();
2681 async move { client.plants_get_v2(&id, license_number, body.as_ref()).await }
2682 }).await
2683 }
2684
2685 pub async fn plants_get_additives_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2690 let client = self.client.clone();
2691 let body = body.cloned();
2692 self.rate_limiter.execute(None, true, move || {
2693 let client = client.clone();
2694 let last_modified_end = last_modified_end.clone();
2695 let last_modified_start = last_modified_start.clone();
2696 let license_number = license_number.clone();
2697 let body = body.clone();
2698 async move { client.plants_get_additives_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
2699 }).await
2700 }
2701
2702 pub async fn plants_get_additives_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2709 let client = self.client.clone();
2710 let body = body.cloned();
2711 self.rate_limiter.execute(None, true, move || {
2712 let client = client.clone();
2713 let last_modified_end = last_modified_end.clone();
2714 let last_modified_start = last_modified_start.clone();
2715 let license_number = license_number.clone();
2716 let page_number = page_number.clone();
2717 let page_size = page_size.clone();
2718 let body = body.clone();
2719 async move { client.plants_get_additives_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2720 }).await
2721 }
2722
2723 pub async fn plants_get_additives_types_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2728 let client = self.client.clone();
2729 let body = body.cloned();
2730 self.rate_limiter.execute(None, true, move || {
2731 let client = client.clone();
2732 let no = no.clone();
2733 let body = body.clone();
2734 async move { client.plants_get_additives_types_v1(no, body.as_ref()).await }
2735 }).await
2736 }
2737
2738 pub async fn plants_get_additives_types_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2745 let client = self.client.clone();
2746 let body = body.cloned();
2747 self.rate_limiter.execute(None, true, move || {
2748 let client = client.clone();
2749 let no = no.clone();
2750 let body = body.clone();
2751 async move { client.plants_get_additives_types_v2(no, body.as_ref()).await }
2752 }).await
2753 }
2754
2755 pub async fn plants_get_by_label_v1(&self, label: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2760 let label = label.to_string();
2761 let client = self.client.clone();
2762 let body = body.cloned();
2763 self.rate_limiter.execute(None, true, move || {
2764 let client = client.clone();
2765 let label = label.clone();
2766 let license_number = license_number.clone();
2767 let body = body.clone();
2768 async move { client.plants_get_by_label_v1(&label, license_number, body.as_ref()).await }
2769 }).await
2770 }
2771
2772 pub async fn plants_get_by_label_v2(&self, label: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2779 let label = label.to_string();
2780 let client = self.client.clone();
2781 let body = body.cloned();
2782 self.rate_limiter.execute(None, true, move || {
2783 let client = client.clone();
2784 let label = label.clone();
2785 let license_number = license_number.clone();
2786 let body = body.clone();
2787 async move { client.plants_get_by_label_v2(&label, license_number, body.as_ref()).await }
2788 }).await
2789 }
2790
2791 pub async fn plants_get_flowering_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2796 let client = self.client.clone();
2797 let body = body.cloned();
2798 self.rate_limiter.execute(None, true, move || {
2799 let client = client.clone();
2800 let last_modified_end = last_modified_end.clone();
2801 let last_modified_start = last_modified_start.clone();
2802 let license_number = license_number.clone();
2803 let body = body.clone();
2804 async move { client.plants_get_flowering_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
2805 }).await
2806 }
2807
2808 pub async fn plants_get_flowering_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2815 let client = self.client.clone();
2816 let body = body.cloned();
2817 self.rate_limiter.execute(None, true, move || {
2818 let client = client.clone();
2819 let last_modified_end = last_modified_end.clone();
2820 let last_modified_start = last_modified_start.clone();
2821 let license_number = license_number.clone();
2822 let page_number = page_number.clone();
2823 let page_size = page_size.clone();
2824 let body = body.clone();
2825 async move { client.plants_get_flowering_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2826 }).await
2827 }
2828
2829 pub async fn plants_get_growth_phases_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2834 let client = self.client.clone();
2835 let body = body.cloned();
2836 self.rate_limiter.execute(None, true, move || {
2837 let client = client.clone();
2838 let license_number = license_number.clone();
2839 let body = body.clone();
2840 async move { client.plants_get_growth_phases_v1(license_number, body.as_ref()).await }
2841 }).await
2842 }
2843
2844 pub async fn plants_get_growth_phases_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2851 let client = self.client.clone();
2852 let body = body.cloned();
2853 self.rate_limiter.execute(None, true, move || {
2854 let client = client.clone();
2855 let license_number = license_number.clone();
2856 let body = body.clone();
2857 async move { client.plants_get_growth_phases_v2(license_number, body.as_ref()).await }
2858 }).await
2859 }
2860
2861 pub async fn plants_get_inactive_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2866 let client = self.client.clone();
2867 let body = body.cloned();
2868 self.rate_limiter.execute(None, true, move || {
2869 let client = client.clone();
2870 let last_modified_end = last_modified_end.clone();
2871 let last_modified_start = last_modified_start.clone();
2872 let license_number = license_number.clone();
2873 let body = body.clone();
2874 async move { client.plants_get_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
2875 }).await
2876 }
2877
2878 pub async fn plants_get_inactive_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2885 let client = self.client.clone();
2886 let body = body.cloned();
2887 self.rate_limiter.execute(None, true, move || {
2888 let client = client.clone();
2889 let last_modified_end = last_modified_end.clone();
2890 let last_modified_start = last_modified_start.clone();
2891 let license_number = license_number.clone();
2892 let page_number = page_number.clone();
2893 let page_size = page_size.clone();
2894 let body = body.clone();
2895 async move { client.plants_get_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2896 }).await
2897 }
2898
2899 pub async fn plants_get_mother_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2906 let client = self.client.clone();
2907 let body = body.cloned();
2908 self.rate_limiter.execute(None, true, move || {
2909 let client = client.clone();
2910 let last_modified_end = last_modified_end.clone();
2911 let last_modified_start = last_modified_start.clone();
2912 let license_number = license_number.clone();
2913 let page_number = page_number.clone();
2914 let page_size = page_size.clone();
2915 let body = body.clone();
2916 async move { client.plants_get_mother_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2917 }).await
2918 }
2919
2920 pub async fn plants_get_mother_inactive_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2927 let client = self.client.clone();
2928 let body = body.cloned();
2929 self.rate_limiter.execute(None, true, move || {
2930 let client = client.clone();
2931 let last_modified_end = last_modified_end.clone();
2932 let last_modified_start = last_modified_start.clone();
2933 let license_number = license_number.clone();
2934 let page_number = page_number.clone();
2935 let page_size = page_size.clone();
2936 let body = body.clone();
2937 async move { client.plants_get_mother_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2938 }).await
2939 }
2940
2941 pub async fn plants_get_mother_onhold_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2948 let client = self.client.clone();
2949 let body = body.cloned();
2950 self.rate_limiter.execute(None, true, move || {
2951 let client = client.clone();
2952 let last_modified_end = last_modified_end.clone();
2953 let last_modified_start = last_modified_start.clone();
2954 let license_number = license_number.clone();
2955 let page_number = page_number.clone();
2956 let page_size = page_size.clone();
2957 let body = body.clone();
2958 async move { client.plants_get_mother_onhold_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2959 }).await
2960 }
2961
2962 pub async fn plants_get_onhold_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2967 let client = self.client.clone();
2968 let body = body.cloned();
2969 self.rate_limiter.execute(None, true, move || {
2970 let client = client.clone();
2971 let last_modified_end = last_modified_end.clone();
2972 let last_modified_start = last_modified_start.clone();
2973 let license_number = license_number.clone();
2974 let body = body.clone();
2975 async move { client.plants_get_onhold_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
2976 }).await
2977 }
2978
2979 pub async fn plants_get_onhold_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2986 let client = self.client.clone();
2987 let body = body.cloned();
2988 self.rate_limiter.execute(None, true, move || {
2989 let client = client.clone();
2990 let last_modified_end = last_modified_end.clone();
2991 let last_modified_start = last_modified_start.clone();
2992 let license_number = license_number.clone();
2993 let page_number = page_number.clone();
2994 let page_size = page_size.clone();
2995 let body = body.clone();
2996 async move { client.plants_get_onhold_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2997 }).await
2998 }
2999
3000 pub async fn plants_get_vegetative_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3005 let client = self.client.clone();
3006 let body = body.cloned();
3007 self.rate_limiter.execute(None, true, move || {
3008 let client = client.clone();
3009 let last_modified_end = last_modified_end.clone();
3010 let last_modified_start = last_modified_start.clone();
3011 let license_number = license_number.clone();
3012 let body = body.clone();
3013 async move { client.plants_get_vegetative_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
3014 }).await
3015 }
3016
3017 pub async fn plants_get_vegetative_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3024 let client = self.client.clone();
3025 let body = body.cloned();
3026 self.rate_limiter.execute(None, true, move || {
3027 let client = client.clone();
3028 let last_modified_end = last_modified_end.clone();
3029 let last_modified_start = last_modified_start.clone();
3030 let license_number = license_number.clone();
3031 let page_number = page_number.clone();
3032 let page_size = page_size.clone();
3033 let body = body.clone();
3034 async move { client.plants_get_vegetative_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
3035 }).await
3036 }
3037
3038 pub async fn plants_get_waste_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3045 let client = self.client.clone();
3046 let body = body.cloned();
3047 self.rate_limiter.execute(None, true, move || {
3048 let client = client.clone();
3049 let license_number = license_number.clone();
3050 let page_number = page_number.clone();
3051 let page_size = page_size.clone();
3052 let body = body.clone();
3053 async move { client.plants_get_waste_v2(license_number, page_number, page_size, body.as_ref()).await }
3054 }).await
3055 }
3056
3057 pub async fn plants_get_waste_methods_all_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3062 let client = self.client.clone();
3063 let body = body.cloned();
3064 self.rate_limiter.execute(None, true, move || {
3065 let client = client.clone();
3066 let no = no.clone();
3067 let body = body.clone();
3068 async move { client.plants_get_waste_methods_all_v1(no, body.as_ref()).await }
3069 }).await
3070 }
3071
3072 pub async fn plants_get_waste_methods_all_v2(&self, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3079 let client = self.client.clone();
3080 let body = body.cloned();
3081 self.rate_limiter.execute(None, true, move || {
3082 let client = client.clone();
3083 let page_number = page_number.clone();
3084 let page_size = page_size.clone();
3085 let body = body.clone();
3086 async move { client.plants_get_waste_methods_all_v2(page_number, page_size, body.as_ref()).await }
3087 }).await
3088 }
3089
3090 pub async fn plants_get_waste_package_v2(&self, id: &str, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3097 let id = id.to_string();
3098 let client = self.client.clone();
3099 let body = body.cloned();
3100 self.rate_limiter.execute(None, true, move || {
3101 let client = client.clone();
3102 let id = id.clone();
3103 let license_number = license_number.clone();
3104 let page_number = page_number.clone();
3105 let page_size = page_size.clone();
3106 let body = body.clone();
3107 async move { client.plants_get_waste_package_v2(&id, license_number, page_number, page_size, body.as_ref()).await }
3108 }).await
3109 }
3110
3111 pub async fn plants_get_waste_plant_v2(&self, id: &str, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3118 let id = id.to_string();
3119 let client = self.client.clone();
3120 let body = body.cloned();
3121 self.rate_limiter.execute(None, true, move || {
3122 let client = client.clone();
3123 let id = id.clone();
3124 let license_number = license_number.clone();
3125 let page_number = page_number.clone();
3126 let page_size = page_size.clone();
3127 let body = body.clone();
3128 async move { client.plants_get_waste_plant_v2(&id, license_number, page_number, page_size, body.as_ref()).await }
3129 }).await
3130 }
3131
3132 pub async fn plants_get_waste_reasons_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3137 let client = self.client.clone();
3138 let body = body.cloned();
3139 self.rate_limiter.execute(None, true, move || {
3140 let client = client.clone();
3141 let license_number = license_number.clone();
3142 let body = body.clone();
3143 async move { client.plants_get_waste_reasons_v1(license_number, body.as_ref()).await }
3144 }).await
3145 }
3146
3147 pub async fn plants_get_waste_reasons_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3154 let client = self.client.clone();
3155 let body = body.cloned();
3156 self.rate_limiter.execute(None, true, move || {
3157 let client = client.clone();
3158 let license_number = license_number.clone();
3159 let page_number = page_number.clone();
3160 let page_size = page_size.clone();
3161 let body = body.clone();
3162 async move { client.plants_get_waste_reasons_v2(license_number, page_number, page_size, body.as_ref()).await }
3163 }).await
3164 }
3165
3166 pub async fn plants_update_adjust_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateAdjustV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3174 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3175 let client = self.client.clone();
3176 let body_val = body_val.clone();
3177 self.rate_limiter.execute(None, false, move || {
3178 let client = client.clone();
3179 let license_number = license_number.clone();
3180 let body_val = body_val.clone();
3181 async move { client.plants_update_adjust_v2(license_number, body_val.as_ref()).await }
3182 }).await
3183 }
3184
3185 pub async fn plants_update_growthphase_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateGrowthphaseV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3193 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3194 let client = self.client.clone();
3195 let body_val = body_val.clone();
3196 self.rate_limiter.execute(None, false, move || {
3197 let client = client.clone();
3198 let license_number = license_number.clone();
3199 let body_val = body_val.clone();
3200 async move { client.plants_update_growthphase_v2(license_number, body_val.as_ref()).await }
3201 }).await
3202 }
3203
3204 pub async fn plants_update_harvest_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateHarvestV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3212 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3213 let client = self.client.clone();
3214 let body_val = body_val.clone();
3215 self.rate_limiter.execute(None, false, move || {
3216 let client = client.clone();
3217 let license_number = license_number.clone();
3218 let body_val = body_val.clone();
3219 async move { client.plants_update_harvest_v2(license_number, body_val.as_ref()).await }
3220 }).await
3221 }
3222
3223 pub async fn plants_update_location_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateLocationV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3231 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3232 let client = self.client.clone();
3233 let body_val = body_val.clone();
3234 self.rate_limiter.execute(None, false, move || {
3235 let client = client.clone();
3236 let license_number = license_number.clone();
3237 let body_val = body_val.clone();
3238 async move { client.plants_update_location_v2(license_number, body_val.as_ref()).await }
3239 }).await
3240 }
3241
3242 pub async fn plants_update_merge_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateMergeV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3250 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3251 let client = self.client.clone();
3252 let body_val = body_val.clone();
3253 self.rate_limiter.execute(None, false, move || {
3254 let client = client.clone();
3255 let license_number = license_number.clone();
3256 let body_val = body_val.clone();
3257 async move { client.plants_update_merge_v2(license_number, body_val.as_ref()).await }
3258 }).await
3259 }
3260
3261 pub async fn plants_update_split_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateSplitV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3268 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3269 let client = self.client.clone();
3270 let body_val = body_val.clone();
3271 self.rate_limiter.execute(None, false, move || {
3272 let client = client.clone();
3273 let license_number = license_number.clone();
3274 let body_val = body_val.clone();
3275 async move { client.plants_update_split_v2(license_number, body_val.as_ref()).await }
3276 }).await
3277 }
3278
3279 pub async fn plants_update_strain_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateStrainV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3287 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3288 let client = self.client.clone();
3289 let body_val = body_val.clone();
3290 self.rate_limiter.execute(None, false, move || {
3291 let client = client.clone();
3292 let license_number = license_number.clone();
3293 let body_val = body_val.clone();
3294 async move { client.plants_update_strain_v2(license_number, body_val.as_ref()).await }
3295 }).await
3296 }
3297
3298 pub async fn plants_update_tag_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateTagV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3306 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3307 let client = self.client.clone();
3308 let body_val = body_val.clone();
3309 self.rate_limiter.execute(None, false, move || {
3310 let client = client.clone();
3311 let license_number = license_number.clone();
3312 let body_val = body_val.clone();
3313 async move { client.plants_update_tag_v2(license_number, body_val.as_ref()).await }
3314 }).await
3315 }
3316
3317 pub async fn retail_id_create_associate_v2(&self, license_number: Option<String>, body: Option<&Vec<RetailIdCreateAssociateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3327 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3328 let client = self.client.clone();
3329 let body_val = body_val.clone();
3330 self.rate_limiter.execute(None, false, move || {
3331 let client = client.clone();
3332 let license_number = license_number.clone();
3333 let body_val = body_val.clone();
3334 async move { client.retail_id_create_associate_v2(license_number, body_val.as_ref()).await }
3335 }).await
3336 }
3337
3338 pub async fn retail_id_create_generate_v2(&self, license_number: Option<String>, body: Option<&RetailIdCreateGenerateV2Request>) -> Result<Option<Value>, Box<dyn Error>> {
3348 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3349 let client = self.client.clone();
3350 let body_val = body_val.clone();
3351 self.rate_limiter.execute(None, false, move || {
3352 let client = client.clone();
3353 let license_number = license_number.clone();
3354 let body_val = body_val.clone();
3355 async move { client.retail_id_create_generate_v2(license_number, body_val.as_ref()).await }
3356 }).await
3357 }
3358
3359 pub async fn retail_id_create_merge_v2(&self, license_number: Option<String>, body: Option<&RetailIdCreateMergeV2Request>) -> Result<Option<Value>, Box<dyn Error>> {
3368 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3369 let client = self.client.clone();
3370 let body_val = body_val.clone();
3371 self.rate_limiter.execute(None, false, move || {
3372 let client = client.clone();
3373 let license_number = license_number.clone();
3374 let body_val = body_val.clone();
3375 async move { client.retail_id_create_merge_v2(license_number, body_val.as_ref()).await }
3376 }).await
3377 }
3378
3379 pub async fn retail_id_create_package_info_v2(&self, license_number: Option<String>, body: Option<&RetailIdCreatePackageInfoV2Request>) -> Result<Option<Value>, Box<dyn Error>> {
3389 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3390 let client = self.client.clone();
3391 let body_val = body_val.clone();
3392 self.rate_limiter.execute(None, false, move || {
3393 let client = client.clone();
3394 let license_number = license_number.clone();
3395 let body_val = body_val.clone();
3396 async move { client.retail_id_create_package_info_v2(license_number, body_val.as_ref()).await }
3397 }).await
3398 }
3399
3400 pub async fn retail_id_get_receive_by_label_v2(&self, label: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3410 let label = label.to_string();
3411 let client = self.client.clone();
3412 let body = body.cloned();
3413 self.rate_limiter.execute(None, true, move || {
3414 let client = client.clone();
3415 let label = label.clone();
3416 let license_number = license_number.clone();
3417 let body = body.clone();
3418 async move { client.retail_id_get_receive_by_label_v2(&label, license_number, body.as_ref()).await }
3419 }).await
3420 }
3421
3422 pub async fn retail_id_get_receive_qr_by_short_code_v2(&self, short_code: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3432 let short_code = short_code.to_string();
3433 let client = self.client.clone();
3434 let body = body.cloned();
3435 self.rate_limiter.execute(None, true, move || {
3436 let client = client.clone();
3437 let short_code = short_code.clone();
3438 let license_number = license_number.clone();
3439 let body = body.clone();
3440 async move { client.retail_id_get_receive_qr_by_short_code_v2(&short_code, license_number, body.as_ref()).await }
3441 }).await
3442 }
3443
3444 pub async fn sandbox_create_integrator_setup_v2(&self, user_key: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3451 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3452 let client = self.client.clone();
3453 let body_val = body_val.clone();
3454 self.rate_limiter.execute(None, false, move || {
3455 let client = client.clone();
3456 let user_key = user_key.clone();
3457 let body_val = body_val.clone();
3458 async move { client.sandbox_create_integrator_setup_v2(user_key, body_val.as_ref()).await }
3459 }).await
3460 }
3461
3462 pub async fn sublocations_create_v2(&self, license_number: Option<String>, body: Option<&Vec<SublocationsCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3469 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3470 let client = self.client.clone();
3471 let body_val = body_val.clone();
3472 self.rate_limiter.execute(None, false, move || {
3473 let client = client.clone();
3474 let license_number = license_number.clone();
3475 let body_val = body_val.clone();
3476 async move { client.sublocations_create_v2(license_number, body_val.as_ref()).await }
3477 }).await
3478 }
3479
3480 pub async fn sublocations_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3487 let id = id.to_string();
3488 let client = self.client.clone();
3489 let body = body.cloned();
3490 self.rate_limiter.execute(None, false, move || {
3491 let client = client.clone();
3492 let id = id.clone();
3493 let license_number = license_number.clone();
3494 let body = body.clone();
3495 async move { client.sublocations_delete_v2(&id, license_number, body.as_ref()).await }
3496 }).await
3497 }
3498
3499 pub async fn sublocations_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3506 let id = id.to_string();
3507 let client = self.client.clone();
3508 let body = body.cloned();
3509 self.rate_limiter.execute(None, true, move || {
3510 let client = client.clone();
3511 let id = id.clone();
3512 let license_number = license_number.clone();
3513 let body = body.clone();
3514 async move { client.sublocations_get_v2(&id, license_number, body.as_ref()).await }
3515 }).await
3516 }
3517
3518 pub async fn sublocations_get_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3525 let client = self.client.clone();
3526 let body = body.cloned();
3527 self.rate_limiter.execute(None, true, move || {
3528 let client = client.clone();
3529 let last_modified_end = last_modified_end.clone();
3530 let last_modified_start = last_modified_start.clone();
3531 let license_number = license_number.clone();
3532 let page_number = page_number.clone();
3533 let page_size = page_size.clone();
3534 let body = body.clone();
3535 async move { client.sublocations_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
3536 }).await
3537 }
3538
3539 pub async fn sublocations_get_inactive_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3546 let client = self.client.clone();
3547 let body = body.cloned();
3548 self.rate_limiter.execute(None, true, move || {
3549 let client = client.clone();
3550 let license_number = license_number.clone();
3551 let page_number = page_number.clone();
3552 let page_size = page_size.clone();
3553 let body = body.clone();
3554 async move { client.sublocations_get_inactive_v2(license_number, page_number, page_size, body.as_ref()).await }
3555 }).await
3556 }
3557
3558 pub async fn sublocations_update_v2(&self, license_number: Option<String>, body: Option<&Vec<SublocationsUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3565 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3566 let client = self.client.clone();
3567 let body_val = body_val.clone();
3568 self.rate_limiter.execute(None, false, move || {
3569 let client = client.clone();
3570 let license_number = license_number.clone();
3571 let body_val = body_val.clone();
3572 async move { client.sublocations_update_v2(license_number, body_val.as_ref()).await }
3573 }).await
3574 }
3575
3576 pub async fn facilities_get_all_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3583 let client = self.client.clone();
3584 let body = body.cloned();
3585 self.rate_limiter.execute(None, true, move || {
3586 let client = client.clone();
3587 let no = no.clone();
3588 let body = body.clone();
3589 async move { client.facilities_get_all_v1(no, body.as_ref()).await }
3590 }).await
3591 }
3592
3593 pub async fn facilities_get_all_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3600 let client = self.client.clone();
3601 let body = body.cloned();
3602 self.rate_limiter.execute(None, true, move || {
3603 let client = client.clone();
3604 let no = no.clone();
3605 let body = body.clone();
3606 async move { client.facilities_get_all_v2(no, body.as_ref()).await }
3607 }).await
3608 }
3609
3610 pub async fn harvests_create_finish_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreateFinishV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3616 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3617 let client = self.client.clone();
3618 let body_val = body_val.clone();
3619 self.rate_limiter.execute(None, false, move || {
3620 let client = client.clone();
3621 let license_number = license_number.clone();
3622 let body_val = body_val.clone();
3623 async move { client.harvests_create_finish_v1(license_number, body_val.as_ref()).await }
3624 }).await
3625 }
3626
3627 pub async fn harvests_create_package_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreatePackageV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3635 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3636 let client = self.client.clone();
3637 let body_val = body_val.clone();
3638 self.rate_limiter.execute(None, false, move || {
3639 let client = client.clone();
3640 let license_number = license_number.clone();
3641 let body_val = body_val.clone();
3642 async move { client.harvests_create_package_v1(license_number, body_val.as_ref()).await }
3643 }).await
3644 }
3645
3646 pub async fn harvests_create_package_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreatePackageV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3656 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3657 let client = self.client.clone();
3658 let body_val = body_val.clone();
3659 self.rate_limiter.execute(None, false, move || {
3660 let client = client.clone();
3661 let license_number = license_number.clone();
3662 let body_val = body_val.clone();
3663 async move { client.harvests_create_package_v2(license_number, body_val.as_ref()).await }
3664 }).await
3665 }
3666
3667 pub async fn harvests_create_package_testing_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreatePackageTestingV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3675 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3676 let client = self.client.clone();
3677 let body_val = body_val.clone();
3678 self.rate_limiter.execute(None, false, move || {
3679 let client = client.clone();
3680 let license_number = license_number.clone();
3681 let body_val = body_val.clone();
3682 async move { client.harvests_create_package_testing_v1(license_number, body_val.as_ref()).await }
3683 }).await
3684 }
3685
3686 pub async fn harvests_create_package_testing_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreatePackageTestingV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3696 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3697 let client = self.client.clone();
3698 let body_val = body_val.clone();
3699 self.rate_limiter.execute(None, false, move || {
3700 let client = client.clone();
3701 let license_number = license_number.clone();
3702 let body_val = body_val.clone();
3703 async move { client.harvests_create_package_testing_v2(license_number, body_val.as_ref()).await }
3704 }).await
3705 }
3706
3707 pub async fn harvests_create_remove_waste_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreateRemoveWasteV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3713 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3714 let client = self.client.clone();
3715 let body_val = body_val.clone();
3716 self.rate_limiter.execute(None, false, move || {
3717 let client = client.clone();
3718 let license_number = license_number.clone();
3719 let body_val = body_val.clone();
3720 async move { client.harvests_create_remove_waste_v1(license_number, body_val.as_ref()).await }
3721 }).await
3722 }
3723
3724 pub async fn harvests_create_unfinish_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreateUnfinishV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3730 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3731 let client = self.client.clone();
3732 let body_val = body_val.clone();
3733 self.rate_limiter.execute(None, false, move || {
3734 let client = client.clone();
3735 let license_number = license_number.clone();
3736 let body_val = body_val.clone();
3737 async move { client.harvests_create_unfinish_v1(license_number, body_val.as_ref()).await }
3738 }).await
3739 }
3740
3741 pub async fn harvests_create_waste_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreateWasteV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3749 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3750 let client = self.client.clone();
3751 let body_val = body_val.clone();
3752 self.rate_limiter.execute(None, false, move || {
3753 let client = client.clone();
3754 let license_number = license_number.clone();
3755 let body_val = body_val.clone();
3756 async move { client.harvests_create_waste_v2(license_number, body_val.as_ref()).await }
3757 }).await
3758 }
3759
3760 pub async fn harvests_delete_waste_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3768 let id = id.to_string();
3769 let client = self.client.clone();
3770 let body = body.cloned();
3771 self.rate_limiter.execute(None, false, move || {
3772 let client = client.clone();
3773 let id = id.clone();
3774 let license_number = license_number.clone();
3775 let body = body.clone();
3776 async move { client.harvests_delete_waste_v2(&id, license_number, body.as_ref()).await }
3777 }).await
3778 }
3779
3780 pub async fn harvests_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3785 let id = id.to_string();
3786 let client = self.client.clone();
3787 let body = body.cloned();
3788 self.rate_limiter.execute(None, true, move || {
3789 let client = client.clone();
3790 let id = id.clone();
3791 let license_number = license_number.clone();
3792 let body = body.clone();
3793 async move { client.harvests_get_v1(&id, license_number, body.as_ref()).await }
3794 }).await
3795 }
3796
3797 pub async fn harvests_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3804 let id = id.to_string();
3805 let client = self.client.clone();
3806 let body = body.cloned();
3807 self.rate_limiter.execute(None, true, move || {
3808 let client = client.clone();
3809 let id = id.clone();
3810 let license_number = license_number.clone();
3811 let body = body.clone();
3812 async move { client.harvests_get_v2(&id, license_number, body.as_ref()).await }
3813 }).await
3814 }
3815
3816 pub async fn harvests_get_active_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3821 let client = self.client.clone();
3822 let body = body.cloned();
3823 self.rate_limiter.execute(None, true, move || {
3824 let client = client.clone();
3825 let last_modified_end = last_modified_end.clone();
3826 let last_modified_start = last_modified_start.clone();
3827 let license_number = license_number.clone();
3828 let body = body.clone();
3829 async move { client.harvests_get_active_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
3830 }).await
3831 }
3832
3833 pub async fn harvests_get_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3840 let client = self.client.clone();
3841 let body = body.cloned();
3842 self.rate_limiter.execute(None, true, move || {
3843 let client = client.clone();
3844 let last_modified_end = last_modified_end.clone();
3845 let last_modified_start = last_modified_start.clone();
3846 let license_number = license_number.clone();
3847 let page_number = page_number.clone();
3848 let page_size = page_size.clone();
3849 let body = body.clone();
3850 async move { client.harvests_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
3851 }).await
3852 }
3853
3854 pub async fn harvests_get_inactive_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3859 let client = self.client.clone();
3860 let body = body.cloned();
3861 self.rate_limiter.execute(None, true, move || {
3862 let client = client.clone();
3863 let last_modified_end = last_modified_end.clone();
3864 let last_modified_start = last_modified_start.clone();
3865 let license_number = license_number.clone();
3866 let body = body.clone();
3867 async move { client.harvests_get_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
3868 }).await
3869 }
3870
3871 pub async fn harvests_get_inactive_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3878 let client = self.client.clone();
3879 let body = body.cloned();
3880 self.rate_limiter.execute(None, true, move || {
3881 let client = client.clone();
3882 let last_modified_end = last_modified_end.clone();
3883 let last_modified_start = last_modified_start.clone();
3884 let license_number = license_number.clone();
3885 let page_number = page_number.clone();
3886 let page_size = page_size.clone();
3887 let body = body.clone();
3888 async move { client.harvests_get_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
3889 }).await
3890 }
3891
3892 pub async fn harvests_get_onhold_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3897 let client = self.client.clone();
3898 let body = body.cloned();
3899 self.rate_limiter.execute(None, true, move || {
3900 let client = client.clone();
3901 let last_modified_end = last_modified_end.clone();
3902 let last_modified_start = last_modified_start.clone();
3903 let license_number = license_number.clone();
3904 let body = body.clone();
3905 async move { client.harvests_get_onhold_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
3906 }).await
3907 }
3908
3909 pub async fn harvests_get_onhold_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3916 let client = self.client.clone();
3917 let body = body.cloned();
3918 self.rate_limiter.execute(None, true, move || {
3919 let client = client.clone();
3920 let last_modified_end = last_modified_end.clone();
3921 let last_modified_start = last_modified_start.clone();
3922 let license_number = license_number.clone();
3923 let page_number = page_number.clone();
3924 let page_size = page_size.clone();
3925 let body = body.clone();
3926 async move { client.harvests_get_onhold_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
3927 }).await
3928 }
3929
3930 pub async fn harvests_get_waste_v2(&self, harvest_id: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3937 let client = self.client.clone();
3938 let body = body.cloned();
3939 self.rate_limiter.execute(None, true, move || {
3940 let client = client.clone();
3941 let harvest_id = harvest_id.clone();
3942 let license_number = license_number.clone();
3943 let page_number = page_number.clone();
3944 let page_size = page_size.clone();
3945 let body = body.clone();
3946 async move { client.harvests_get_waste_v2(harvest_id, license_number, page_number, page_size, body.as_ref()).await }
3947 }).await
3948 }
3949
3950 pub async fn harvests_get_waste_types_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3955 let client = self.client.clone();
3956 let body = body.cloned();
3957 self.rate_limiter.execute(None, true, move || {
3958 let client = client.clone();
3959 let no = no.clone();
3960 let body = body.clone();
3961 async move { client.harvests_get_waste_types_v1(no, body.as_ref()).await }
3962 }).await
3963 }
3964
3965 pub async fn harvests_get_waste_types_v2(&self, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3972 let client = self.client.clone();
3973 let body = body.cloned();
3974 self.rate_limiter.execute(None, true, move || {
3975 let client = client.clone();
3976 let page_number = page_number.clone();
3977 let page_size = page_size.clone();
3978 let body = body.clone();
3979 async move { client.harvests_get_waste_types_v2(page_number, page_size, body.as_ref()).await }
3980 }).await
3981 }
3982
3983 pub async fn harvests_update_finish_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateFinishV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3991 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3992 let client = self.client.clone();
3993 let body_val = body_val.clone();
3994 self.rate_limiter.execute(None, false, move || {
3995 let client = client.clone();
3996 let license_number = license_number.clone();
3997 let body_val = body_val.clone();
3998 async move { client.harvests_update_finish_v2(license_number, body_val.as_ref()).await }
3999 }).await
4000 }
4001
4002 pub async fn harvests_update_location_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateLocationV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4010 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4011 let client = self.client.clone();
4012 let body_val = body_val.clone();
4013 self.rate_limiter.execute(None, false, move || {
4014 let client = client.clone();
4015 let license_number = license_number.clone();
4016 let body_val = body_val.clone();
4017 async move { client.harvests_update_location_v2(license_number, body_val.as_ref()).await }
4018 }).await
4019 }
4020
4021 pub async fn harvests_update_move_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateMoveV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4027 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4028 let client = self.client.clone();
4029 let body_val = body_val.clone();
4030 self.rate_limiter.execute(None, false, move || {
4031 let client = client.clone();
4032 let license_number = license_number.clone();
4033 let body_val = body_val.clone();
4034 async move { client.harvests_update_move_v1(license_number, body_val.as_ref()).await }
4035 }).await
4036 }
4037
4038 pub async fn harvests_update_rename_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateRenameV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4044 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4045 let client = self.client.clone();
4046 let body_val = body_val.clone();
4047 self.rate_limiter.execute(None, false, move || {
4048 let client = client.clone();
4049 let license_number = license_number.clone();
4050 let body_val = body_val.clone();
4051 async move { client.harvests_update_rename_v1(license_number, body_val.as_ref()).await }
4052 }).await
4053 }
4054
4055 pub async fn harvests_update_rename_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateRenameV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4063 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4064 let client = self.client.clone();
4065 let body_val = body_val.clone();
4066 self.rate_limiter.execute(None, false, move || {
4067 let client = client.clone();
4068 let license_number = license_number.clone();
4069 let body_val = body_val.clone();
4070 async move { client.harvests_update_rename_v2(license_number, body_val.as_ref()).await }
4071 }).await
4072 }
4073
4074 pub async fn harvests_update_restore_harvested_plants_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateRestoreHarvestedPlantsV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4082 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4083 let client = self.client.clone();
4084 let body_val = body_val.clone();
4085 self.rate_limiter.execute(None, false, move || {
4086 let client = client.clone();
4087 let license_number = license_number.clone();
4088 let body_val = body_val.clone();
4089 async move { client.harvests_update_restore_harvested_plants_v2(license_number, body_val.as_ref()).await }
4090 }).await
4091 }
4092
4093 pub async fn harvests_update_unfinish_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateUnfinishV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4101 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4102 let client = self.client.clone();
4103 let body_val = body_val.clone();
4104 self.rate_limiter.execute(None, false, move || {
4105 let client = client.clone();
4106 let license_number = license_number.clone();
4107 let body_val = body_val.clone();
4108 async move { client.harvests_update_unfinish_v2(license_number, body_val.as_ref()).await }
4109 }).await
4110 }
4111
4112 pub async fn plant_batches_create_additives_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateAdditivesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4117 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4118 let client = self.client.clone();
4119 let body_val = body_val.clone();
4120 self.rate_limiter.execute(None, false, move || {
4121 let client = client.clone();
4122 let license_number = license_number.clone();
4123 let body_val = body_val.clone();
4124 async move { client.plant_batches_create_additives_v1(license_number, body_val.as_ref()).await }
4125 }).await
4126 }
4127
4128 pub async fn plant_batches_create_additives_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateAdditivesV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4135 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4136 let client = self.client.clone();
4137 let body_val = body_val.clone();
4138 self.rate_limiter.execute(None, false, move || {
4139 let client = client.clone();
4140 let license_number = license_number.clone();
4141 let body_val = body_val.clone();
4142 async move { client.plant_batches_create_additives_v2(license_number, body_val.as_ref()).await }
4143 }).await
4144 }
4145
4146 pub async fn plant_batches_create_additives_usingtemplate_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateAdditivesUsingtemplateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4153 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4154 let client = self.client.clone();
4155 let body_val = body_val.clone();
4156 self.rate_limiter.execute(None, false, move || {
4157 let client = client.clone();
4158 let license_number = license_number.clone();
4159 let body_val = body_val.clone();
4160 async move { client.plant_batches_create_additives_usingtemplate_v2(license_number, body_val.as_ref()).await }
4161 }).await
4162 }
4163
4164 pub async fn plant_batches_create_adjust_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateAdjustV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4170 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4171 let client = self.client.clone();
4172 let body_val = body_val.clone();
4173 self.rate_limiter.execute(None, false, move || {
4174 let client = client.clone();
4175 let license_number = license_number.clone();
4176 let body_val = body_val.clone();
4177 async move { client.plant_batches_create_adjust_v1(license_number, body_val.as_ref()).await }
4178 }).await
4179 }
4180
4181 pub async fn plant_batches_create_adjust_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateAdjustV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4189 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4190 let client = self.client.clone();
4191 let body_val = body_val.clone();
4192 self.rate_limiter.execute(None, false, move || {
4193 let client = client.clone();
4194 let license_number = license_number.clone();
4195 let body_val = body_val.clone();
4196 async move { client.plant_batches_create_adjust_v2(license_number, body_val.as_ref()).await }
4197 }).await
4198 }
4199
4200 pub async fn plant_batches_create_changegrowthphase_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateChangegrowthphaseV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4208 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4209 let client = self.client.clone();
4210 let body_val = body_val.clone();
4211 self.rate_limiter.execute(None, false, move || {
4212 let client = client.clone();
4213 let license_number = license_number.clone();
4214 let body_val = body_val.clone();
4215 async move { client.plant_batches_create_changegrowthphase_v1(license_number, body_val.as_ref()).await }
4216 }).await
4217 }
4218
4219 pub async fn plant_batches_create_growthphase_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateGrowthphaseV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4229 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4230 let client = self.client.clone();
4231 let body_val = body_val.clone();
4232 self.rate_limiter.execute(None, false, move || {
4233 let client = client.clone();
4234 let license_number = license_number.clone();
4235 let body_val = body_val.clone();
4236 async move { client.plant_batches_create_growthphase_v2(license_number, body_val.as_ref()).await }
4237 }).await
4238 }
4239
4240 pub async fn plant_batches_create_package_v2(&self, is_from_mother_plant: Option<String>, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreatePackageV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4250 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4251 let client = self.client.clone();
4252 let body_val = body_val.clone();
4253 self.rate_limiter.execute(None, false, move || {
4254 let client = client.clone();
4255 let is_from_mother_plant = is_from_mother_plant.clone();
4256 let license_number = license_number.clone();
4257 let body_val = body_val.clone();
4258 async move { client.plant_batches_create_package_v2(is_from_mother_plant, license_number, body_val.as_ref()).await }
4259 }).await
4260 }
4261
4262 pub async fn plant_batches_create_package_frommotherplant_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreatePackageFrommotherplantV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4270 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4271 let client = self.client.clone();
4272 let body_val = body_val.clone();
4273 self.rate_limiter.execute(None, false, move || {
4274 let client = client.clone();
4275 let license_number = license_number.clone();
4276 let body_val = body_val.clone();
4277 async move { client.plant_batches_create_package_frommotherplant_v1(license_number, body_val.as_ref()).await }
4278 }).await
4279 }
4280
4281 pub async fn plant_batches_create_package_frommotherplant_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreatePackageFrommotherplantV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4291 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4292 let client = self.client.clone();
4293 let body_val = body_val.clone();
4294 self.rate_limiter.execute(None, false, move || {
4295 let client = client.clone();
4296 let license_number = license_number.clone();
4297 let body_val = body_val.clone();
4298 async move { client.plant_batches_create_package_frommotherplant_v2(license_number, body_val.as_ref()).await }
4299 }).await
4300 }
4301
4302 pub async fn plant_batches_create_plantings_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreatePlantingsV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4310 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4311 let client = self.client.clone();
4312 let body_val = body_val.clone();
4313 self.rate_limiter.execute(None, false, move || {
4314 let client = client.clone();
4315 let license_number = license_number.clone();
4316 let body_val = body_val.clone();
4317 async move { client.plant_batches_create_plantings_v2(license_number, body_val.as_ref()).await }
4318 }).await
4319 }
4320
4321 pub async fn plant_batches_create_split_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateSplitV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4327 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4328 let client = self.client.clone();
4329 let body_val = body_val.clone();
4330 self.rate_limiter.execute(None, false, move || {
4331 let client = client.clone();
4332 let license_number = license_number.clone();
4333 let body_val = body_val.clone();
4334 async move { client.plant_batches_create_split_v1(license_number, body_val.as_ref()).await }
4335 }).await
4336 }
4337
4338 pub async fn plant_batches_create_split_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateSplitV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4346 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4347 let client = self.client.clone();
4348 let body_val = body_val.clone();
4349 self.rate_limiter.execute(None, false, move || {
4350 let client = client.clone();
4351 let license_number = license_number.clone();
4352 let body_val = body_val.clone();
4353 async move { client.plant_batches_create_split_v2(license_number, body_val.as_ref()).await }
4354 }).await
4355 }
4356
4357 pub async fn plant_batches_create_waste_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateWasteV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4362 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4363 let client = self.client.clone();
4364 let body_val = body_val.clone();
4365 self.rate_limiter.execute(None, false, move || {
4366 let client = client.clone();
4367 let license_number = license_number.clone();
4368 let body_val = body_val.clone();
4369 async move { client.plant_batches_create_waste_v1(license_number, body_val.as_ref()).await }
4370 }).await
4371 }
4372
4373 pub async fn plant_batches_create_waste_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateWasteV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4380 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4381 let client = self.client.clone();
4382 let body_val = body_val.clone();
4383 self.rate_limiter.execute(None, false, move || {
4384 let client = client.clone();
4385 let license_number = license_number.clone();
4386 let body_val = body_val.clone();
4387 async move { client.plant_batches_create_waste_v2(license_number, body_val.as_ref()).await }
4388 }).await
4389 }
4390
4391 pub async fn plant_batches_createpackages_v1(&self, is_from_mother_plant: Option<String>, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreatepackagesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4399 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4400 let client = self.client.clone();
4401 let body_val = body_val.clone();
4402 self.rate_limiter.execute(None, false, move || {
4403 let client = client.clone();
4404 let is_from_mother_plant = is_from_mother_plant.clone();
4405 let license_number = license_number.clone();
4406 let body_val = body_val.clone();
4407 async move { client.plant_batches_createpackages_v1(is_from_mother_plant, license_number, body_val.as_ref()).await }
4408 }).await
4409 }
4410
4411 pub async fn plant_batches_createplantings_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateplantingsV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4417 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4418 let client = self.client.clone();
4419 let body_val = body_val.clone();
4420 self.rate_limiter.execute(None, false, move || {
4421 let client = client.clone();
4422 let license_number = license_number.clone();
4423 let body_val = body_val.clone();
4424 async move { client.plant_batches_createplantings_v1(license_number, body_val.as_ref()).await }
4425 }).await
4426 }
4427
4428 pub async fn plant_batches_delete_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4434 let client = self.client.clone();
4435 let body = body.cloned();
4436 self.rate_limiter.execute(None, false, move || {
4437 let client = client.clone();
4438 let license_number = license_number.clone();
4439 let body = body.clone();
4440 async move { client.plant_batches_delete_v1(license_number, body.as_ref()).await }
4441 }).await
4442 }
4443
4444 pub async fn plant_batches_delete_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4452 let client = self.client.clone();
4453 let body = body.cloned();
4454 self.rate_limiter.execute(None, false, move || {
4455 let client = client.clone();
4456 let license_number = license_number.clone();
4457 let body = body.clone();
4458 async move { client.plant_batches_delete_v2(license_number, body.as_ref()).await }
4459 }).await
4460 }
4461
4462 pub async fn plant_batches_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4467 let id = id.to_string();
4468 let client = self.client.clone();
4469 let body = body.cloned();
4470 self.rate_limiter.execute(None, true, move || {
4471 let client = client.clone();
4472 let id = id.clone();
4473 let license_number = license_number.clone();
4474 let body = body.clone();
4475 async move { client.plant_batches_get_v1(&id, license_number, body.as_ref()).await }
4476 }).await
4477 }
4478
4479 pub async fn plant_batches_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4486 let id = id.to_string();
4487 let client = self.client.clone();
4488 let body = body.cloned();
4489 self.rate_limiter.execute(None, true, move || {
4490 let client = client.clone();
4491 let id = id.clone();
4492 let license_number = license_number.clone();
4493 let body = body.clone();
4494 async move { client.plant_batches_get_v2(&id, license_number, body.as_ref()).await }
4495 }).await
4496 }
4497
4498 pub async fn plant_batches_get_active_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4503 let client = self.client.clone();
4504 let body = body.cloned();
4505 self.rate_limiter.execute(None, true, move || {
4506 let client = client.clone();
4507 let last_modified_end = last_modified_end.clone();
4508 let last_modified_start = last_modified_start.clone();
4509 let license_number = license_number.clone();
4510 let body = body.clone();
4511 async move { client.plant_batches_get_active_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
4512 }).await
4513 }
4514
4515 pub async fn plant_batches_get_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4522 let client = self.client.clone();
4523 let body = body.cloned();
4524 self.rate_limiter.execute(None, true, move || {
4525 let client = client.clone();
4526 let last_modified_end = last_modified_end.clone();
4527 let last_modified_start = last_modified_start.clone();
4528 let license_number = license_number.clone();
4529 let page_number = page_number.clone();
4530 let page_size = page_size.clone();
4531 let body = body.clone();
4532 async move { client.plant_batches_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
4533 }).await
4534 }
4535
4536 pub async fn plant_batches_get_inactive_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4541 let client = self.client.clone();
4542 let body = body.cloned();
4543 self.rate_limiter.execute(None, true, move || {
4544 let client = client.clone();
4545 let last_modified_end = last_modified_end.clone();
4546 let last_modified_start = last_modified_start.clone();
4547 let license_number = license_number.clone();
4548 let body = body.clone();
4549 async move { client.plant_batches_get_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
4550 }).await
4551 }
4552
4553 pub async fn plant_batches_get_inactive_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4560 let client = self.client.clone();
4561 let body = body.cloned();
4562 self.rate_limiter.execute(None, true, move || {
4563 let client = client.clone();
4564 let last_modified_end = last_modified_end.clone();
4565 let last_modified_start = last_modified_start.clone();
4566 let license_number = license_number.clone();
4567 let page_number = page_number.clone();
4568 let page_size = page_size.clone();
4569 let body = body.clone();
4570 async move { client.plant_batches_get_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
4571 }).await
4572 }
4573
4574 pub async fn plant_batches_get_types_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4579 let client = self.client.clone();
4580 let body = body.cloned();
4581 self.rate_limiter.execute(None, true, move || {
4582 let client = client.clone();
4583 let no = no.clone();
4584 let body = body.clone();
4585 async move { client.plant_batches_get_types_v1(no, body.as_ref()).await }
4586 }).await
4587 }
4588
4589 pub async fn plant_batches_get_types_v2(&self, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4596 let client = self.client.clone();
4597 let body = body.cloned();
4598 self.rate_limiter.execute(None, true, move || {
4599 let client = client.clone();
4600 let page_number = page_number.clone();
4601 let page_size = page_size.clone();
4602 let body = body.clone();
4603 async move { client.plant_batches_get_types_v2(page_number, page_size, body.as_ref()).await }
4604 }).await
4605 }
4606
4607 pub async fn plant_batches_get_waste_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4614 let client = self.client.clone();
4615 let body = body.cloned();
4616 self.rate_limiter.execute(None, true, move || {
4617 let client = client.clone();
4618 let license_number = license_number.clone();
4619 let page_number = page_number.clone();
4620 let page_size = page_size.clone();
4621 let body = body.clone();
4622 async move { client.plant_batches_get_waste_v2(license_number, page_number, page_size, body.as_ref()).await }
4623 }).await
4624 }
4625
4626 pub async fn plant_batches_get_waste_reasons_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4631 let client = self.client.clone();
4632 let body = body.cloned();
4633 self.rate_limiter.execute(None, true, move || {
4634 let client = client.clone();
4635 let license_number = license_number.clone();
4636 let body = body.clone();
4637 async move { client.plant_batches_get_waste_reasons_v1(license_number, body.as_ref()).await }
4638 }).await
4639 }
4640
4641 pub async fn plant_batches_get_waste_reasons_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4648 let client = self.client.clone();
4649 let body = body.cloned();
4650 self.rate_limiter.execute(None, true, move || {
4651 let client = client.clone();
4652 let license_number = license_number.clone();
4653 let body = body.clone();
4654 async move { client.plant_batches_get_waste_reasons_v2(license_number, body.as_ref()).await }
4655 }).await
4656 }
4657
4658 pub async fn plant_batches_update_location_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesUpdateLocationV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4666 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4667 let client = self.client.clone();
4668 let body_val = body_val.clone();
4669 self.rate_limiter.execute(None, false, move || {
4670 let client = client.clone();
4671 let license_number = license_number.clone();
4672 let body_val = body_val.clone();
4673 async move { client.plant_batches_update_location_v2(license_number, body_val.as_ref()).await }
4674 }).await
4675 }
4676
4677 pub async fn plant_batches_update_moveplantbatches_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesUpdateMoveplantbatchesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4682 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4683 let client = self.client.clone();
4684 let body_val = body_val.clone();
4685 self.rate_limiter.execute(None, false, move || {
4686 let client = client.clone();
4687 let license_number = license_number.clone();
4688 let body_val = body_val.clone();
4689 async move { client.plant_batches_update_moveplantbatches_v1(license_number, body_val.as_ref()).await }
4690 }).await
4691 }
4692
4693 pub async fn plant_batches_update_name_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesUpdateNameV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4701 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4702 let client = self.client.clone();
4703 let body_val = body_val.clone();
4704 self.rate_limiter.execute(None, false, move || {
4705 let client = client.clone();
4706 let license_number = license_number.clone();
4707 let body_val = body_val.clone();
4708 async move { client.plant_batches_update_name_v2(license_number, body_val.as_ref()).await }
4709 }).await
4710 }
4711
4712 pub async fn plant_batches_update_strain_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesUpdateStrainV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4720 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4721 let client = self.client.clone();
4722 let body_val = body_val.clone();
4723 self.rate_limiter.execute(None, false, move || {
4724 let client = client.clone();
4725 let license_number = license_number.clone();
4726 let body_val = body_val.clone();
4727 async move { client.plant_batches_update_strain_v2(license_number, body_val.as_ref()).await }
4728 }).await
4729 }
4730
4731 pub async fn plant_batches_update_tag_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesUpdateTagV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4739 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4740 let client = self.client.clone();
4741 let body_val = body_val.clone();
4742 self.rate_limiter.execute(None, false, move || {
4743 let client = client.clone();
4744 let license_number = license_number.clone();
4745 let body_val = body_val.clone();
4746 async move { client.plant_batches_update_tag_v2(license_number, body_val.as_ref()).await }
4747 }).await
4748 }
4749
4750 pub async fn tags_get_package_available_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4757 let client = self.client.clone();
4758 let body = body.cloned();
4759 self.rate_limiter.execute(None, true, move || {
4760 let client = client.clone();
4761 let license_number = license_number.clone();
4762 let body = body.clone();
4763 async move { client.tags_get_package_available_v2(license_number, body.as_ref()).await }
4764 }).await
4765 }
4766
4767 pub async fn tags_get_plant_available_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4774 let client = self.client.clone();
4775 let body = body.cloned();
4776 self.rate_limiter.execute(None, true, move || {
4777 let client = client.clone();
4778 let license_number = license_number.clone();
4779 let body = body.clone();
4780 async move { client.tags_get_plant_available_v2(license_number, body.as_ref()).await }
4781 }).await
4782 }
4783
4784 pub async fn tags_get_staged_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4792 let client = self.client.clone();
4793 let body = body.cloned();
4794 self.rate_limiter.execute(None, true, move || {
4795 let client = client.clone();
4796 let license_number = license_number.clone();
4797 let body = body.clone();
4798 async move { client.tags_get_staged_v2(license_number, body.as_ref()).await }
4799 }).await
4800 }
4801
4802 pub async fn transfers_create_external_incoming_v1(&self, license_number: Option<String>, body: Option<&Vec<TransfersCreateExternalIncomingV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4807 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4808 let client = self.client.clone();
4809 let body_val = body_val.clone();
4810 self.rate_limiter.execute(None, false, move || {
4811 let client = client.clone();
4812 let license_number = license_number.clone();
4813 let body_val = body_val.clone();
4814 async move { client.transfers_create_external_incoming_v1(license_number, body_val.as_ref()).await }
4815 }).await
4816 }
4817
4818 pub async fn transfers_create_external_incoming_v2(&self, license_number: Option<String>, body: Option<&Vec<TransfersCreateExternalIncomingV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4825 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4826 let client = self.client.clone();
4827 let body_val = body_val.clone();
4828 self.rate_limiter.execute(None, false, move || {
4829 let client = client.clone();
4830 let license_number = license_number.clone();
4831 let body_val = body_val.clone();
4832 async move { client.transfers_create_external_incoming_v2(license_number, body_val.as_ref()).await }
4833 }).await
4834 }
4835
4836 pub async fn transfers_create_templates_v1(&self, license_number: Option<String>, body: Option<&Vec<TransfersCreateTemplatesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4841 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4842 let client = self.client.clone();
4843 let body_val = body_val.clone();
4844 self.rate_limiter.execute(None, false, move || {
4845 let client = client.clone();
4846 let license_number = license_number.clone();
4847 let body_val = body_val.clone();
4848 async move { client.transfers_create_templates_v1(license_number, body_val.as_ref()).await }
4849 }).await
4850 }
4851
4852 pub async fn transfers_create_templates_outgoing_v2(&self, license_number: Option<String>, body: Option<&Vec<TransfersCreateTemplatesOutgoingV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4859 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4860 let client = self.client.clone();
4861 let body_val = body_val.clone();
4862 self.rate_limiter.execute(None, false, move || {
4863 let client = client.clone();
4864 let license_number = license_number.clone();
4865 let body_val = body_val.clone();
4866 async move { client.transfers_create_templates_outgoing_v2(license_number, body_val.as_ref()).await }
4867 }).await
4868 }
4869
4870 pub async fn transfers_delete_external_incoming_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4875 let id = id.to_string();
4876 let client = self.client.clone();
4877 let body = body.cloned();
4878 self.rate_limiter.execute(None, false, move || {
4879 let client = client.clone();
4880 let id = id.clone();
4881 let license_number = license_number.clone();
4882 let body = body.clone();
4883 async move { client.transfers_delete_external_incoming_v1(&id, license_number, body.as_ref()).await }
4884 }).await
4885 }
4886
4887 pub async fn transfers_delete_external_incoming_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4894 let id = id.to_string();
4895 let client = self.client.clone();
4896 let body = body.cloned();
4897 self.rate_limiter.execute(None, false, move || {
4898 let client = client.clone();
4899 let id = id.clone();
4900 let license_number = license_number.clone();
4901 let body = body.clone();
4902 async move { client.transfers_delete_external_incoming_v2(&id, license_number, body.as_ref()).await }
4903 }).await
4904 }
4905
4906 pub async fn transfers_delete_templates_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4911 let id = id.to_string();
4912 let client = self.client.clone();
4913 let body = body.cloned();
4914 self.rate_limiter.execute(None, false, move || {
4915 let client = client.clone();
4916 let id = id.clone();
4917 let license_number = license_number.clone();
4918 let body = body.clone();
4919 async move { client.transfers_delete_templates_v1(&id, license_number, body.as_ref()).await }
4920 }).await
4921 }
4922
4923 pub async fn transfers_delete_templates_outgoing_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4930 let id = id.to_string();
4931 let client = self.client.clone();
4932 let body = body.cloned();
4933 self.rate_limiter.execute(None, false, move || {
4934 let client = client.clone();
4935 let id = id.clone();
4936 let license_number = license_number.clone();
4937 let body = body.clone();
4938 async move { client.transfers_delete_templates_outgoing_v2(&id, license_number, body.as_ref()).await }
4939 }).await
4940 }
4941
4942 pub async fn transfers_get_deliveries_packages_states_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4947 let client = self.client.clone();
4948 let body = body.cloned();
4949 self.rate_limiter.execute(None, true, move || {
4950 let client = client.clone();
4951 let no = no.clone();
4952 let body = body.clone();
4953 async move { client.transfers_get_deliveries_packages_states_v1(no, body.as_ref()).await }
4954 }).await
4955 }
4956
4957 pub async fn transfers_get_deliveries_packages_states_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4964 let client = self.client.clone();
4965 let body = body.cloned();
4966 self.rate_limiter.execute(None, true, move || {
4967 let client = client.clone();
4968 let no = no.clone();
4969 let body = body.clone();
4970 async move { client.transfers_get_deliveries_packages_states_v2(no, body.as_ref()).await }
4971 }).await
4972 }
4973
4974 pub async fn transfers_get_delivery_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4981 let id = id.to_string();
4982 let client = self.client.clone();
4983 let body = body.cloned();
4984 self.rate_limiter.execute(None, true, move || {
4985 let client = client.clone();
4986 let id = id.clone();
4987 let no = no.clone();
4988 let body = body.clone();
4989 async move { client.transfers_get_delivery_v1(&id, no, body.as_ref()).await }
4990 }).await
4991 }
4992
4993 pub async fn transfers_get_delivery_v2(&self, id: &str, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5001 let id = id.to_string();
5002 let client = self.client.clone();
5003 let body = body.cloned();
5004 self.rate_limiter.execute(None, true, move || {
5005 let client = client.clone();
5006 let id = id.clone();
5007 let page_number = page_number.clone();
5008 let page_size = page_size.clone();
5009 let body = body.clone();
5010 async move { client.transfers_get_delivery_v2(&id, page_number, page_size, body.as_ref()).await }
5011 }).await
5012 }
5013
5014 pub async fn transfers_get_delivery_package_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5021 let id = id.to_string();
5022 let client = self.client.clone();
5023 let body = body.cloned();
5024 self.rate_limiter.execute(None, true, move || {
5025 let client = client.clone();
5026 let id = id.clone();
5027 let no = no.clone();
5028 let body = body.clone();
5029 async move { client.transfers_get_delivery_package_v1(&id, no, body.as_ref()).await }
5030 }).await
5031 }
5032
5033 pub async fn transfers_get_delivery_package_v2(&self, id: &str, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5041 let id = id.to_string();
5042 let client = self.client.clone();
5043 let body = body.cloned();
5044 self.rate_limiter.execute(None, true, move || {
5045 let client = client.clone();
5046 let id = id.clone();
5047 let page_number = page_number.clone();
5048 let page_size = page_size.clone();
5049 let body = body.clone();
5050 async move { client.transfers_get_delivery_package_v2(&id, page_number, page_size, body.as_ref()).await }
5051 }).await
5052 }
5053
5054 pub async fn transfers_get_delivery_package_requiredlabtestbatches_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5061 let id = id.to_string();
5062 let client = self.client.clone();
5063 let body = body.cloned();
5064 self.rate_limiter.execute(None, true, move || {
5065 let client = client.clone();
5066 let id = id.clone();
5067 let no = no.clone();
5068 let body = body.clone();
5069 async move { client.transfers_get_delivery_package_requiredlabtestbatches_v1(&id, no, body.as_ref()).await }
5070 }).await
5071 }
5072
5073 pub async fn transfers_get_delivery_package_requiredlabtestbatches_v2(&self, id: &str, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5081 let id = id.to_string();
5082 let client = self.client.clone();
5083 let body = body.cloned();
5084 self.rate_limiter.execute(None, true, move || {
5085 let client = client.clone();
5086 let id = id.clone();
5087 let page_number = page_number.clone();
5088 let page_size = page_size.clone();
5089 let body = body.clone();
5090 async move { client.transfers_get_delivery_package_requiredlabtestbatches_v2(&id, page_number, page_size, body.as_ref()).await }
5091 }).await
5092 }
5093
5094 pub async fn transfers_get_delivery_package_wholesale_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5101 let id = id.to_string();
5102 let client = self.client.clone();
5103 let body = body.cloned();
5104 self.rate_limiter.execute(None, true, move || {
5105 let client = client.clone();
5106 let id = id.clone();
5107 let no = no.clone();
5108 let body = body.clone();
5109 async move { client.transfers_get_delivery_package_wholesale_v1(&id, no, body.as_ref()).await }
5110 }).await
5111 }
5112
5113 pub async fn transfers_get_delivery_package_wholesale_v2(&self, id: &str, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5121 let id = id.to_string();
5122 let client = self.client.clone();
5123 let body = body.cloned();
5124 self.rate_limiter.execute(None, true, move || {
5125 let client = client.clone();
5126 let id = id.clone();
5127 let page_number = page_number.clone();
5128 let page_size = page_size.clone();
5129 let body = body.clone();
5130 async move { client.transfers_get_delivery_package_wholesale_v2(&id, page_number, page_size, body.as_ref()).await }
5131 }).await
5132 }
5133
5134 pub async fn transfers_get_delivery_transporters_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5141 let id = id.to_string();
5142 let client = self.client.clone();
5143 let body = body.cloned();
5144 self.rate_limiter.execute(None, true, move || {
5145 let client = client.clone();
5146 let id = id.clone();
5147 let no = no.clone();
5148 let body = body.clone();
5149 async move { client.transfers_get_delivery_transporters_v1(&id, no, body.as_ref()).await }
5150 }).await
5151 }
5152
5153 pub async fn transfers_get_delivery_transporters_v2(&self, id: &str, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5161 let id = id.to_string();
5162 let client = self.client.clone();
5163 let body = body.cloned();
5164 self.rate_limiter.execute(None, true, move || {
5165 let client = client.clone();
5166 let id = id.clone();
5167 let page_number = page_number.clone();
5168 let page_size = page_size.clone();
5169 let body = body.clone();
5170 async move { client.transfers_get_delivery_transporters_v2(&id, page_number, page_size, body.as_ref()).await }
5171 }).await
5172 }
5173
5174 pub async fn transfers_get_delivery_transporters_details_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5181 let id = id.to_string();
5182 let client = self.client.clone();
5183 let body = body.cloned();
5184 self.rate_limiter.execute(None, true, move || {
5185 let client = client.clone();
5186 let id = id.clone();
5187 let no = no.clone();
5188 let body = body.clone();
5189 async move { client.transfers_get_delivery_transporters_details_v1(&id, no, body.as_ref()).await }
5190 }).await
5191 }
5192
5193 pub async fn transfers_get_delivery_transporters_details_v2(&self, id: &str, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5201 let id = id.to_string();
5202 let client = self.client.clone();
5203 let body = body.cloned();
5204 self.rate_limiter.execute(None, true, move || {
5205 let client = client.clone();
5206 let id = id.clone();
5207 let page_number = page_number.clone();
5208 let page_size = page_size.clone();
5209 let body = body.clone();
5210 async move { client.transfers_get_delivery_transporters_details_v2(&id, page_number, page_size, body.as_ref()).await }
5211 }).await
5212 }
5213
5214 pub async fn transfers_get_hub_v2(&self, estimated_arrival_end: Option<String>, estimated_arrival_start: Option<String>, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5222 let client = self.client.clone();
5223 let body = body.cloned();
5224 self.rate_limiter.execute(None, true, move || {
5225 let client = client.clone();
5226 let estimated_arrival_end = estimated_arrival_end.clone();
5227 let estimated_arrival_start = estimated_arrival_start.clone();
5228 let last_modified_end = last_modified_end.clone();
5229 let last_modified_start = last_modified_start.clone();
5230 let license_number = license_number.clone();
5231 let page_number = page_number.clone();
5232 let page_size = page_size.clone();
5233 let body = body.clone();
5234 async move { client.transfers_get_hub_v2(estimated_arrival_end, estimated_arrival_start, last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
5235 }).await
5236 }
5237
5238 pub async fn transfers_get_incoming_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5243 let client = self.client.clone();
5244 let body = body.cloned();
5245 self.rate_limiter.execute(None, true, move || {
5246 let client = client.clone();
5247 let last_modified_end = last_modified_end.clone();
5248 let last_modified_start = last_modified_start.clone();
5249 let license_number = license_number.clone();
5250 let body = body.clone();
5251 async move { client.transfers_get_incoming_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
5252 }).await
5253 }
5254
5255 pub async fn transfers_get_incoming_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5263 let client = self.client.clone();
5264 let body = body.cloned();
5265 self.rate_limiter.execute(None, true, move || {
5266 let client = client.clone();
5267 let last_modified_end = last_modified_end.clone();
5268 let last_modified_start = last_modified_start.clone();
5269 let license_number = license_number.clone();
5270 let page_number = page_number.clone();
5271 let page_size = page_size.clone();
5272 let body = body.clone();
5273 async move { client.transfers_get_incoming_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
5274 }).await
5275 }
5276
5277 pub async fn transfers_get_outgoing_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5282 let client = self.client.clone();
5283 let body = body.cloned();
5284 self.rate_limiter.execute(None, true, move || {
5285 let client = client.clone();
5286 let last_modified_end = last_modified_end.clone();
5287 let last_modified_start = last_modified_start.clone();
5288 let license_number = license_number.clone();
5289 let body = body.clone();
5290 async move { client.transfers_get_outgoing_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
5291 }).await
5292 }
5293
5294 pub async fn transfers_get_outgoing_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5302 let client = self.client.clone();
5303 let body = body.cloned();
5304 self.rate_limiter.execute(None, true, move || {
5305 let client = client.clone();
5306 let last_modified_end = last_modified_end.clone();
5307 let last_modified_start = last_modified_start.clone();
5308 let license_number = license_number.clone();
5309 let page_number = page_number.clone();
5310 let page_size = page_size.clone();
5311 let body = body.clone();
5312 async move { client.transfers_get_outgoing_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
5313 }).await
5314 }
5315
5316 pub async fn transfers_get_rejected_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5321 let client = self.client.clone();
5322 let body = body.cloned();
5323 self.rate_limiter.execute(None, true, move || {
5324 let client = client.clone();
5325 let license_number = license_number.clone();
5326 let body = body.clone();
5327 async move { client.transfers_get_rejected_v1(license_number, body.as_ref()).await }
5328 }).await
5329 }
5330
5331 pub async fn transfers_get_rejected_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5339 let client = self.client.clone();
5340 let body = body.cloned();
5341 self.rate_limiter.execute(None, true, move || {
5342 let client = client.clone();
5343 let license_number = license_number.clone();
5344 let page_number = page_number.clone();
5345 let page_size = page_size.clone();
5346 let body = body.clone();
5347 async move { client.transfers_get_rejected_v2(license_number, page_number, page_size, body.as_ref()).await }
5348 }).await
5349 }
5350
5351 pub async fn transfers_get_templates_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5356 let client = self.client.clone();
5357 let body = body.cloned();
5358 self.rate_limiter.execute(None, true, move || {
5359 let client = client.clone();
5360 let last_modified_end = last_modified_end.clone();
5361 let last_modified_start = last_modified_start.clone();
5362 let license_number = license_number.clone();
5363 let body = body.clone();
5364 async move { client.transfers_get_templates_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
5365 }).await
5366 }
5367
5368 pub async fn transfers_get_templates_delivery_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5373 let id = id.to_string();
5374 let client = self.client.clone();
5375 let body = body.cloned();
5376 self.rate_limiter.execute(None, true, move || {
5377 let client = client.clone();
5378 let id = id.clone();
5379 let no = no.clone();
5380 let body = body.clone();
5381 async move { client.transfers_get_templates_delivery_v1(&id, no, body.as_ref()).await }
5382 }).await
5383 }
5384
5385 pub async fn transfers_get_templates_delivery_package_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5392 let id = id.to_string();
5393 let client = self.client.clone();
5394 let body = body.cloned();
5395 self.rate_limiter.execute(None, true, move || {
5396 let client = client.clone();
5397 let id = id.clone();
5398 let no = no.clone();
5399 let body = body.clone();
5400 async move { client.transfers_get_templates_delivery_package_v1(&id, no, body.as_ref()).await }
5401 }).await
5402 }
5403
5404 pub async fn transfers_get_templates_delivery_transporters_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5411 let id = id.to_string();
5412 let client = self.client.clone();
5413 let body = body.cloned();
5414 self.rate_limiter.execute(None, true, move || {
5415 let client = client.clone();
5416 let id = id.clone();
5417 let no = no.clone();
5418 let body = body.clone();
5419 async move { client.transfers_get_templates_delivery_transporters_v1(&id, no, body.as_ref()).await }
5420 }).await
5421 }
5422
5423 pub async fn transfers_get_templates_delivery_transporters_details_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5430 let id = id.to_string();
5431 let client = self.client.clone();
5432 let body = body.cloned();
5433 self.rate_limiter.execute(None, true, move || {
5434 let client = client.clone();
5435 let id = id.clone();
5436 let no = no.clone();
5437 let body = body.clone();
5438 async move { client.transfers_get_templates_delivery_transporters_details_v1(&id, no, body.as_ref()).await }
5439 }).await
5440 }
5441
5442 pub async fn transfers_get_templates_outgoing_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5450 let client = self.client.clone();
5451 let body = body.cloned();
5452 self.rate_limiter.execute(None, true, move || {
5453 let client = client.clone();
5454 let last_modified_end = last_modified_end.clone();
5455 let last_modified_start = last_modified_start.clone();
5456 let license_number = license_number.clone();
5457 let page_number = page_number.clone();
5458 let page_size = page_size.clone();
5459 let body = body.clone();
5460 async move { client.transfers_get_templates_outgoing_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
5461 }).await
5462 }
5463
5464 pub async fn transfers_get_templates_outgoing_delivery_v2(&self, id: &str, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5472 let id = id.to_string();
5473 let client = self.client.clone();
5474 let body = body.cloned();
5475 self.rate_limiter.execute(None, true, move || {
5476 let client = client.clone();
5477 let id = id.clone();
5478 let page_number = page_number.clone();
5479 let page_size = page_size.clone();
5480 let body = body.clone();
5481 async move { client.transfers_get_templates_outgoing_delivery_v2(&id, page_number, page_size, body.as_ref()).await }
5482 }).await
5483 }
5484
5485 pub async fn transfers_get_templates_outgoing_delivery_package_v2(&self, id: &str, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5493 let id = id.to_string();
5494 let client = self.client.clone();
5495 let body = body.cloned();
5496 self.rate_limiter.execute(None, true, move || {
5497 let client = client.clone();
5498 let id = id.clone();
5499 let page_number = page_number.clone();
5500 let page_size = page_size.clone();
5501 let body = body.clone();
5502 async move { client.transfers_get_templates_outgoing_delivery_package_v2(&id, page_number, page_size, body.as_ref()).await }
5503 }).await
5504 }
5505
5506 pub async fn transfers_get_templates_outgoing_delivery_transporters_v2(&self, id: &str, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5514 let id = id.to_string();
5515 let client = self.client.clone();
5516 let body = body.cloned();
5517 self.rate_limiter.execute(None, true, move || {
5518 let client = client.clone();
5519 let id = id.clone();
5520 let page_number = page_number.clone();
5521 let page_size = page_size.clone();
5522 let body = body.clone();
5523 async move { client.transfers_get_templates_outgoing_delivery_transporters_v2(&id, page_number, page_size, body.as_ref()).await }
5524 }).await
5525 }
5526
5527 pub async fn transfers_get_templates_outgoing_delivery_transporters_details_v2(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5535 let id = id.to_string();
5536 let client = self.client.clone();
5537 let body = body.cloned();
5538 self.rate_limiter.execute(None, true, move || {
5539 let client = client.clone();
5540 let id = id.clone();
5541 let no = no.clone();
5542 let body = body.clone();
5543 async move { client.transfers_get_templates_outgoing_delivery_transporters_details_v2(&id, no, body.as_ref()).await }
5544 }).await
5545 }
5546
5547 pub async fn transfers_get_types_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5552 let client = self.client.clone();
5553 let body = body.cloned();
5554 self.rate_limiter.execute(None, true, move || {
5555 let client = client.clone();
5556 let license_number = license_number.clone();
5557 let body = body.clone();
5558 async move { client.transfers_get_types_v1(license_number, body.as_ref()).await }
5559 }).await
5560 }
5561
5562 pub async fn transfers_get_types_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5569 let client = self.client.clone();
5570 let body = body.cloned();
5571 self.rate_limiter.execute(None, true, move || {
5572 let client = client.clone();
5573 let license_number = license_number.clone();
5574 let page_number = page_number.clone();
5575 let page_size = page_size.clone();
5576 let body = body.clone();
5577 async move { client.transfers_get_types_v2(license_number, page_number, page_size, body.as_ref()).await }
5578 }).await
5579 }
5580
5581 pub async fn transfers_update_external_incoming_v1(&self, license_number: Option<String>, body: Option<&Vec<TransfersUpdateExternalIncomingV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5586 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5587 let client = self.client.clone();
5588 let body_val = body_val.clone();
5589 self.rate_limiter.execute(None, false, move || {
5590 let client = client.clone();
5591 let license_number = license_number.clone();
5592 let body_val = body_val.clone();
5593 async move { client.transfers_update_external_incoming_v1(license_number, body_val.as_ref()).await }
5594 }).await
5595 }
5596
5597 pub async fn transfers_update_external_incoming_v2(&self, license_number: Option<String>, body: Option<&Vec<TransfersUpdateExternalIncomingV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5604 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5605 let client = self.client.clone();
5606 let body_val = body_val.clone();
5607 self.rate_limiter.execute(None, false, move || {
5608 let client = client.clone();
5609 let license_number = license_number.clone();
5610 let body_val = body_val.clone();
5611 async move { client.transfers_update_external_incoming_v2(license_number, body_val.as_ref()).await }
5612 }).await
5613 }
5614
5615 pub async fn transfers_update_templates_v1(&self, license_number: Option<String>, body: Option<&Vec<TransfersUpdateTemplatesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5620 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5621 let client = self.client.clone();
5622 let body_val = body_val.clone();
5623 self.rate_limiter.execute(None, false, move || {
5624 let client = client.clone();
5625 let license_number = license_number.clone();
5626 let body_val = body_val.clone();
5627 async move { client.transfers_update_templates_v1(license_number, body_val.as_ref()).await }
5628 }).await
5629 }
5630
5631 pub async fn transfers_update_templates_outgoing_v2(&self, license_number: Option<String>, body: Option<&Vec<TransfersUpdateTemplatesOutgoingV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5638 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5639 let client = self.client.clone();
5640 let body_val = body_val.clone();
5641 self.rate_limiter.execute(None, false, move || {
5642 let client = client.clone();
5643 let license_number = license_number.clone();
5644 let body_val = body_val.clone();
5645 async move { client.transfers_update_templates_outgoing_v2(license_number, body_val.as_ref()).await }
5646 }).await
5647 }
5648
5649 pub async fn units_of_measure_get_active_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5654 let client = self.client.clone();
5655 let body = body.cloned();
5656 self.rate_limiter.execute(None, true, move || {
5657 let client = client.clone();
5658 let no = no.clone();
5659 let body = body.clone();
5660 async move { client.units_of_measure_get_active_v1(no, body.as_ref()).await }
5661 }).await
5662 }
5663
5664 pub async fn units_of_measure_get_active_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5671 let client = self.client.clone();
5672 let body = body.cloned();
5673 self.rate_limiter.execute(None, true, move || {
5674 let client = client.clone();
5675 let no = no.clone();
5676 let body = body.clone();
5677 async move { client.units_of_measure_get_active_v2(no, body.as_ref()).await }
5678 }).await
5679 }
5680
5681 pub async fn units_of_measure_get_inactive_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5688 let client = self.client.clone();
5689 let body = body.cloned();
5690 self.rate_limiter.execute(None, true, move || {
5691 let client = client.clone();
5692 let no = no.clone();
5693 let body = body.clone();
5694 async move { client.units_of_measure_get_inactive_v2(no, body.as_ref()).await }
5695 }).await
5696 }
5697
5698 pub async fn waste_methods_get_all_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5705 let client = self.client.clone();
5706 let body = body.cloned();
5707 self.rate_limiter.execute(None, true, move || {
5708 let client = client.clone();
5709 let no = no.clone();
5710 let body = body.clone();
5711 async move { client.waste_methods_get_all_v2(no, body.as_ref()).await }
5712 }).await
5713 }
5714
5715 pub async fn caregivers_status_get_by_caregiver_license_number_v1(&self, caregiver_license_number: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5722 let caregiver_license_number = caregiver_license_number.to_string();
5723 let client = self.client.clone();
5724 let body = body.cloned();
5725 self.rate_limiter.execute(None, true, move || {
5726 let client = client.clone();
5727 let caregiver_license_number = caregiver_license_number.clone();
5728 let license_number = license_number.clone();
5729 let body = body.clone();
5730 async move { client.caregivers_status_get_by_caregiver_license_number_v1(&caregiver_license_number, license_number, body.as_ref()).await }
5731 }).await
5732 }
5733
5734 pub async fn caregivers_status_get_by_caregiver_license_number_v2(&self, caregiver_license_number: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5741 let caregiver_license_number = caregiver_license_number.to_string();
5742 let client = self.client.clone();
5743 let body = body.cloned();
5744 self.rate_limiter.execute(None, true, move || {
5745 let client = client.clone();
5746 let caregiver_license_number = caregiver_license_number.clone();
5747 let license_number = license_number.clone();
5748 let body = body.clone();
5749 async move { client.caregivers_status_get_by_caregiver_license_number_v2(&caregiver_license_number, license_number, body.as_ref()).await }
5750 }).await
5751 }
5752
5753 pub async fn employees_get_all_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5758 let client = self.client.clone();
5759 let body = body.cloned();
5760 self.rate_limiter.execute(None, true, move || {
5761 let client = client.clone();
5762 let license_number = license_number.clone();
5763 let body = body.clone();
5764 async move { client.employees_get_all_v1(license_number, body.as_ref()).await }
5765 }).await
5766 }
5767
5768 pub async fn employees_get_all_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5776 let client = self.client.clone();
5777 let body = body.cloned();
5778 self.rate_limiter.execute(None, true, move || {
5779 let client = client.clone();
5780 let license_number = license_number.clone();
5781 let page_number = page_number.clone();
5782 let page_size = page_size.clone();
5783 let body = body.clone();
5784 async move { client.employees_get_all_v2(license_number, page_number, page_size, body.as_ref()).await }
5785 }).await
5786 }
5787
5788 pub async fn employees_get_permissions_v2(&self, employee_license_number: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5795 let client = self.client.clone();
5796 let body = body.cloned();
5797 self.rate_limiter.execute(None, true, move || {
5798 let client = client.clone();
5799 let employee_license_number = employee_license_number.clone();
5800 let license_number = license_number.clone();
5801 let body = body.clone();
5802 async move { client.employees_get_permissions_v2(employee_license_number, license_number, body.as_ref()).await }
5803 }).await
5804 }
5805
5806 pub async fn items_create_v1(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5813 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5814 let client = self.client.clone();
5815 let body_val = body_val.clone();
5816 self.rate_limiter.execute(None, false, move || {
5817 let client = client.clone();
5818 let license_number = license_number.clone();
5819 let body_val = body_val.clone();
5820 async move { client.items_create_v1(license_number, body_val.as_ref()).await }
5821 }).await
5822 }
5823
5824 pub async fn items_create_v2(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5831 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5832 let client = self.client.clone();
5833 let body_val = body_val.clone();
5834 self.rate_limiter.execute(None, false, move || {
5835 let client = client.clone();
5836 let license_number = license_number.clone();
5837 let body_val = body_val.clone();
5838 async move { client.items_create_v2(license_number, body_val.as_ref()).await }
5839 }).await
5840 }
5841
5842 pub async fn items_create_brand_v2(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreateBrandV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5849 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5850 let client = self.client.clone();
5851 let body_val = body_val.clone();
5852 self.rate_limiter.execute(None, false, move || {
5853 let client = client.clone();
5854 let license_number = license_number.clone();
5855 let body_val = body_val.clone();
5856 async move { client.items_create_brand_v2(license_number, body_val.as_ref()).await }
5857 }).await
5858 }
5859
5860 pub async fn items_create_file_v2(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreateFileV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5867 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5868 let client = self.client.clone();
5869 let body_val = body_val.clone();
5870 self.rate_limiter.execute(None, false, move || {
5871 let client = client.clone();
5872 let license_number = license_number.clone();
5873 let body_val = body_val.clone();
5874 async move { client.items_create_file_v2(license_number, body_val.as_ref()).await }
5875 }).await
5876 }
5877
5878 pub async fn items_create_photo_v1(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreatePhotoV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5885 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5886 let client = self.client.clone();
5887 let body_val = body_val.clone();
5888 self.rate_limiter.execute(None, false, move || {
5889 let client = client.clone();
5890 let license_number = license_number.clone();
5891 let body_val = body_val.clone();
5892 async move { client.items_create_photo_v1(license_number, body_val.as_ref()).await }
5893 }).await
5894 }
5895
5896 pub async fn items_create_photo_v2(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreatePhotoV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5903 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5904 let client = self.client.clone();
5905 let body_val = body_val.clone();
5906 self.rate_limiter.execute(None, false, move || {
5907 let client = client.clone();
5908 let license_number = license_number.clone();
5909 let body_val = body_val.clone();
5910 async move { client.items_create_photo_v2(license_number, body_val.as_ref()).await }
5911 }).await
5912 }
5913
5914 pub async fn items_create_update_v1(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreateUpdateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5919 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5920 let client = self.client.clone();
5921 let body_val = body_val.clone();
5922 self.rate_limiter.execute(None, false, move || {
5923 let client = client.clone();
5924 let license_number = license_number.clone();
5925 let body_val = body_val.clone();
5926 async move { client.items_create_update_v1(license_number, body_val.as_ref()).await }
5927 }).await
5928 }
5929
5930 pub async fn items_delete_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5935 let id = id.to_string();
5936 let client = self.client.clone();
5937 let body = body.cloned();
5938 self.rate_limiter.execute(None, false, move || {
5939 let client = client.clone();
5940 let id = id.clone();
5941 let license_number = license_number.clone();
5942 let body = body.clone();
5943 async move { client.items_delete_v1(&id, license_number, body.as_ref()).await }
5944 }).await
5945 }
5946
5947 pub async fn items_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5954 let id = id.to_string();
5955 let client = self.client.clone();
5956 let body = body.cloned();
5957 self.rate_limiter.execute(None, false, move || {
5958 let client = client.clone();
5959 let id = id.clone();
5960 let license_number = license_number.clone();
5961 let body = body.clone();
5962 async move { client.items_delete_v2(&id, license_number, body.as_ref()).await }
5963 }).await
5964 }
5965
5966 pub async fn items_delete_brand_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5973 let id = id.to_string();
5974 let client = self.client.clone();
5975 let body = body.cloned();
5976 self.rate_limiter.execute(None, false, move || {
5977 let client = client.clone();
5978 let id = id.clone();
5979 let license_number = license_number.clone();
5980 let body = body.clone();
5981 async move { client.items_delete_brand_v2(&id, license_number, body.as_ref()).await }
5982 }).await
5983 }
5984
5985 pub async fn items_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5990 let id = id.to_string();
5991 let client = self.client.clone();
5992 let body = body.cloned();
5993 self.rate_limiter.execute(None, true, move || {
5994 let client = client.clone();
5995 let id = id.clone();
5996 let license_number = license_number.clone();
5997 let body = body.clone();
5998 async move { client.items_get_v1(&id, license_number, body.as_ref()).await }
5999 }).await
6000 }
6001
6002 pub async fn items_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6009 let id = id.to_string();
6010 let client = self.client.clone();
6011 let body = body.cloned();
6012 self.rate_limiter.execute(None, true, move || {
6013 let client = client.clone();
6014 let id = id.clone();
6015 let license_number = license_number.clone();
6016 let body = body.clone();
6017 async move { client.items_get_v2(&id, license_number, body.as_ref()).await }
6018 }).await
6019 }
6020
6021 pub async fn items_get_active_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6026 let client = self.client.clone();
6027 let body = body.cloned();
6028 self.rate_limiter.execute(None, true, move || {
6029 let client = client.clone();
6030 let license_number = license_number.clone();
6031 let body = body.clone();
6032 async move { client.items_get_active_v1(license_number, body.as_ref()).await }
6033 }).await
6034 }
6035
6036 pub async fn items_get_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6043 let client = self.client.clone();
6044 let body = body.cloned();
6045 self.rate_limiter.execute(None, true, move || {
6046 let client = client.clone();
6047 let last_modified_end = last_modified_end.clone();
6048 let last_modified_start = last_modified_start.clone();
6049 let license_number = license_number.clone();
6050 let page_number = page_number.clone();
6051 let page_size = page_size.clone();
6052 let body = body.clone();
6053 async move { client.items_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
6054 }).await
6055 }
6056
6057 pub async fn items_get_brands_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6062 let client = self.client.clone();
6063 let body = body.cloned();
6064 self.rate_limiter.execute(None, true, move || {
6065 let client = client.clone();
6066 let license_number = license_number.clone();
6067 let body = body.clone();
6068 async move { client.items_get_brands_v1(license_number, body.as_ref()).await }
6069 }).await
6070 }
6071
6072 pub async fn items_get_brands_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6079 let client = self.client.clone();
6080 let body = body.cloned();
6081 self.rate_limiter.execute(None, true, move || {
6082 let client = client.clone();
6083 let license_number = license_number.clone();
6084 let page_number = page_number.clone();
6085 let page_size = page_size.clone();
6086 let body = body.clone();
6087 async move { client.items_get_brands_v2(license_number, page_number, page_size, body.as_ref()).await }
6088 }).await
6089 }
6090
6091 pub async fn items_get_categories_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6096 let client = self.client.clone();
6097 let body = body.cloned();
6098 self.rate_limiter.execute(None, true, move || {
6099 let client = client.clone();
6100 let license_number = license_number.clone();
6101 let body = body.clone();
6102 async move { client.items_get_categories_v1(license_number, body.as_ref()).await }
6103 }).await
6104 }
6105
6106 pub async fn items_get_categories_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6113 let client = self.client.clone();
6114 let body = body.cloned();
6115 self.rate_limiter.execute(None, true, move || {
6116 let client = client.clone();
6117 let license_number = license_number.clone();
6118 let page_number = page_number.clone();
6119 let page_size = page_size.clone();
6120 let body = body.clone();
6121 async move { client.items_get_categories_v2(license_number, page_number, page_size, body.as_ref()).await }
6122 }).await
6123 }
6124
6125 pub async fn items_get_file_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6132 let id = id.to_string();
6133 let client = self.client.clone();
6134 let body = body.cloned();
6135 self.rate_limiter.execute(None, true, move || {
6136 let client = client.clone();
6137 let id = id.clone();
6138 let license_number = license_number.clone();
6139 let body = body.clone();
6140 async move { client.items_get_file_v2(&id, license_number, body.as_ref()).await }
6141 }).await
6142 }
6143
6144 pub async fn items_get_inactive_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6149 let client = self.client.clone();
6150 let body = body.cloned();
6151 self.rate_limiter.execute(None, true, move || {
6152 let client = client.clone();
6153 let license_number = license_number.clone();
6154 let body = body.clone();
6155 async move { client.items_get_inactive_v1(license_number, body.as_ref()).await }
6156 }).await
6157 }
6158
6159 pub async fn items_get_inactive_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6166 let client = self.client.clone();
6167 let body = body.cloned();
6168 self.rate_limiter.execute(None, true, move || {
6169 let client = client.clone();
6170 let license_number = license_number.clone();
6171 let page_number = page_number.clone();
6172 let page_size = page_size.clone();
6173 let body = body.clone();
6174 async move { client.items_get_inactive_v2(license_number, page_number, page_size, body.as_ref()).await }
6175 }).await
6176 }
6177
6178 pub async fn items_get_photo_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6183 let id = id.to_string();
6184 let client = self.client.clone();
6185 let body = body.cloned();
6186 self.rate_limiter.execute(None, true, move || {
6187 let client = client.clone();
6188 let id = id.clone();
6189 let license_number = license_number.clone();
6190 let body = body.clone();
6191 async move { client.items_get_photo_v1(&id, license_number, body.as_ref()).await }
6192 }).await
6193 }
6194
6195 pub async fn items_get_photo_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6202 let id = id.to_string();
6203 let client = self.client.clone();
6204 let body = body.cloned();
6205 self.rate_limiter.execute(None, true, move || {
6206 let client = client.clone();
6207 let id = id.clone();
6208 let license_number = license_number.clone();
6209 let body = body.clone();
6210 async move { client.items_get_photo_v2(&id, license_number, body.as_ref()).await }
6211 }).await
6212 }
6213
6214 pub async fn items_update_v2(&self, license_number: Option<String>, body: Option<&Vec<ItemsUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6221 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6222 let client = self.client.clone();
6223 let body_val = body_val.clone();
6224 self.rate_limiter.execute(None, false, move || {
6225 let client = client.clone();
6226 let license_number = license_number.clone();
6227 let body_val = body_val.clone();
6228 async move { client.items_update_v2(license_number, body_val.as_ref()).await }
6229 }).await
6230 }
6231
6232 pub async fn items_update_brand_v2(&self, license_number: Option<String>, body: Option<&Vec<ItemsUpdateBrandV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6239 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6240 let client = self.client.clone();
6241 let body_val = body_val.clone();
6242 self.rate_limiter.execute(None, false, move || {
6243 let client = client.clone();
6244 let license_number = license_number.clone();
6245 let body_val = body_val.clone();
6246 async move { client.items_update_brand_v2(license_number, body_val.as_ref()).await }
6247 }).await
6248 }
6249
6250 pub async fn locations_create_v1(&self, license_number: Option<String>, body: Option<&Vec<LocationsCreateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6255 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6256 let client = self.client.clone();
6257 let body_val = body_val.clone();
6258 self.rate_limiter.execute(None, false, move || {
6259 let client = client.clone();
6260 let license_number = license_number.clone();
6261 let body_val = body_val.clone();
6262 async move { client.locations_create_v1(license_number, body_val.as_ref()).await }
6263 }).await
6264 }
6265
6266 pub async fn locations_create_v2(&self, license_number: Option<String>, body: Option<&Vec<LocationsCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6273 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6274 let client = self.client.clone();
6275 let body_val = body_val.clone();
6276 self.rate_limiter.execute(None, false, move || {
6277 let client = client.clone();
6278 let license_number = license_number.clone();
6279 let body_val = body_val.clone();
6280 async move { client.locations_create_v2(license_number, body_val.as_ref()).await }
6281 }).await
6282 }
6283
6284 pub async fn locations_create_update_v1(&self, license_number: Option<String>, body: Option<&Vec<LocationsCreateUpdateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6289 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6290 let client = self.client.clone();
6291 let body_val = body_val.clone();
6292 self.rate_limiter.execute(None, false, move || {
6293 let client = client.clone();
6294 let license_number = license_number.clone();
6295 let body_val = body_val.clone();
6296 async move { client.locations_create_update_v1(license_number, body_val.as_ref()).await }
6297 }).await
6298 }
6299
6300 pub async fn locations_delete_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6305 let id = id.to_string();
6306 let client = self.client.clone();
6307 let body = body.cloned();
6308 self.rate_limiter.execute(None, false, move || {
6309 let client = client.clone();
6310 let id = id.clone();
6311 let license_number = license_number.clone();
6312 let body = body.clone();
6313 async move { client.locations_delete_v1(&id, license_number, body.as_ref()).await }
6314 }).await
6315 }
6316
6317 pub async fn locations_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6324 let id = id.to_string();
6325 let client = self.client.clone();
6326 let body = body.cloned();
6327 self.rate_limiter.execute(None, false, move || {
6328 let client = client.clone();
6329 let id = id.clone();
6330 let license_number = license_number.clone();
6331 let body = body.clone();
6332 async move { client.locations_delete_v2(&id, license_number, body.as_ref()).await }
6333 }).await
6334 }
6335
6336 pub async fn locations_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6341 let id = id.to_string();
6342 let client = self.client.clone();
6343 let body = body.cloned();
6344 self.rate_limiter.execute(None, true, move || {
6345 let client = client.clone();
6346 let id = id.clone();
6347 let license_number = license_number.clone();
6348 let body = body.clone();
6349 async move { client.locations_get_v1(&id, license_number, body.as_ref()).await }
6350 }).await
6351 }
6352
6353 pub async fn locations_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6360 let id = id.to_string();
6361 let client = self.client.clone();
6362 let body = body.cloned();
6363 self.rate_limiter.execute(None, true, move || {
6364 let client = client.clone();
6365 let id = id.clone();
6366 let license_number = license_number.clone();
6367 let body = body.clone();
6368 async move { client.locations_get_v2(&id, license_number, body.as_ref()).await }
6369 }).await
6370 }
6371
6372 pub async fn locations_get_active_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6377 let client = self.client.clone();
6378 let body = body.cloned();
6379 self.rate_limiter.execute(None, true, move || {
6380 let client = client.clone();
6381 let license_number = license_number.clone();
6382 let body = body.clone();
6383 async move { client.locations_get_active_v1(license_number, body.as_ref()).await }
6384 }).await
6385 }
6386
6387 pub async fn locations_get_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6394 let client = self.client.clone();
6395 let body = body.cloned();
6396 self.rate_limiter.execute(None, true, move || {
6397 let client = client.clone();
6398 let last_modified_end = last_modified_end.clone();
6399 let last_modified_start = last_modified_start.clone();
6400 let license_number = license_number.clone();
6401 let page_number = page_number.clone();
6402 let page_size = page_size.clone();
6403 let body = body.clone();
6404 async move { client.locations_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
6405 }).await
6406 }
6407
6408 pub async fn locations_get_inactive_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6415 let client = self.client.clone();
6416 let body = body.cloned();
6417 self.rate_limiter.execute(None, true, move || {
6418 let client = client.clone();
6419 let license_number = license_number.clone();
6420 let page_number = page_number.clone();
6421 let page_size = page_size.clone();
6422 let body = body.clone();
6423 async move { client.locations_get_inactive_v2(license_number, page_number, page_size, body.as_ref()).await }
6424 }).await
6425 }
6426
6427 pub async fn locations_get_types_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6432 let client = self.client.clone();
6433 let body = body.cloned();
6434 self.rate_limiter.execute(None, true, move || {
6435 let client = client.clone();
6436 let license_number = license_number.clone();
6437 let body = body.clone();
6438 async move { client.locations_get_types_v1(license_number, body.as_ref()).await }
6439 }).await
6440 }
6441
6442 pub async fn locations_get_types_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6449 let client = self.client.clone();
6450 let body = body.cloned();
6451 self.rate_limiter.execute(None, true, move || {
6452 let client = client.clone();
6453 let license_number = license_number.clone();
6454 let page_number = page_number.clone();
6455 let page_size = page_size.clone();
6456 let body = body.clone();
6457 async move { client.locations_get_types_v2(license_number, page_number, page_size, body.as_ref()).await }
6458 }).await
6459 }
6460
6461 pub async fn locations_update_v2(&self, license_number: Option<String>, body: Option<&Vec<LocationsUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6468 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6469 let client = self.client.clone();
6470 let body_val = body_val.clone();
6471 self.rate_limiter.execute(None, false, move || {
6472 let client = client.clone();
6473 let license_number = license_number.clone();
6474 let body_val = body_val.clone();
6475 async move { client.locations_update_v2(license_number, body_val.as_ref()).await }
6476 }).await
6477 }
6478
6479 pub async fn packages_create_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6485 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6486 let client = self.client.clone();
6487 let body_val = body_val.clone();
6488 self.rate_limiter.execute(None, false, move || {
6489 let client = client.clone();
6490 let license_number = license_number.clone();
6491 let body_val = body_val.clone();
6492 async move { client.packages_create_v1(license_number, body_val.as_ref()).await }
6493 }).await
6494 }
6495
6496 pub async fn packages_create_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6504 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6505 let client = self.client.clone();
6506 let body_val = body_val.clone();
6507 self.rate_limiter.execute(None, false, move || {
6508 let client = client.clone();
6509 let license_number = license_number.clone();
6510 let body_val = body_val.clone();
6511 async move { client.packages_create_v2(license_number, body_val.as_ref()).await }
6512 }).await
6513 }
6514
6515 pub async fn packages_create_adjust_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateAdjustV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6521 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6522 let client = self.client.clone();
6523 let body_val = body_val.clone();
6524 self.rate_limiter.execute(None, false, move || {
6525 let client = client.clone();
6526 let license_number = license_number.clone();
6527 let body_val = body_val.clone();
6528 async move { client.packages_create_adjust_v1(license_number, body_val.as_ref()).await }
6529 }).await
6530 }
6531
6532 pub async fn packages_create_adjust_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateAdjustV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6540 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6541 let client = self.client.clone();
6542 let body_val = body_val.clone();
6543 self.rate_limiter.execute(None, false, move || {
6544 let client = client.clone();
6545 let license_number = license_number.clone();
6546 let body_val = body_val.clone();
6547 async move { client.packages_create_adjust_v2(license_number, body_val.as_ref()).await }
6548 }).await
6549 }
6550
6551 pub async fn packages_create_change_item_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateChangeItemV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6557 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6558 let client = self.client.clone();
6559 let body_val = body_val.clone();
6560 self.rate_limiter.execute(None, false, move || {
6561 let client = client.clone();
6562 let license_number = license_number.clone();
6563 let body_val = body_val.clone();
6564 async move { client.packages_create_change_item_v1(license_number, body_val.as_ref()).await }
6565 }).await
6566 }
6567
6568 pub async fn packages_create_change_location_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateChangeLocationV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6574 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6575 let client = self.client.clone();
6576 let body_val = body_val.clone();
6577 self.rate_limiter.execute(None, false, move || {
6578 let client = client.clone();
6579 let license_number = license_number.clone();
6580 let body_val = body_val.clone();
6581 async move { client.packages_create_change_location_v1(license_number, body_val.as_ref()).await }
6582 }).await
6583 }
6584
6585 pub async fn packages_create_finish_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateFinishV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6591 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6592 let client = self.client.clone();
6593 let body_val = body_val.clone();
6594 self.rate_limiter.execute(None, false, move || {
6595 let client = client.clone();
6596 let license_number = license_number.clone();
6597 let body_val = body_val.clone();
6598 async move { client.packages_create_finish_v1(license_number, body_val.as_ref()).await }
6599 }).await
6600 }
6601
6602 pub async fn packages_create_plantings_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreatePlantingsV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6610 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6611 let client = self.client.clone();
6612 let body_val = body_val.clone();
6613 self.rate_limiter.execute(None, false, move || {
6614 let client = client.clone();
6615 let license_number = license_number.clone();
6616 let body_val = body_val.clone();
6617 async move { client.packages_create_plantings_v1(license_number, body_val.as_ref()).await }
6618 }).await
6619 }
6620
6621 pub async fn packages_create_plantings_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreatePlantingsV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6631 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6632 let client = self.client.clone();
6633 let body_val = body_val.clone();
6634 self.rate_limiter.execute(None, false, move || {
6635 let client = client.clone();
6636 let license_number = license_number.clone();
6637 let body_val = body_val.clone();
6638 async move { client.packages_create_plantings_v2(license_number, body_val.as_ref()).await }
6639 }).await
6640 }
6641
6642 pub async fn packages_create_remediate_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateRemediateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6648 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6649 let client = self.client.clone();
6650 let body_val = body_val.clone();
6651 self.rate_limiter.execute(None, false, move || {
6652 let client = client.clone();
6653 let license_number = license_number.clone();
6654 let body_val = body_val.clone();
6655 async move { client.packages_create_remediate_v1(license_number, body_val.as_ref()).await }
6656 }).await
6657 }
6658
6659 pub async fn packages_create_testing_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateTestingV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6665 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6666 let client = self.client.clone();
6667 let body_val = body_val.clone();
6668 self.rate_limiter.execute(None, false, move || {
6669 let client = client.clone();
6670 let license_number = license_number.clone();
6671 let body_val = body_val.clone();
6672 async move { client.packages_create_testing_v1(license_number, body_val.as_ref()).await }
6673 }).await
6674 }
6675
6676 pub async fn packages_create_testing_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateTestingV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6684 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6685 let client = self.client.clone();
6686 let body_val = body_val.clone();
6687 self.rate_limiter.execute(None, false, move || {
6688 let client = client.clone();
6689 let license_number = license_number.clone();
6690 let body_val = body_val.clone();
6691 async move { client.packages_create_testing_v2(license_number, body_val.as_ref()).await }
6692 }).await
6693 }
6694
6695 pub async fn packages_create_unfinish_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateUnfinishV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6701 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6702 let client = self.client.clone();
6703 let body_val = body_val.clone();
6704 self.rate_limiter.execute(None, false, move || {
6705 let client = client.clone();
6706 let license_number = license_number.clone();
6707 let body_val = body_val.clone();
6708 async move { client.packages_create_unfinish_v1(license_number, body_val.as_ref()).await }
6709 }).await
6710 }
6711
6712 pub async fn packages_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6720 let id = id.to_string();
6721 let client = self.client.clone();
6722 let body = body.cloned();
6723 self.rate_limiter.execute(None, false, move || {
6724 let client = client.clone();
6725 let id = id.clone();
6726 let license_number = license_number.clone();
6727 let body = body.clone();
6728 async move { client.packages_delete_v2(&id, license_number, body.as_ref()).await }
6729 }).await
6730 }
6731
6732 pub async fn packages_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6737 let id = id.to_string();
6738 let client = self.client.clone();
6739 let body = body.cloned();
6740 self.rate_limiter.execute(None, true, move || {
6741 let client = client.clone();
6742 let id = id.clone();
6743 let license_number = license_number.clone();
6744 let body = body.clone();
6745 async move { client.packages_get_v1(&id, license_number, body.as_ref()).await }
6746 }).await
6747 }
6748
6749 pub async fn packages_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6756 let id = id.to_string();
6757 let client = self.client.clone();
6758 let body = body.cloned();
6759 self.rate_limiter.execute(None, true, move || {
6760 let client = client.clone();
6761 let id = id.clone();
6762 let license_number = license_number.clone();
6763 let body = body.clone();
6764 async move { client.packages_get_v2(&id, license_number, body.as_ref()).await }
6765 }).await
6766 }
6767
6768 pub async fn packages_get_active_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6773 let client = self.client.clone();
6774 let body = body.cloned();
6775 self.rate_limiter.execute(None, true, move || {
6776 let client = client.clone();
6777 let last_modified_end = last_modified_end.clone();
6778 let last_modified_start = last_modified_start.clone();
6779 let license_number = license_number.clone();
6780 let body = body.clone();
6781 async move { client.packages_get_active_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
6782 }).await
6783 }
6784
6785 pub async fn packages_get_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6792 let client = self.client.clone();
6793 let body = body.cloned();
6794 self.rate_limiter.execute(None, true, move || {
6795 let client = client.clone();
6796 let last_modified_end = last_modified_end.clone();
6797 let last_modified_start = last_modified_start.clone();
6798 let license_number = license_number.clone();
6799 let page_number = page_number.clone();
6800 let page_size = page_size.clone();
6801 let body = body.clone();
6802 async move { client.packages_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
6803 }).await
6804 }
6805
6806 pub async fn packages_get_adjust_reasons_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6811 let client = self.client.clone();
6812 let body = body.cloned();
6813 self.rate_limiter.execute(None, true, move || {
6814 let client = client.clone();
6815 let license_number = license_number.clone();
6816 let body = body.clone();
6817 async move { client.packages_get_adjust_reasons_v1(license_number, body.as_ref()).await }
6818 }).await
6819 }
6820
6821 pub async fn packages_get_adjust_reasons_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6828 let client = self.client.clone();
6829 let body = body.cloned();
6830 self.rate_limiter.execute(None, true, move || {
6831 let client = client.clone();
6832 let license_number = license_number.clone();
6833 let page_number = page_number.clone();
6834 let page_size = page_size.clone();
6835 let body = body.clone();
6836 async move { client.packages_get_adjust_reasons_v2(license_number, page_number, page_size, body.as_ref()).await }
6837 }).await
6838 }
6839
6840 pub async fn packages_get_by_label_v1(&self, label: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6845 let label = label.to_string();
6846 let client = self.client.clone();
6847 let body = body.cloned();
6848 self.rate_limiter.execute(None, true, move || {
6849 let client = client.clone();
6850 let label = label.clone();
6851 let license_number = license_number.clone();
6852 let body = body.clone();
6853 async move { client.packages_get_by_label_v1(&label, license_number, body.as_ref()).await }
6854 }).await
6855 }
6856
6857 pub async fn packages_get_by_label_v2(&self, label: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6864 let label = label.to_string();
6865 let client = self.client.clone();
6866 let body = body.cloned();
6867 self.rate_limiter.execute(None, true, move || {
6868 let client = client.clone();
6869 let label = label.clone();
6870 let license_number = license_number.clone();
6871 let body = body.clone();
6872 async move { client.packages_get_by_label_v2(&label, license_number, body.as_ref()).await }
6873 }).await
6874 }
6875
6876 pub async fn packages_get_inactive_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6881 let client = self.client.clone();
6882 let body = body.cloned();
6883 self.rate_limiter.execute(None, true, move || {
6884 let client = client.clone();
6885 let last_modified_end = last_modified_end.clone();
6886 let last_modified_start = last_modified_start.clone();
6887 let license_number = license_number.clone();
6888 let body = body.clone();
6889 async move { client.packages_get_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
6890 }).await
6891 }
6892
6893 pub async fn packages_get_inactive_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6900 let client = self.client.clone();
6901 let body = body.cloned();
6902 self.rate_limiter.execute(None, true, move || {
6903 let client = client.clone();
6904 let last_modified_end = last_modified_end.clone();
6905 let last_modified_start = last_modified_start.clone();
6906 let license_number = license_number.clone();
6907 let page_number = page_number.clone();
6908 let page_size = page_size.clone();
6909 let body = body.clone();
6910 async move { client.packages_get_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
6911 }).await
6912 }
6913
6914 pub async fn packages_get_intransit_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6921 let client = self.client.clone();
6922 let body = body.cloned();
6923 self.rate_limiter.execute(None, true, move || {
6924 let client = client.clone();
6925 let last_modified_end = last_modified_end.clone();
6926 let last_modified_start = last_modified_start.clone();
6927 let license_number = license_number.clone();
6928 let page_number = page_number.clone();
6929 let page_size = page_size.clone();
6930 let body = body.clone();
6931 async move { client.packages_get_intransit_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
6932 }).await
6933 }
6934
6935 pub async fn packages_get_labsamples_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6942 let client = self.client.clone();
6943 let body = body.cloned();
6944 self.rate_limiter.execute(None, true, move || {
6945 let client = client.clone();
6946 let last_modified_end = last_modified_end.clone();
6947 let last_modified_start = last_modified_start.clone();
6948 let license_number = license_number.clone();
6949 let page_number = page_number.clone();
6950 let page_size = page_size.clone();
6951 let body = body.clone();
6952 async move { client.packages_get_labsamples_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
6953 }).await
6954 }
6955
6956 pub async fn packages_get_onhold_v1(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6961 let client = self.client.clone();
6962 let body = body.cloned();
6963 self.rate_limiter.execute(None, true, move || {
6964 let client = client.clone();
6965 let last_modified_end = last_modified_end.clone();
6966 let last_modified_start = last_modified_start.clone();
6967 let license_number = license_number.clone();
6968 let body = body.clone();
6969 async move { client.packages_get_onhold_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
6970 }).await
6971 }
6972
6973 pub async fn packages_get_onhold_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6980 let client = self.client.clone();
6981 let body = body.cloned();
6982 self.rate_limiter.execute(None, true, move || {
6983 let client = client.clone();
6984 let last_modified_end = last_modified_end.clone();
6985 let last_modified_start = last_modified_start.clone();
6986 let license_number = license_number.clone();
6987 let page_number = page_number.clone();
6988 let page_size = page_size.clone();
6989 let body = body.clone();
6990 async move { client.packages_get_onhold_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
6991 }).await
6992 }
6993
6994 pub async fn packages_get_source_harvest_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7001 let id = id.to_string();
7002 let client = self.client.clone();
7003 let body = body.cloned();
7004 self.rate_limiter.execute(None, true, move || {
7005 let client = client.clone();
7006 let id = id.clone();
7007 let license_number = license_number.clone();
7008 let body = body.clone();
7009 async move { client.packages_get_source_harvest_v2(&id, license_number, body.as_ref()).await }
7010 }).await
7011 }
7012
7013 pub async fn packages_get_transferred_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7020 let client = self.client.clone();
7021 let body = body.cloned();
7022 self.rate_limiter.execute(None, true, move || {
7023 let client = client.clone();
7024 let last_modified_end = last_modified_end.clone();
7025 let last_modified_start = last_modified_start.clone();
7026 let license_number = license_number.clone();
7027 let page_number = page_number.clone();
7028 let page_size = page_size.clone();
7029 let body = body.clone();
7030 async move { client.packages_get_transferred_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
7031 }).await
7032 }
7033
7034 pub async fn packages_get_types_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7039 let client = self.client.clone();
7040 let body = body.cloned();
7041 self.rate_limiter.execute(None, true, move || {
7042 let client = client.clone();
7043 let no = no.clone();
7044 let body = body.clone();
7045 async move { client.packages_get_types_v1(no, body.as_ref()).await }
7046 }).await
7047 }
7048
7049 pub async fn packages_get_types_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7056 let client = self.client.clone();
7057 let body = body.cloned();
7058 self.rate_limiter.execute(None, true, move || {
7059 let client = client.clone();
7060 let no = no.clone();
7061 let body = body.clone();
7062 async move { client.packages_get_types_v2(no, body.as_ref()).await }
7063 }).await
7064 }
7065
7066 pub async fn packages_update_adjust_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateAdjustV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7074 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7075 let client = self.client.clone();
7076 let body_val = body_val.clone();
7077 self.rate_limiter.execute(None, false, move || {
7078 let client = client.clone();
7079 let license_number = license_number.clone();
7080 let body_val = body_val.clone();
7081 async move { client.packages_update_adjust_v2(license_number, body_val.as_ref()).await }
7082 }).await
7083 }
7084
7085 pub async fn packages_update_change_note_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateChangeNoteV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7092 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7093 let client = self.client.clone();
7094 let body_val = body_val.clone();
7095 self.rate_limiter.execute(None, false, move || {
7096 let client = client.clone();
7097 let license_number = license_number.clone();
7098 let body_val = body_val.clone();
7099 async move { client.packages_update_change_note_v1(license_number, body_val.as_ref()).await }
7100 }).await
7101 }
7102
7103 pub async fn packages_update_decontaminate_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateDecontaminateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7111 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7112 let client = self.client.clone();
7113 let body_val = body_val.clone();
7114 self.rate_limiter.execute(None, false, move || {
7115 let client = client.clone();
7116 let license_number = license_number.clone();
7117 let body_val = body_val.clone();
7118 async move { client.packages_update_decontaminate_v2(license_number, body_val.as_ref()).await }
7119 }).await
7120 }
7121
7122 pub async fn packages_update_donation_flag_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateDonationFlagV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7130 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7131 let client = self.client.clone();
7132 let body_val = body_val.clone();
7133 self.rate_limiter.execute(None, false, move || {
7134 let client = client.clone();
7135 let license_number = license_number.clone();
7136 let body_val = body_val.clone();
7137 async move { client.packages_update_donation_flag_v2(license_number, body_val.as_ref()).await }
7138 }).await
7139 }
7140
7141 pub async fn packages_update_donation_unflag_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateDonationUnflagV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7149 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7150 let client = self.client.clone();
7151 let body_val = body_val.clone();
7152 self.rate_limiter.execute(None, false, move || {
7153 let client = client.clone();
7154 let license_number = license_number.clone();
7155 let body_val = body_val.clone();
7156 async move { client.packages_update_donation_unflag_v2(license_number, body_val.as_ref()).await }
7157 }).await
7158 }
7159
7160 pub async fn packages_update_externalid_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateExternalidV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7169 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7170 let client = self.client.clone();
7171 let body_val = body_val.clone();
7172 self.rate_limiter.execute(None, false, move || {
7173 let client = client.clone();
7174 let license_number = license_number.clone();
7175 let body_val = body_val.clone();
7176 async move { client.packages_update_externalid_v2(license_number, body_val.as_ref()).await }
7177 }).await
7178 }
7179
7180 pub async fn packages_update_finish_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateFinishV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7188 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7189 let client = self.client.clone();
7190 let body_val = body_val.clone();
7191 self.rate_limiter.execute(None, false, move || {
7192 let client = client.clone();
7193 let license_number = license_number.clone();
7194 let body_val = body_val.clone();
7195 async move { client.packages_update_finish_v2(license_number, body_val.as_ref()).await }
7196 }).await
7197 }
7198
7199 pub async fn packages_update_item_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateItemV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7207 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7208 let client = self.client.clone();
7209 let body_val = body_val.clone();
7210 self.rate_limiter.execute(None, false, move || {
7211 let client = client.clone();
7212 let license_number = license_number.clone();
7213 let body_val = body_val.clone();
7214 async move { client.packages_update_item_v2(license_number, body_val.as_ref()).await }
7215 }).await
7216 }
7217
7218 pub async fn packages_update_lab_test_required_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateLabTestRequiredV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7226 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7227 let client = self.client.clone();
7228 let body_val = body_val.clone();
7229 self.rate_limiter.execute(None, false, move || {
7230 let client = client.clone();
7231 let license_number = license_number.clone();
7232 let body_val = body_val.clone();
7233 async move { client.packages_update_lab_test_required_v2(license_number, body_val.as_ref()).await }
7234 }).await
7235 }
7236
7237 pub async fn packages_update_location_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateLocationV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7245 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7246 let client = self.client.clone();
7247 let body_val = body_val.clone();
7248 self.rate_limiter.execute(None, false, move || {
7249 let client = client.clone();
7250 let license_number = license_number.clone();
7251 let body_val = body_val.clone();
7252 async move { client.packages_update_location_v2(license_number, body_val.as_ref()).await }
7253 }).await
7254 }
7255
7256 pub async fn packages_update_note_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateNoteV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7265 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7266 let client = self.client.clone();
7267 let body_val = body_val.clone();
7268 self.rate_limiter.execute(None, false, move || {
7269 let client = client.clone();
7270 let license_number = license_number.clone();
7271 let body_val = body_val.clone();
7272 async move { client.packages_update_note_v2(license_number, body_val.as_ref()).await }
7273 }).await
7274 }
7275
7276 pub async fn packages_update_remediate_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateRemediateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7284 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7285 let client = self.client.clone();
7286 let body_val = body_val.clone();
7287 self.rate_limiter.execute(None, false, move || {
7288 let client = client.clone();
7289 let license_number = license_number.clone();
7290 let body_val = body_val.clone();
7291 async move { client.packages_update_remediate_v2(license_number, body_val.as_ref()).await }
7292 }).await
7293 }
7294
7295 pub async fn packages_update_tradesample_flag_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateTradesampleFlagV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7303 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7304 let client = self.client.clone();
7305 let body_val = body_val.clone();
7306 self.rate_limiter.execute(None, false, move || {
7307 let client = client.clone();
7308 let license_number = license_number.clone();
7309 let body_val = body_val.clone();
7310 async move { client.packages_update_tradesample_flag_v2(license_number, body_val.as_ref()).await }
7311 }).await
7312 }
7313
7314 pub async fn packages_update_tradesample_unflag_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateTradesampleUnflagV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7322 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7323 let client = self.client.clone();
7324 let body_val = body_val.clone();
7325 self.rate_limiter.execute(None, false, move || {
7326 let client = client.clone();
7327 let license_number = license_number.clone();
7328 let body_val = body_val.clone();
7329 async move { client.packages_update_tradesample_unflag_v2(license_number, body_val.as_ref()).await }
7330 }).await
7331 }
7332
7333 pub async fn packages_update_unfinish_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateUnfinishV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7341 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7342 let client = self.client.clone();
7343 let body_val = body_val.clone();
7344 self.rate_limiter.execute(None, false, move || {
7345 let client = client.clone();
7346 let license_number = license_number.clone();
7347 let body_val = body_val.clone();
7348 async move { client.packages_update_unfinish_v2(license_number, body_val.as_ref()).await }
7349 }).await
7350 }
7351
7352 pub async fn packages_update_usebydate_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateUsebydateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7360 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7361 let client = self.client.clone();
7362 let body_val = body_val.clone();
7363 self.rate_limiter.execute(None, false, move || {
7364 let client = client.clone();
7365 let license_number = license_number.clone();
7366 let body_val = body_val.clone();
7367 async move { client.packages_update_usebydate_v2(license_number, body_val.as_ref()).await }
7368 }).await
7369 }
7370
7371 pub async fn patient_check_ins_create_v1(&self, license_number: Option<String>, body: Option<&Vec<PatientCheckInsCreateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7376 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7377 let client = self.client.clone();
7378 let body_val = body_val.clone();
7379 self.rate_limiter.execute(None, false, move || {
7380 let client = client.clone();
7381 let license_number = license_number.clone();
7382 let body_val = body_val.clone();
7383 async move { client.patient_check_ins_create_v1(license_number, body_val.as_ref()).await }
7384 }).await
7385 }
7386
7387 pub async fn patient_check_ins_create_v2(&self, license_number: Option<String>, body: Option<&Vec<PatientCheckInsCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7394 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7395 let client = self.client.clone();
7396 let body_val = body_val.clone();
7397 self.rate_limiter.execute(None, false, move || {
7398 let client = client.clone();
7399 let license_number = license_number.clone();
7400 let body_val = body_val.clone();
7401 async move { client.patient_check_ins_create_v2(license_number, body_val.as_ref()).await }
7402 }).await
7403 }
7404
7405 pub async fn patient_check_ins_delete_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7410 let id = id.to_string();
7411 let client = self.client.clone();
7412 let body = body.cloned();
7413 self.rate_limiter.execute(None, false, move || {
7414 let client = client.clone();
7415 let id = id.clone();
7416 let license_number = license_number.clone();
7417 let body = body.clone();
7418 async move { client.patient_check_ins_delete_v1(&id, license_number, body.as_ref()).await }
7419 }).await
7420 }
7421
7422 pub async fn patient_check_ins_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7429 let id = id.to_string();
7430 let client = self.client.clone();
7431 let body = body.cloned();
7432 self.rate_limiter.execute(None, false, move || {
7433 let client = client.clone();
7434 let id = id.clone();
7435 let license_number = license_number.clone();
7436 let body = body.clone();
7437 async move { client.patient_check_ins_delete_v2(&id, license_number, body.as_ref()).await }
7438 }).await
7439 }
7440
7441 pub async fn patient_check_ins_get_all_v1(&self, checkin_date_end: Option<String>, checkin_date_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7446 let client = self.client.clone();
7447 let body = body.cloned();
7448 self.rate_limiter.execute(None, true, move || {
7449 let client = client.clone();
7450 let checkin_date_end = checkin_date_end.clone();
7451 let checkin_date_start = checkin_date_start.clone();
7452 let license_number = license_number.clone();
7453 let body = body.clone();
7454 async move { client.patient_check_ins_get_all_v1(checkin_date_end, checkin_date_start, license_number, body.as_ref()).await }
7455 }).await
7456 }
7457
7458 pub async fn patient_check_ins_get_all_v2(&self, checkin_date_end: Option<String>, checkin_date_start: Option<String>, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7465 let client = self.client.clone();
7466 let body = body.cloned();
7467 self.rate_limiter.execute(None, true, move || {
7468 let client = client.clone();
7469 let checkin_date_end = checkin_date_end.clone();
7470 let checkin_date_start = checkin_date_start.clone();
7471 let license_number = license_number.clone();
7472 let body = body.clone();
7473 async move { client.patient_check_ins_get_all_v2(checkin_date_end, checkin_date_start, license_number, body.as_ref()).await }
7474 }).await
7475 }
7476
7477 pub async fn patient_check_ins_get_locations_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7482 let client = self.client.clone();
7483 let body = body.cloned();
7484 self.rate_limiter.execute(None, true, move || {
7485 let client = client.clone();
7486 let no = no.clone();
7487 let body = body.clone();
7488 async move { client.patient_check_ins_get_locations_v1(no, body.as_ref()).await }
7489 }).await
7490 }
7491
7492 pub async fn patient_check_ins_get_locations_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7499 let client = self.client.clone();
7500 let body = body.cloned();
7501 self.rate_limiter.execute(None, true, move || {
7502 let client = client.clone();
7503 let no = no.clone();
7504 let body = body.clone();
7505 async move { client.patient_check_ins_get_locations_v2(no, body.as_ref()).await }
7506 }).await
7507 }
7508
7509 pub async fn patient_check_ins_update_v1(&self, license_number: Option<String>, body: Option<&Vec<PatientCheckInsUpdateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7514 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7515 let client = self.client.clone();
7516 let body_val = body_val.clone();
7517 self.rate_limiter.execute(None, false, move || {
7518 let client = client.clone();
7519 let license_number = license_number.clone();
7520 let body_val = body_val.clone();
7521 async move { client.patient_check_ins_update_v1(license_number, body_val.as_ref()).await }
7522 }).await
7523 }
7524
7525 pub async fn patient_check_ins_update_v2(&self, license_number: Option<String>, body: Option<&Vec<PatientCheckInsUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7532 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7533 let client = self.client.clone();
7534 let body_val = body_val.clone();
7535 self.rate_limiter.execute(None, false, move || {
7536 let client = client.clone();
7537 let license_number = license_number.clone();
7538 let body_val = body_val.clone();
7539 async move { client.patient_check_ins_update_v2(license_number, body_val.as_ref()).await }
7540 }).await
7541 }
7542
7543 pub async fn patients_create_v2(&self, license_number: Option<String>, body: Option<&Vec<PatientsCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7550 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7551 let client = self.client.clone();
7552 let body_val = body_val.clone();
7553 self.rate_limiter.execute(None, false, move || {
7554 let client = client.clone();
7555 let license_number = license_number.clone();
7556 let body_val = body_val.clone();
7557 async move { client.patients_create_v2(license_number, body_val.as_ref()).await }
7558 }).await
7559 }
7560
7561 pub async fn patients_create_add_v1(&self, license_number: Option<String>, body: Option<&Vec<PatientsCreateAddV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7566 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7567 let client = self.client.clone();
7568 let body_val = body_val.clone();
7569 self.rate_limiter.execute(None, false, move || {
7570 let client = client.clone();
7571 let license_number = license_number.clone();
7572 let body_val = body_val.clone();
7573 async move { client.patients_create_add_v1(license_number, body_val.as_ref()).await }
7574 }).await
7575 }
7576
7577 pub async fn patients_create_update_v1(&self, license_number: Option<String>, body: Option<&Vec<PatientsCreateUpdateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7582 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7583 let client = self.client.clone();
7584 let body_val = body_val.clone();
7585 self.rate_limiter.execute(None, false, move || {
7586 let client = client.clone();
7587 let license_number = license_number.clone();
7588 let body_val = body_val.clone();
7589 async move { client.patients_create_update_v1(license_number, body_val.as_ref()).await }
7590 }).await
7591 }
7592
7593 pub async fn patients_delete_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7598 let id = id.to_string();
7599 let client = self.client.clone();
7600 let body = body.cloned();
7601 self.rate_limiter.execute(None, false, move || {
7602 let client = client.clone();
7603 let id = id.clone();
7604 let license_number = license_number.clone();
7605 let body = body.clone();
7606 async move { client.patients_delete_v1(&id, license_number, body.as_ref()).await }
7607 }).await
7608 }
7609
7610 pub async fn patients_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7617 let id = id.to_string();
7618 let client = self.client.clone();
7619 let body = body.cloned();
7620 self.rate_limiter.execute(None, false, move || {
7621 let client = client.clone();
7622 let id = id.clone();
7623 let license_number = license_number.clone();
7624 let body = body.clone();
7625 async move { client.patients_delete_v2(&id, license_number, body.as_ref()).await }
7626 }).await
7627 }
7628
7629 pub async fn patients_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7634 let id = id.to_string();
7635 let client = self.client.clone();
7636 let body = body.cloned();
7637 self.rate_limiter.execute(None, true, move || {
7638 let client = client.clone();
7639 let id = id.clone();
7640 let license_number = license_number.clone();
7641 let body = body.clone();
7642 async move { client.patients_get_v1(&id, license_number, body.as_ref()).await }
7643 }).await
7644 }
7645
7646 pub async fn patients_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7653 let id = id.to_string();
7654 let client = self.client.clone();
7655 let body = body.cloned();
7656 self.rate_limiter.execute(None, true, move || {
7657 let client = client.clone();
7658 let id = id.clone();
7659 let license_number = license_number.clone();
7660 let body = body.clone();
7661 async move { client.patients_get_v2(&id, license_number, body.as_ref()).await }
7662 }).await
7663 }
7664
7665 pub async fn patients_get_active_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7670 let client = self.client.clone();
7671 let body = body.cloned();
7672 self.rate_limiter.execute(None, true, move || {
7673 let client = client.clone();
7674 let license_number = license_number.clone();
7675 let body = body.clone();
7676 async move { client.patients_get_active_v1(license_number, body.as_ref()).await }
7677 }).await
7678 }
7679
7680 pub async fn patients_get_active_v2(&self, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7687 let client = self.client.clone();
7688 let body = body.cloned();
7689 self.rate_limiter.execute(None, true, move || {
7690 let client = client.clone();
7691 let license_number = license_number.clone();
7692 let page_number = page_number.clone();
7693 let page_size = page_size.clone();
7694 let body = body.clone();
7695 async move { client.patients_get_active_v2(license_number, page_number, page_size, body.as_ref()).await }
7696 }).await
7697 }
7698
7699 pub async fn patients_update_v2(&self, license_number: Option<String>, body: Option<&Vec<PatientsUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7706 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7707 let client = self.client.clone();
7708 let body_val = body_val.clone();
7709 self.rate_limiter.execute(None, false, move || {
7710 let client = client.clone();
7711 let license_number = license_number.clone();
7712 let body_val = body_val.clone();
7713 async move { client.patients_update_v2(license_number, body_val.as_ref()).await }
7714 }).await
7715 }
7716
7717 pub async fn patients_status_get_statuses_by_patient_license_number_v1(&self, patient_license_number: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7724 let patient_license_number = patient_license_number.to_string();
7725 let client = self.client.clone();
7726 let body = body.cloned();
7727 self.rate_limiter.execute(None, true, move || {
7728 let client = client.clone();
7729 let patient_license_number = patient_license_number.clone();
7730 let license_number = license_number.clone();
7731 let body = body.clone();
7732 async move { client.patients_status_get_statuses_by_patient_license_number_v1(&patient_license_number, license_number, body.as_ref()).await }
7733 }).await
7734 }
7735
7736 pub async fn patients_status_get_statuses_by_patient_license_number_v2(&self, patient_license_number: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7743 let patient_license_number = patient_license_number.to_string();
7744 let client = self.client.clone();
7745 let body = body.cloned();
7746 self.rate_limiter.execute(None, true, move || {
7747 let client = client.clone();
7748 let patient_license_number = patient_license_number.clone();
7749 let license_number = license_number.clone();
7750 let body = body.clone();
7751 async move { client.patients_status_get_statuses_by_patient_license_number_v2(&patient_license_number, license_number, body.as_ref()).await }
7752 }).await
7753 }
7754
7755 pub async fn additives_templates_create_v2(&self, license_number: Option<String>, body: Option<&Vec<AdditivesTemplatesCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7762 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7763 let client = self.client.clone();
7764 let body_val = body_val.clone();
7765 self.rate_limiter.execute(None, false, move || {
7766 let client = client.clone();
7767 let license_number = license_number.clone();
7768 let body_val = body_val.clone();
7769 async move { client.additives_templates_create_v2(license_number, body_val.as_ref()).await }
7770 }).await
7771 }
7772
7773 pub async fn additives_templates_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7780 let id = id.to_string();
7781 let client = self.client.clone();
7782 let body = body.cloned();
7783 self.rate_limiter.execute(None, true, move || {
7784 let client = client.clone();
7785 let id = id.clone();
7786 let license_number = license_number.clone();
7787 let body = body.clone();
7788 async move { client.additives_templates_get_v2(&id, license_number, body.as_ref()).await }
7789 }).await
7790 }
7791
7792 pub async fn additives_templates_get_active_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7799 let client = self.client.clone();
7800 let body = body.cloned();
7801 self.rate_limiter.execute(None, true, move || {
7802 let client = client.clone();
7803 let last_modified_end = last_modified_end.clone();
7804 let last_modified_start = last_modified_start.clone();
7805 let license_number = license_number.clone();
7806 let page_number = page_number.clone();
7807 let page_size = page_size.clone();
7808 let body = body.clone();
7809 async move { client.additives_templates_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
7810 }).await
7811 }
7812
7813 pub async fn additives_templates_get_inactive_v2(&self, last_modified_end: Option<String>, last_modified_start: Option<String>, license_number: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7820 let client = self.client.clone();
7821 let body = body.cloned();
7822 self.rate_limiter.execute(None, true, move || {
7823 let client = client.clone();
7824 let last_modified_end = last_modified_end.clone();
7825 let last_modified_start = last_modified_start.clone();
7826 let license_number = license_number.clone();
7827 let page_number = page_number.clone();
7828 let page_size = page_size.clone();
7829 let body = body.clone();
7830 async move { client.additives_templates_get_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
7831 }).await
7832 }
7833
7834 pub async fn additives_templates_update_v2(&self, license_number: Option<String>, body: Option<&Vec<AdditivesTemplatesUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7841 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7842 let client = self.client.clone();
7843 let body_val = body_val.clone();
7844 self.rate_limiter.execute(None, false, move || {
7845 let client = client.clone();
7846 let license_number = license_number.clone();
7847 let body_val = body_val.clone();
7848 async move { client.additives_templates_update_v2(license_number, body_val.as_ref()).await }
7849 }).await
7850 }
7851
7852 pub async fn lab_tests_create_record_v1(&self, license_number: Option<String>, body: Option<&Vec<LabTestsCreateRecordV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7858 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7859 let client = self.client.clone();
7860 let body_val = body_val.clone();
7861 self.rate_limiter.execute(None, false, move || {
7862 let client = client.clone();
7863 let license_number = license_number.clone();
7864 let body_val = body_val.clone();
7865 async move { client.lab_tests_create_record_v1(license_number, body_val.as_ref()).await }
7866 }).await
7867 }
7868
7869 pub async fn lab_tests_create_record_v2(&self, license_number: Option<String>, body: Option<&Vec<LabTestsCreateRecordV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7877 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7878 let client = self.client.clone();
7879 let body_val = body_val.clone();
7880 self.rate_limiter.execute(None, false, move || {
7881 let client = client.clone();
7882 let license_number = license_number.clone();
7883 let body_val = body_val.clone();
7884 async move { client.lab_tests_create_record_v2(license_number, body_val.as_ref()).await }
7885 }).await
7886 }
7887
7888 pub async fn lab_tests_get_batches_v2(&self, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7895 let client = self.client.clone();
7896 let body = body.cloned();
7897 self.rate_limiter.execute(None, true, move || {
7898 let client = client.clone();
7899 let page_number = page_number.clone();
7900 let page_size = page_size.clone();
7901 let body = body.clone();
7902 async move { client.lab_tests_get_batches_v2(page_number, page_size, body.as_ref()).await }
7903 }).await
7904 }
7905
7906 pub async fn lab_tests_get_labtestdocument_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7912 let id = id.to_string();
7913 let client = self.client.clone();
7914 let body = body.cloned();
7915 self.rate_limiter.execute(None, true, move || {
7916 let client = client.clone();
7917 let id = id.clone();
7918 let license_number = license_number.clone();
7919 let body = body.clone();
7920 async move { client.lab_tests_get_labtestdocument_v1(&id, license_number, body.as_ref()).await }
7921 }).await
7922 }
7923
7924 pub async fn lab_tests_get_labtestdocument_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7932 let id = id.to_string();
7933 let client = self.client.clone();
7934 let body = body.cloned();
7935 self.rate_limiter.execute(None, true, move || {
7936 let client = client.clone();
7937 let id = id.clone();
7938 let license_number = license_number.clone();
7939 let body = body.clone();
7940 async move { client.lab_tests_get_labtestdocument_v2(&id, license_number, body.as_ref()).await }
7941 }).await
7942 }
7943
7944 pub async fn lab_tests_get_results_v1(&self, license_number: Option<String>, package_id: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7949 let client = self.client.clone();
7950 let body = body.cloned();
7951 self.rate_limiter.execute(None, true, move || {
7952 let client = client.clone();
7953 let license_number = license_number.clone();
7954 let package_id = package_id.clone();
7955 let body = body.clone();
7956 async move { client.lab_tests_get_results_v1(license_number, package_id, body.as_ref()).await }
7957 }).await
7958 }
7959
7960 pub async fn lab_tests_get_results_v2(&self, license_number: Option<String>, package_id: Option<String>, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7968 let client = self.client.clone();
7969 let body = body.cloned();
7970 self.rate_limiter.execute(None, true, move || {
7971 let client = client.clone();
7972 let license_number = license_number.clone();
7973 let package_id = package_id.clone();
7974 let page_number = page_number.clone();
7975 let page_size = page_size.clone();
7976 let body = body.clone();
7977 async move { client.lab_tests_get_results_v2(license_number, package_id, page_number, page_size, body.as_ref()).await }
7978 }).await
7979 }
7980
7981 pub async fn lab_tests_get_states_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7986 let client = self.client.clone();
7987 let body = body.cloned();
7988 self.rate_limiter.execute(None, true, move || {
7989 let client = client.clone();
7990 let no = no.clone();
7991 let body = body.clone();
7992 async move { client.lab_tests_get_states_v1(no, body.as_ref()).await }
7993 }).await
7994 }
7995
7996 pub async fn lab_tests_get_states_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
8003 let client = self.client.clone();
8004 let body = body.cloned();
8005 self.rate_limiter.execute(None, true, move || {
8006 let client = client.clone();
8007 let no = no.clone();
8008 let body = body.clone();
8009 async move { client.lab_tests_get_states_v2(no, body.as_ref()).await }
8010 }).await
8011 }
8012
8013 pub async fn lab_tests_get_types_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
8018 let client = self.client.clone();
8019 let body = body.cloned();
8020 self.rate_limiter.execute(None, true, move || {
8021 let client = client.clone();
8022 let no = no.clone();
8023 let body = body.clone();
8024 async move { client.lab_tests_get_types_v1(no, body.as_ref()).await }
8025 }).await
8026 }
8027
8028 pub async fn lab_tests_get_types_v2(&self, page_number: Option<String>, page_size: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
8035 let client = self.client.clone();
8036 let body = body.cloned();
8037 self.rate_limiter.execute(None, true, move || {
8038 let client = client.clone();
8039 let page_number = page_number.clone();
8040 let page_size = page_size.clone();
8041 let body = body.clone();
8042 async move { client.lab_tests_get_types_v2(page_number, page_size, body.as_ref()).await }
8043 }).await
8044 }
8045
8046 pub async fn lab_tests_update_labtestdocument_v1(&self, license_number: Option<String>, body: Option<&Vec<LabTestsUpdateLabtestdocumentV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
8052 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
8053 let client = self.client.clone();
8054 let body_val = body_val.clone();
8055 self.rate_limiter.execute(None, false, move || {
8056 let client = client.clone();
8057 let license_number = license_number.clone();
8058 let body_val = body_val.clone();
8059 async move { client.lab_tests_update_labtestdocument_v1(license_number, body_val.as_ref()).await }
8060 }).await
8061 }
8062
8063 pub async fn lab_tests_update_labtestdocument_v2(&self, license_number: Option<String>, body: Option<&Vec<LabTestsUpdateLabtestdocumentV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
8071 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
8072 let client = self.client.clone();
8073 let body_val = body_val.clone();
8074 self.rate_limiter.execute(None, false, move || {
8075 let client = client.clone();
8076 let license_number = license_number.clone();
8077 let body_val = body_val.clone();
8078 async move { client.lab_tests_update_labtestdocument_v2(license_number, body_val.as_ref()).await }
8079 }).await
8080 }
8081
8082 pub async fn lab_tests_update_result_release_v1(&self, license_number: Option<String>, body: Option<&Vec<LabTestsUpdateResultReleaseV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
8088 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
8089 let client = self.client.clone();
8090 let body_val = body_val.clone();
8091 self.rate_limiter.execute(None, false, move || {
8092 let client = client.clone();
8093 let license_number = license_number.clone();
8094 let body_val = body_val.clone();
8095 async move { client.lab_tests_update_result_release_v1(license_number, body_val.as_ref()).await }
8096 }).await
8097 }
8098
8099 pub async fn lab_tests_update_result_release_v2(&self, license_number: Option<String>, body: Option<&Vec<LabTestsUpdateResultReleaseV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
8107 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
8108 let client = self.client.clone();
8109 let body_val = body_val.clone();
8110 self.rate_limiter.execute(None, false, move || {
8111 let client = client.clone();
8112 let license_number = license_number.clone();
8113 let body_val = body_val.clone();
8114 async move { client.lab_tests_update_result_release_v2(license_number, body_val.as_ref()).await }
8115 }).await
8116 }
8117
8118}
8119
8120#[derive(Serialize, Deserialize, Debug, Clone)]
8121pub struct ProcessingJobsCreateAdjustV1RequestItem {
8122 #[serde(rename = "AdjustmentDate")]
8123 pub adjustment_date: Option<String>,
8124 #[serde(rename = "AdjustmentNote")]
8125 pub adjustment_note: Option<String>,
8126 #[serde(rename = "AdjustmentReason")]
8127 pub adjustment_reason: Option<String>,
8128 #[serde(rename = "CountUnitOfMeasureName")]
8129 pub count_unit_of_measure_name: Option<String>,
8130 #[serde(rename = "Id")]
8131 pub id: Option<i64>,
8132 #[serde(rename = "Packages")]
8133 pub packages: Option<Vec<ProcessingJobsCreateAdjustV1RequestItemPackages>>,
8134 #[serde(rename = "VolumeUnitOfMeasureName")]
8135 pub volume_unit_of_measure_name: Option<String>,
8136 #[serde(rename = "WeightUnitOfMeasureName")]
8137 pub weight_unit_of_measure_name: Option<String>,
8138}
8139
8140#[derive(Serialize, Deserialize, Debug, Clone)]
8141pub struct ProcessingJobsCreateAdjustV1RequestItemPackages {
8142 #[serde(rename = "Label")]
8143 pub label: Option<String>,
8144 #[serde(rename = "Quantity")]
8145 pub quantity: Option<i64>,
8146 #[serde(rename = "UnitOfMeasure")]
8147 pub unit_of_measure: Option<String>,
8148}
8149
8150#[derive(Serialize, Deserialize, Debug, Clone)]
8151pub struct ProcessingJobsCreateAdjustV2RequestItem {
8152 #[serde(rename = "AdjustmentDate")]
8153 pub adjustment_date: Option<String>,
8154 #[serde(rename = "AdjustmentNote")]
8155 pub adjustment_note: Option<String>,
8156 #[serde(rename = "AdjustmentReason")]
8157 pub adjustment_reason: Option<String>,
8158 #[serde(rename = "CountUnitOfMeasureName")]
8159 pub count_unit_of_measure_name: Option<String>,
8160 #[serde(rename = "Id")]
8161 pub id: Option<i64>,
8162 #[serde(rename = "Packages")]
8163 pub packages: Option<Vec<ProcessingJobsCreateAdjustV2RequestItemPackages>>,
8164 #[serde(rename = "VolumeUnitOfMeasureName")]
8165 pub volume_unit_of_measure_name: Option<String>,
8166 #[serde(rename = "WeightUnitOfMeasureName")]
8167 pub weight_unit_of_measure_name: Option<String>,
8168}
8169
8170#[derive(Serialize, Deserialize, Debug, Clone)]
8171pub struct ProcessingJobsCreateAdjustV2RequestItemPackages {
8172 #[serde(rename = "Label")]
8173 pub label: Option<String>,
8174 #[serde(rename = "Quantity")]
8175 pub quantity: Option<i64>,
8176 #[serde(rename = "UnitOfMeasure")]
8177 pub unit_of_measure: Option<String>,
8178}
8179
8180#[derive(Serialize, Deserialize, Debug, Clone)]
8181pub struct ProcessingJobsCreateJobtypesV1RequestItem {
8182 #[serde(rename = "Attributes")]
8183 pub attributes: Option<Vec<String>>,
8184 #[serde(rename = "Category")]
8185 pub category: Option<String>,
8186 #[serde(rename = "Description")]
8187 pub description: Option<String>,
8188 #[serde(rename = "Name")]
8189 pub name: Option<String>,
8190 #[serde(rename = "ProcessingSteps")]
8191 pub processing_steps: Option<String>,
8192}
8193
8194#[derive(Serialize, Deserialize, Debug, Clone)]
8195pub struct ProcessingJobsCreateJobtypesV2RequestItem {
8196 #[serde(rename = "Attributes")]
8197 pub attributes: Option<Vec<String>>,
8198 #[serde(rename = "Category")]
8199 pub category: Option<String>,
8200 #[serde(rename = "Description")]
8201 pub description: Option<String>,
8202 #[serde(rename = "Name")]
8203 pub name: Option<String>,
8204 #[serde(rename = "ProcessingSteps")]
8205 pub processing_steps: Option<String>,
8206}
8207
8208#[derive(Serialize, Deserialize, Debug, Clone)]
8209pub struct ProcessingJobsCreateStartV1RequestItem {
8210 #[serde(rename = "CountUnitOfMeasure")]
8211 pub count_unit_of_measure: Option<String>,
8212 #[serde(rename = "JobName")]
8213 pub job_name: Option<String>,
8214 #[serde(rename = "JobType")]
8215 pub job_type: Option<String>,
8216 #[serde(rename = "Packages")]
8217 pub packages: Option<Vec<ProcessingJobsCreateStartV1RequestItemPackages>>,
8218 #[serde(rename = "StartDate")]
8219 pub start_date: Option<String>,
8220 #[serde(rename = "VolumeUnitOfMeasure")]
8221 pub volume_unit_of_measure: Option<String>,
8222 #[serde(rename = "WeightUnitOfMeasure")]
8223 pub weight_unit_of_measure: Option<String>,
8224}
8225
8226#[derive(Serialize, Deserialize, Debug, Clone)]
8227pub struct ProcessingJobsCreateStartV1RequestItemPackages {
8228 #[serde(rename = "Label")]
8229 pub label: Option<String>,
8230 #[serde(rename = "Quantity")]
8231 pub quantity: Option<i64>,
8232 #[serde(rename = "UnitOfMeasure")]
8233 pub unit_of_measure: Option<String>,
8234}
8235
8236#[derive(Serialize, Deserialize, Debug, Clone)]
8237pub struct ProcessingJobsCreateStartV2RequestItem {
8238 #[serde(rename = "CountUnitOfMeasure")]
8239 pub count_unit_of_measure: Option<String>,
8240 #[serde(rename = "JobName")]
8241 pub job_name: Option<String>,
8242 #[serde(rename = "JobType")]
8243 pub job_type: Option<String>,
8244 #[serde(rename = "Packages")]
8245 pub packages: Option<Vec<ProcessingJobsCreateStartV2RequestItemPackages>>,
8246 #[serde(rename = "StartDate")]
8247 pub start_date: Option<String>,
8248 #[serde(rename = "VolumeUnitOfMeasure")]
8249 pub volume_unit_of_measure: Option<String>,
8250 #[serde(rename = "WeightUnitOfMeasure")]
8251 pub weight_unit_of_measure: Option<String>,
8252}
8253
8254#[derive(Serialize, Deserialize, Debug, Clone)]
8255pub struct ProcessingJobsCreateStartV2RequestItemPackages {
8256 #[serde(rename = "Label")]
8257 pub label: Option<String>,
8258 #[serde(rename = "Quantity")]
8259 pub quantity: Option<i64>,
8260 #[serde(rename = "UnitOfMeasure")]
8261 pub unit_of_measure: Option<String>,
8262}
8263
8264#[derive(Serialize, Deserialize, Debug, Clone)]
8265pub struct ProcessingJobsCreatepackagesV1RequestItem {
8266 #[serde(rename = "ExpirationDate")]
8267 pub expiration_date: Option<String>,
8268 #[serde(rename = "FinishDate")]
8269 pub finish_date: Option<String>,
8270 #[serde(rename = "FinishNote")]
8271 pub finish_note: Option<String>,
8272 #[serde(rename = "FinishProcessingJob")]
8273 pub finish_processing_job: Option<bool>,
8274 #[serde(rename = "Item")]
8275 pub item: Option<String>,
8276 #[serde(rename = "JobName")]
8277 pub job_name: Option<String>,
8278 #[serde(rename = "Location")]
8279 pub location: Option<String>,
8280 #[serde(rename = "Note")]
8281 pub note: Option<String>,
8282 #[serde(rename = "PackageDate")]
8283 pub package_date: Option<String>,
8284 #[serde(rename = "PatientLicenseNumber")]
8285 pub patient_license_number: Option<String>,
8286 #[serde(rename = "ProductionBatchNumber")]
8287 pub production_batch_number: Option<String>,
8288 #[serde(rename = "Quantity")]
8289 pub quantity: Option<i64>,
8290 #[serde(rename = "SellByDate")]
8291 pub sell_by_date: Option<String>,
8292 #[serde(rename = "Sublocation")]
8293 pub sublocation: Option<String>,
8294 #[serde(rename = "Tag")]
8295 pub tag: Option<String>,
8296 #[serde(rename = "UnitOfMeasure")]
8297 pub unit_of_measure: Option<String>,
8298 #[serde(rename = "UseByDate")]
8299 pub use_by_date: Option<String>,
8300 #[serde(rename = "WasteCountQuantity")]
8301 pub waste_count_quantity: Option<String>,
8302 #[serde(rename = "WasteCountUnitOfMeasureName")]
8303 pub waste_count_unit_of_measure_name: Option<String>,
8304 #[serde(rename = "WasteVolumeQuantity")]
8305 pub waste_volume_quantity: Option<String>,
8306 #[serde(rename = "WasteVolumeUnitOfMeasureName")]
8307 pub waste_volume_unit_of_measure_name: Option<String>,
8308 #[serde(rename = "WasteWeightQuantity")]
8309 pub waste_weight_quantity: Option<String>,
8310 #[serde(rename = "WasteWeightUnitOfMeasureName")]
8311 pub waste_weight_unit_of_measure_name: Option<String>,
8312}
8313
8314#[derive(Serialize, Deserialize, Debug, Clone)]
8315pub struct ProcessingJobsCreatepackagesV2RequestItem {
8316 #[serde(rename = "ExpirationDate")]
8317 pub expiration_date: Option<String>,
8318 #[serde(rename = "FinishDate")]
8319 pub finish_date: Option<String>,
8320 #[serde(rename = "FinishNote")]
8321 pub finish_note: Option<String>,
8322 #[serde(rename = "FinishProcessingJob")]
8323 pub finish_processing_job: Option<bool>,
8324 #[serde(rename = "Item")]
8325 pub item: Option<String>,
8326 #[serde(rename = "JobName")]
8327 pub job_name: Option<String>,
8328 #[serde(rename = "Location")]
8329 pub location: Option<String>,
8330 #[serde(rename = "Note")]
8331 pub note: Option<String>,
8332 #[serde(rename = "PackageDate")]
8333 pub package_date: Option<String>,
8334 #[serde(rename = "PatientLicenseNumber")]
8335 pub patient_license_number: Option<String>,
8336 #[serde(rename = "ProductionBatchNumber")]
8337 pub production_batch_number: Option<String>,
8338 #[serde(rename = "Quantity")]
8339 pub quantity: Option<i64>,
8340 #[serde(rename = "SellByDate")]
8341 pub sell_by_date: Option<String>,
8342 #[serde(rename = "Sublocation")]
8343 pub sublocation: Option<String>,
8344 #[serde(rename = "Tag")]
8345 pub tag: Option<String>,
8346 #[serde(rename = "UnitOfMeasure")]
8347 pub unit_of_measure: Option<String>,
8348 #[serde(rename = "UseByDate")]
8349 pub use_by_date: Option<String>,
8350 #[serde(rename = "WasteCountQuantity")]
8351 pub waste_count_quantity: Option<String>,
8352 #[serde(rename = "WasteCountUnitOfMeasureName")]
8353 pub waste_count_unit_of_measure_name: Option<String>,
8354 #[serde(rename = "WasteVolumeQuantity")]
8355 pub waste_volume_quantity: Option<String>,
8356 #[serde(rename = "WasteVolumeUnitOfMeasureName")]
8357 pub waste_volume_unit_of_measure_name: Option<String>,
8358 #[serde(rename = "WasteWeightQuantity")]
8359 pub waste_weight_quantity: Option<String>,
8360 #[serde(rename = "WasteWeightUnitOfMeasureName")]
8361 pub waste_weight_unit_of_measure_name: Option<String>,
8362}
8363
8364#[derive(Serialize, Deserialize, Debug, Clone)]
8365pub struct ProcessingJobsUpdateFinishV1RequestItem {
8366 #[serde(rename = "FinishDate")]
8367 pub finish_date: Option<String>,
8368 #[serde(rename = "FinishNote")]
8369 pub finish_note: Option<String>,
8370 #[serde(rename = "Id")]
8371 pub id: Option<i64>,
8372 #[serde(rename = "TotalCountWaste")]
8373 pub total_count_waste: Option<String>,
8374 #[serde(rename = "TotalVolumeWaste")]
8375 pub total_volume_waste: Option<String>,
8376 #[serde(rename = "TotalWeightWaste")]
8377 pub total_weight_waste: Option<i64>,
8378 #[serde(rename = "WasteCountUnitOfMeasureName")]
8379 pub waste_count_unit_of_measure_name: Option<String>,
8380 #[serde(rename = "WasteVolumeUnitOfMeasureName")]
8381 pub waste_volume_unit_of_measure_name: Option<String>,
8382 #[serde(rename = "WasteWeightUnitOfMeasureName")]
8383 pub waste_weight_unit_of_measure_name: Option<String>,
8384}
8385
8386#[derive(Serialize, Deserialize, Debug, Clone)]
8387pub struct ProcessingJobsUpdateFinishV2RequestItem {
8388 #[serde(rename = "FinishDate")]
8389 pub finish_date: Option<String>,
8390 #[serde(rename = "FinishNote")]
8391 pub finish_note: Option<String>,
8392 #[serde(rename = "Id")]
8393 pub id: Option<i64>,
8394 #[serde(rename = "TotalCountWaste")]
8395 pub total_count_waste: Option<String>,
8396 #[serde(rename = "TotalVolumeWaste")]
8397 pub total_volume_waste: Option<String>,
8398 #[serde(rename = "TotalWeightWaste")]
8399 pub total_weight_waste: Option<i64>,
8400 #[serde(rename = "WasteCountUnitOfMeasureName")]
8401 pub waste_count_unit_of_measure_name: Option<String>,
8402 #[serde(rename = "WasteVolumeUnitOfMeasureName")]
8403 pub waste_volume_unit_of_measure_name: Option<String>,
8404 #[serde(rename = "WasteWeightUnitOfMeasureName")]
8405 pub waste_weight_unit_of_measure_name: Option<String>,
8406}
8407
8408#[derive(Serialize, Deserialize, Debug, Clone)]
8409pub struct ProcessingJobsUpdateJobtypesV1RequestItem {
8410 #[serde(rename = "Attributes")]
8411 pub attributes: Option<Vec<String>>,
8412 #[serde(rename = "CategoryName")]
8413 pub category_name: Option<String>,
8414 #[serde(rename = "Description")]
8415 pub description: Option<String>,
8416 #[serde(rename = "Id")]
8417 pub id: Option<i64>,
8418 #[serde(rename = "Name")]
8419 pub name: Option<String>,
8420 #[serde(rename = "ProcessingSteps")]
8421 pub processing_steps: Option<String>,
8422}
8423
8424#[derive(Serialize, Deserialize, Debug, Clone)]
8425pub struct ProcessingJobsUpdateJobtypesV2RequestItem {
8426 #[serde(rename = "Attributes")]
8427 pub attributes: Option<Vec<String>>,
8428 #[serde(rename = "CategoryName")]
8429 pub category_name: Option<String>,
8430 #[serde(rename = "Description")]
8431 pub description: Option<String>,
8432 #[serde(rename = "Id")]
8433 pub id: Option<i64>,
8434 #[serde(rename = "Name")]
8435 pub name: Option<String>,
8436 #[serde(rename = "ProcessingSteps")]
8437 pub processing_steps: Option<String>,
8438}
8439
8440#[derive(Serialize, Deserialize, Debug, Clone)]
8441pub struct ProcessingJobsUpdateUnfinishV1RequestItem {
8442 #[serde(rename = "Id")]
8443 pub id: Option<i64>,
8444}
8445
8446#[derive(Serialize, Deserialize, Debug, Clone)]
8447pub struct ProcessingJobsUpdateUnfinishV2RequestItem {
8448 #[serde(rename = "Id")]
8449 pub id: Option<i64>,
8450}
8451
8452#[derive(Serialize, Deserialize, Debug, Clone)]
8453pub struct SalesCreateDeliveryV1RequestItem {
8454 #[serde(rename = "ConsumerId")]
8455 pub consumer_id: Option<i64>,
8456 #[serde(rename = "DriverEmployeeId")]
8457 pub driver_employee_id: Option<String>,
8458 #[serde(rename = "DriverName")]
8459 pub driver_name: Option<String>,
8460 #[serde(rename = "DriversLicenseNumber")]
8461 pub drivers_license_number: Option<String>,
8462 #[serde(rename = "EstimatedArrivalDateTime")]
8463 pub estimated_arrival_date_time: Option<String>,
8464 #[serde(rename = "EstimatedDepartureDateTime")]
8465 pub estimated_departure_date_time: Option<String>,
8466 #[serde(rename = "PatientLicenseNumber")]
8467 pub patient_license_number: Option<String>,
8468 #[serde(rename = "PhoneNumberForQuestions")]
8469 pub phone_number_for_questions: Option<String>,
8470 #[serde(rename = "PlannedRoute")]
8471 pub planned_route: Option<String>,
8472 #[serde(rename = "RecipientAddressCity")]
8473 pub recipient_address_city: Option<String>,
8474 #[serde(rename = "RecipientAddressCounty")]
8475 pub recipient_address_county: Option<String>,
8476 #[serde(rename = "RecipientAddressPostalCode")]
8477 pub recipient_address_postal_code: Option<String>,
8478 #[serde(rename = "RecipientAddressState")]
8479 pub recipient_address_state: Option<String>,
8480 #[serde(rename = "RecipientAddressStreet1")]
8481 pub recipient_address_street1: Option<String>,
8482 #[serde(rename = "RecipientAddressStreet2")]
8483 pub recipient_address_street2: Option<String>,
8484 #[serde(rename = "RecipientName")]
8485 pub recipient_name: Option<String>,
8486 #[serde(rename = "RecipientZoneId")]
8487 pub recipient_zone_id: Option<i64>,
8488 #[serde(rename = "SalesCustomerType")]
8489 pub sales_customer_type: Option<String>,
8490 #[serde(rename = "SalesDateTime")]
8491 pub sales_date_time: Option<String>,
8492 #[serde(rename = "Transactions")]
8493 pub transactions: Option<Vec<SalesCreateDeliveryV1RequestItemTransactions>>,
8494 #[serde(rename = "TransporterFacilityLicenseNumber")]
8495 pub transporter_facility_license_number: Option<String>,
8496 #[serde(rename = "VehicleLicensePlateNumber")]
8497 pub vehicle_license_plate_number: Option<String>,
8498 #[serde(rename = "VehicleMake")]
8499 pub vehicle_make: Option<String>,
8500 #[serde(rename = "VehicleModel")]
8501 pub vehicle_model: Option<String>,
8502}
8503
8504#[derive(Serialize, Deserialize, Debug, Clone)]
8505pub struct SalesCreateDeliveryV1RequestItemTransactions {
8506 #[serde(rename = "CityTax")]
8507 pub city_tax: Option<String>,
8508 #[serde(rename = "CountyTax")]
8509 pub county_tax: Option<String>,
8510 #[serde(rename = "DiscountAmount")]
8511 pub discount_amount: Option<String>,
8512 #[serde(rename = "ExciseTax")]
8513 pub excise_tax: Option<String>,
8514 #[serde(rename = "InvoiceNumber")]
8515 pub invoice_number: Option<String>,
8516 #[serde(rename = "MunicipalTax")]
8517 pub municipal_tax: Option<String>,
8518 #[serde(rename = "PackageLabel")]
8519 pub package_label: Option<String>,
8520 #[serde(rename = "Price")]
8521 pub price: Option<String>,
8522 #[serde(rename = "QrCodes")]
8523 pub qr_codes: Option<String>,
8524 #[serde(rename = "Quantity")]
8525 pub quantity: Option<i64>,
8526 #[serde(rename = "SalesTax")]
8527 pub sales_tax: Option<String>,
8528 #[serde(rename = "SubTotal")]
8529 pub sub_total: Option<String>,
8530 #[serde(rename = "TotalAmount")]
8531 pub total_amount: Option<f64>,
8532 #[serde(rename = "UnitOfMeasure")]
8533 pub unit_of_measure: Option<String>,
8534 #[serde(rename = "UnitThcContent")]
8535 pub unit_thc_content: Option<f64>,
8536 #[serde(rename = "UnitThcContentUnitOfMeasure")]
8537 pub unit_thc_content_unit_of_measure: Option<String>,
8538 #[serde(rename = "UnitThcPercent")]
8539 pub unit_thc_percent: Option<f64>,
8540 #[serde(rename = "UnitWeight")]
8541 pub unit_weight: Option<f64>,
8542 #[serde(rename = "UnitWeightUnitOfMeasure")]
8543 pub unit_weight_unit_of_measure: Option<String>,
8544}
8545
8546#[derive(Serialize, Deserialize, Debug, Clone)]
8547pub struct SalesCreateDeliveryV2RequestItem {
8548 #[serde(rename = "ConsumerId")]
8549 pub consumer_id: Option<i64>,
8550 #[serde(rename = "DriverEmployeeId")]
8551 pub driver_employee_id: Option<String>,
8552 #[serde(rename = "DriverName")]
8553 pub driver_name: Option<String>,
8554 #[serde(rename = "DriversLicenseNumber")]
8555 pub drivers_license_number: Option<String>,
8556 #[serde(rename = "EstimatedArrivalDateTime")]
8557 pub estimated_arrival_date_time: Option<String>,
8558 #[serde(rename = "EstimatedDepartureDateTime")]
8559 pub estimated_departure_date_time: Option<String>,
8560 #[serde(rename = "PatientLicenseNumber")]
8561 pub patient_license_number: Option<String>,
8562 #[serde(rename = "PhoneNumberForQuestions")]
8563 pub phone_number_for_questions: Option<String>,
8564 #[serde(rename = "PlannedRoute")]
8565 pub planned_route: Option<String>,
8566 #[serde(rename = "RecipientAddressCity")]
8567 pub recipient_address_city: Option<String>,
8568 #[serde(rename = "RecipientAddressCounty")]
8569 pub recipient_address_county: Option<String>,
8570 #[serde(rename = "RecipientAddressPostalCode")]
8571 pub recipient_address_postal_code: Option<String>,
8572 #[serde(rename = "RecipientAddressState")]
8573 pub recipient_address_state: Option<String>,
8574 #[serde(rename = "RecipientAddressStreet1")]
8575 pub recipient_address_street1: Option<String>,
8576 #[serde(rename = "RecipientAddressStreet2")]
8577 pub recipient_address_street2: Option<String>,
8578 #[serde(rename = "RecipientName")]
8579 pub recipient_name: Option<String>,
8580 #[serde(rename = "RecipientZoneId")]
8581 pub recipient_zone_id: Option<i64>,
8582 #[serde(rename = "SalesCustomerType")]
8583 pub sales_customer_type: Option<String>,
8584 #[serde(rename = "SalesDateTime")]
8585 pub sales_date_time: Option<String>,
8586 #[serde(rename = "Transactions")]
8587 pub transactions: Option<Vec<SalesCreateDeliveryV2RequestItemTransactions>>,
8588 #[serde(rename = "TransporterFacilityLicenseNumber")]
8589 pub transporter_facility_license_number: Option<String>,
8590 #[serde(rename = "VehicleLicensePlateNumber")]
8591 pub vehicle_license_plate_number: Option<String>,
8592 #[serde(rename = "VehicleMake")]
8593 pub vehicle_make: Option<String>,
8594 #[serde(rename = "VehicleModel")]
8595 pub vehicle_model: Option<String>,
8596}
8597
8598#[derive(Serialize, Deserialize, Debug, Clone)]
8599pub struct SalesCreateDeliveryV2RequestItemTransactions {
8600 #[serde(rename = "CityTax")]
8601 pub city_tax: Option<String>,
8602 #[serde(rename = "CountyTax")]
8603 pub county_tax: Option<String>,
8604 #[serde(rename = "DiscountAmount")]
8605 pub discount_amount: Option<String>,
8606 #[serde(rename = "ExciseTax")]
8607 pub excise_tax: Option<String>,
8608 #[serde(rename = "InvoiceNumber")]
8609 pub invoice_number: Option<String>,
8610 #[serde(rename = "MunicipalTax")]
8611 pub municipal_tax: Option<String>,
8612 #[serde(rename = "PackageLabel")]
8613 pub package_label: Option<String>,
8614 #[serde(rename = "Price")]
8615 pub price: Option<String>,
8616 #[serde(rename = "QrCodes")]
8617 pub qr_codes: Option<String>,
8618 #[serde(rename = "Quantity")]
8619 pub quantity: Option<i64>,
8620 #[serde(rename = "SalesTax")]
8621 pub sales_tax: Option<String>,
8622 #[serde(rename = "SubTotal")]
8623 pub sub_total: Option<String>,
8624 #[serde(rename = "TotalAmount")]
8625 pub total_amount: Option<f64>,
8626 #[serde(rename = "UnitOfMeasure")]
8627 pub unit_of_measure: Option<String>,
8628 #[serde(rename = "UnitThcContent")]
8629 pub unit_thc_content: Option<f64>,
8630 #[serde(rename = "UnitThcContentUnitOfMeasure")]
8631 pub unit_thc_content_unit_of_measure: Option<String>,
8632 #[serde(rename = "UnitThcPercent")]
8633 pub unit_thc_percent: Option<f64>,
8634 #[serde(rename = "UnitWeight")]
8635 pub unit_weight: Option<f64>,
8636 #[serde(rename = "UnitWeightUnitOfMeasure")]
8637 pub unit_weight_unit_of_measure: Option<String>,
8638}
8639
8640#[derive(Serialize, Deserialize, Debug, Clone)]
8641pub struct SalesCreateDeliveryRetailerV1RequestItem {
8642 #[serde(rename = "DateTime")]
8643 pub date_time: Option<String>,
8644 #[serde(rename = "Destinations")]
8645 pub destinations: Option<Vec<SalesCreateDeliveryRetailerV1RequestItemDestinations>>,
8646 #[serde(rename = "DriverEmployeeId")]
8647 pub driver_employee_id: Option<String>,
8648 #[serde(rename = "DriverName")]
8649 pub driver_name: Option<String>,
8650 #[serde(rename = "DriversLicenseNumber")]
8651 pub drivers_license_number: Option<String>,
8652 #[serde(rename = "EstimatedDepartureDateTime")]
8653 pub estimated_departure_date_time: Option<String>,
8654 #[serde(rename = "Packages")]
8655 pub packages: Option<Vec<SalesCreateDeliveryRetailerV1RequestItemPackages>>,
8656 #[serde(rename = "PhoneNumberForQuestions")]
8657 pub phone_number_for_questions: Option<String>,
8658 #[serde(rename = "VehicleLicensePlateNumber")]
8659 pub vehicle_license_plate_number: Option<String>,
8660 #[serde(rename = "VehicleMake")]
8661 pub vehicle_make: Option<String>,
8662 #[serde(rename = "VehicleModel")]
8663 pub vehicle_model: Option<String>,
8664}
8665
8666#[derive(Serialize, Deserialize, Debug, Clone)]
8667pub struct SalesCreateDeliveryRetailerV1RequestItemDestinations {
8668 #[serde(rename = "ConsumerId")]
8669 pub consumer_id: Option<String>,
8670 #[serde(rename = "EstimatedArrivalDateTime")]
8671 pub estimated_arrival_date_time: Option<String>,
8672 #[serde(rename = "PatientLicenseNumber")]
8673 pub patient_license_number: Option<String>,
8674 #[serde(rename = "RecipientAddressCity")]
8675 pub recipient_address_city: Option<String>,
8676 #[serde(rename = "RecipientAddressCounty")]
8677 pub recipient_address_county: Option<String>,
8678 #[serde(rename = "RecipientAddressPostalCode")]
8679 pub recipient_address_postal_code: Option<String>,
8680 #[serde(rename = "RecipientAddressState")]
8681 pub recipient_address_state: Option<String>,
8682 #[serde(rename = "RecipientAddressStreet1")]
8683 pub recipient_address_street1: Option<String>,
8684 #[serde(rename = "RecipientAddressStreet2")]
8685 pub recipient_address_street2: Option<String>,
8686 #[serde(rename = "RecipientName")]
8687 pub recipient_name: Option<String>,
8688 #[serde(rename = "RecipientZoneId")]
8689 pub recipient_zone_id: Option<String>,
8690 #[serde(rename = "SalesCustomerType")]
8691 pub sales_customer_type: Option<String>,
8692 #[serde(rename = "Transactions")]
8693 pub transactions: Option<Vec<SalesCreateDeliveryRetailerV1RequestItemDestinationsTransactions>>,
8694}
8695
8696#[derive(Serialize, Deserialize, Debug, Clone)]
8697pub struct SalesCreateDeliveryRetailerV1RequestItemDestinationsTransactions {
8698 #[serde(rename = "CityTax")]
8699 pub city_tax: Option<String>,
8700 #[serde(rename = "CountyTax")]
8701 pub county_tax: Option<String>,
8702 #[serde(rename = "DiscountAmount")]
8703 pub discount_amount: Option<String>,
8704 #[serde(rename = "ExciseTax")]
8705 pub excise_tax: Option<String>,
8706 #[serde(rename = "InvoiceNumber")]
8707 pub invoice_number: Option<String>,
8708 #[serde(rename = "MunicipalTax")]
8709 pub municipal_tax: Option<String>,
8710 #[serde(rename = "PackageLabel")]
8711 pub package_label: Option<String>,
8712 #[serde(rename = "Price")]
8713 pub price: Option<String>,
8714 #[serde(rename = "QrCodes")]
8715 pub qr_codes: Option<String>,
8716 #[serde(rename = "Quantity")]
8717 pub quantity: Option<i64>,
8718 #[serde(rename = "SalesTax")]
8719 pub sales_tax: Option<String>,
8720 #[serde(rename = "SubTotal")]
8721 pub sub_total: Option<String>,
8722 #[serde(rename = "TotalAmount")]
8723 pub total_amount: Option<f64>,
8724 #[serde(rename = "UnitOfMeasure")]
8725 pub unit_of_measure: Option<String>,
8726 #[serde(rename = "UnitThcContent")]
8727 pub unit_thc_content: Option<f64>,
8728 #[serde(rename = "UnitThcContentUnitOfMeasure")]
8729 pub unit_thc_content_unit_of_measure: Option<String>,
8730 #[serde(rename = "UnitThcPercent")]
8731 pub unit_thc_percent: Option<f64>,
8732 #[serde(rename = "UnitWeight")]
8733 pub unit_weight: Option<f64>,
8734 #[serde(rename = "UnitWeightUnitOfMeasure")]
8735 pub unit_weight_unit_of_measure: Option<String>,
8736}
8737
8738#[derive(Serialize, Deserialize, Debug, Clone)]
8739pub struct SalesCreateDeliveryRetailerV1RequestItemPackages {
8740 #[serde(rename = "DateTime")]
8741 pub date_time: Option<String>,
8742 #[serde(rename = "PackageLabel")]
8743 pub package_label: Option<String>,
8744 #[serde(rename = "Quantity")]
8745 pub quantity: Option<i64>,
8746 #[serde(rename = "TotalPrice")]
8747 pub total_price: Option<f64>,
8748 #[serde(rename = "UnitOfMeasure")]
8749 pub unit_of_measure: Option<String>,
8750}
8751
8752#[derive(Serialize, Deserialize, Debug, Clone)]
8753pub struct SalesCreateDeliveryRetailerV2RequestItem {
8754 #[serde(rename = "DateTime")]
8755 pub date_time: Option<String>,
8756 #[serde(rename = "Destinations")]
8757 pub destinations: Option<Vec<SalesCreateDeliveryRetailerV2RequestItemDestinations>>,
8758 #[serde(rename = "DriverEmployeeId")]
8759 pub driver_employee_id: Option<String>,
8760 #[serde(rename = "DriverName")]
8761 pub driver_name: Option<String>,
8762 #[serde(rename = "DriversLicenseNumber")]
8763 pub drivers_license_number: Option<String>,
8764 #[serde(rename = "EstimatedDepartureDateTime")]
8765 pub estimated_departure_date_time: Option<String>,
8766 #[serde(rename = "Packages")]
8767 pub packages: Option<Vec<SalesCreateDeliveryRetailerV2RequestItemPackages>>,
8768 #[serde(rename = "PhoneNumberForQuestions")]
8769 pub phone_number_for_questions: Option<String>,
8770 #[serde(rename = "VehicleLicensePlateNumber")]
8771 pub vehicle_license_plate_number: Option<String>,
8772 #[serde(rename = "VehicleMake")]
8773 pub vehicle_make: Option<String>,
8774 #[serde(rename = "VehicleModel")]
8775 pub vehicle_model: Option<String>,
8776}
8777
8778#[derive(Serialize, Deserialize, Debug, Clone)]
8779pub struct SalesCreateDeliveryRetailerV2RequestItemDestinations {
8780 #[serde(rename = "ConsumerId")]
8781 pub consumer_id: Option<String>,
8782 #[serde(rename = "EstimatedArrivalDateTime")]
8783 pub estimated_arrival_date_time: Option<String>,
8784 #[serde(rename = "PatientLicenseNumber")]
8785 pub patient_license_number: Option<String>,
8786 #[serde(rename = "RecipientAddressCity")]
8787 pub recipient_address_city: Option<String>,
8788 #[serde(rename = "RecipientAddressCounty")]
8789 pub recipient_address_county: Option<String>,
8790 #[serde(rename = "RecipientAddressPostalCode")]
8791 pub recipient_address_postal_code: Option<String>,
8792 #[serde(rename = "RecipientAddressState")]
8793 pub recipient_address_state: Option<String>,
8794 #[serde(rename = "RecipientAddressStreet1")]
8795 pub recipient_address_street1: Option<String>,
8796 #[serde(rename = "RecipientAddressStreet2")]
8797 pub recipient_address_street2: Option<String>,
8798 #[serde(rename = "RecipientName")]
8799 pub recipient_name: Option<String>,
8800 #[serde(rename = "RecipientZoneId")]
8801 pub recipient_zone_id: Option<String>,
8802 #[serde(rename = "SalesCustomerType")]
8803 pub sales_customer_type: Option<String>,
8804 #[serde(rename = "Transactions")]
8805 pub transactions: Option<Vec<SalesCreateDeliveryRetailerV2RequestItemDestinationsTransactions>>,
8806}
8807
8808#[derive(Serialize, Deserialize, Debug, Clone)]
8809pub struct SalesCreateDeliveryRetailerV2RequestItemDestinationsTransactions {
8810 #[serde(rename = "CityTax")]
8811 pub city_tax: Option<String>,
8812 #[serde(rename = "CountyTax")]
8813 pub county_tax: Option<String>,
8814 #[serde(rename = "DiscountAmount")]
8815 pub discount_amount: Option<String>,
8816 #[serde(rename = "ExciseTax")]
8817 pub excise_tax: Option<String>,
8818 #[serde(rename = "InvoiceNumber")]
8819 pub invoice_number: Option<String>,
8820 #[serde(rename = "MunicipalTax")]
8821 pub municipal_tax: Option<String>,
8822 #[serde(rename = "PackageLabel")]
8823 pub package_label: Option<String>,
8824 #[serde(rename = "Price")]
8825 pub price: Option<String>,
8826 #[serde(rename = "QrCodes")]
8827 pub qr_codes: Option<String>,
8828 #[serde(rename = "Quantity")]
8829 pub quantity: Option<i64>,
8830 #[serde(rename = "SalesTax")]
8831 pub sales_tax: Option<String>,
8832 #[serde(rename = "SubTotal")]
8833 pub sub_total: Option<String>,
8834 #[serde(rename = "TotalAmount")]
8835 pub total_amount: Option<f64>,
8836 #[serde(rename = "UnitOfMeasure")]
8837 pub unit_of_measure: Option<String>,
8838 #[serde(rename = "UnitThcContent")]
8839 pub unit_thc_content: Option<f64>,
8840 #[serde(rename = "UnitThcContentUnitOfMeasure")]
8841 pub unit_thc_content_unit_of_measure: Option<String>,
8842 #[serde(rename = "UnitThcPercent")]
8843 pub unit_thc_percent: Option<f64>,
8844 #[serde(rename = "UnitWeight")]
8845 pub unit_weight: Option<f64>,
8846 #[serde(rename = "UnitWeightUnitOfMeasure")]
8847 pub unit_weight_unit_of_measure: Option<String>,
8848}
8849
8850#[derive(Serialize, Deserialize, Debug, Clone)]
8851pub struct SalesCreateDeliveryRetailerV2RequestItemPackages {
8852 #[serde(rename = "DateTime")]
8853 pub date_time: Option<String>,
8854 #[serde(rename = "PackageLabel")]
8855 pub package_label: Option<String>,
8856 #[serde(rename = "Quantity")]
8857 pub quantity: Option<i64>,
8858 #[serde(rename = "TotalPrice")]
8859 pub total_price: Option<f64>,
8860 #[serde(rename = "UnitOfMeasure")]
8861 pub unit_of_measure: Option<String>,
8862}
8863
8864#[derive(Serialize, Deserialize, Debug, Clone)]
8865pub struct SalesCreateDeliveryRetailerDepartV1RequestItem {
8866 #[serde(rename = "RetailerDeliveryId")]
8867 pub retailer_delivery_id: Option<i64>,
8868}
8869
8870#[derive(Serialize, Deserialize, Debug, Clone)]
8871pub struct SalesCreateDeliveryRetailerDepartV2RequestItem {
8872 #[serde(rename = "RetailerDeliveryId")]
8873 pub retailer_delivery_id: Option<i64>,
8874}
8875
8876#[derive(Serialize, Deserialize, Debug, Clone)]
8877pub struct SalesCreateDeliveryRetailerEndV1RequestItem {
8878 #[serde(rename = "ActualArrivalDateTime")]
8879 pub actual_arrival_date_time: Option<String>,
8880 #[serde(rename = "Packages")]
8881 pub packages: Option<Vec<SalesCreateDeliveryRetailerEndV1RequestItemPackages>>,
8882 #[serde(rename = "RetailerDeliveryId")]
8883 pub retailer_delivery_id: Option<i64>,
8884}
8885
8886#[derive(Serialize, Deserialize, Debug, Clone)]
8887pub struct SalesCreateDeliveryRetailerEndV1RequestItemPackages {
8888 #[serde(rename = "EndQuantity")]
8889 pub end_quantity: Option<i64>,
8890 #[serde(rename = "EndUnitOfMeasure")]
8891 pub end_unit_of_measure: Option<String>,
8892 #[serde(rename = "Label")]
8893 pub label: Option<String>,
8894}
8895
8896#[derive(Serialize, Deserialize, Debug, Clone)]
8897pub struct SalesCreateDeliveryRetailerEndV2RequestItem {
8898 #[serde(rename = "ActualArrivalDateTime")]
8899 pub actual_arrival_date_time: Option<String>,
8900 #[serde(rename = "Packages")]
8901 pub packages: Option<Vec<SalesCreateDeliveryRetailerEndV2RequestItemPackages>>,
8902 #[serde(rename = "RetailerDeliveryId")]
8903 pub retailer_delivery_id: Option<i64>,
8904}
8905
8906#[derive(Serialize, Deserialize, Debug, Clone)]
8907pub struct SalesCreateDeliveryRetailerEndV2RequestItemPackages {
8908 #[serde(rename = "EndQuantity")]
8909 pub end_quantity: Option<i64>,
8910 #[serde(rename = "EndUnitOfMeasure")]
8911 pub end_unit_of_measure: Option<String>,
8912 #[serde(rename = "Label")]
8913 pub label: Option<String>,
8914}
8915
8916#[derive(Serialize, Deserialize, Debug, Clone)]
8917pub struct SalesCreateDeliveryRetailerRestockV1RequestItem {
8918 #[serde(rename = "DateTime")]
8919 pub date_time: Option<String>,
8920 #[serde(rename = "Destinations")]
8921 pub destinations: Option<String>,
8922 #[serde(rename = "EstimatedDepartureDateTime")]
8923 pub estimated_departure_date_time: Option<String>,
8924 #[serde(rename = "Packages")]
8925 pub packages: Option<Vec<SalesCreateDeliveryRetailerRestockV1RequestItemPackages>>,
8926 #[serde(rename = "RetailerDeliveryId")]
8927 pub retailer_delivery_id: Option<i64>,
8928}
8929
8930#[derive(Serialize, Deserialize, Debug, Clone)]
8931pub struct SalesCreateDeliveryRetailerRestockV1RequestItemPackages {
8932 #[serde(rename = "PackageLabel")]
8933 pub package_label: Option<String>,
8934 #[serde(rename = "Quantity")]
8935 pub quantity: Option<i64>,
8936 #[serde(rename = "RemoveCurrentPackage")]
8937 pub remove_current_package: Option<bool>,
8938 #[serde(rename = "TotalPrice")]
8939 pub total_price: Option<f64>,
8940 #[serde(rename = "UnitOfMeasure")]
8941 pub unit_of_measure: Option<String>,
8942}
8943
8944#[derive(Serialize, Deserialize, Debug, Clone)]
8945pub struct SalesCreateDeliveryRetailerRestockV2RequestItem {
8946 #[serde(rename = "DateTime")]
8947 pub date_time: Option<String>,
8948 #[serde(rename = "Destinations")]
8949 pub destinations: Option<String>,
8950 #[serde(rename = "EstimatedDepartureDateTime")]
8951 pub estimated_departure_date_time: Option<String>,
8952 #[serde(rename = "Packages")]
8953 pub packages: Option<Vec<SalesCreateDeliveryRetailerRestockV2RequestItemPackages>>,
8954 #[serde(rename = "RetailerDeliveryId")]
8955 pub retailer_delivery_id: Option<i64>,
8956}
8957
8958#[derive(Serialize, Deserialize, Debug, Clone)]
8959pub struct SalesCreateDeliveryRetailerRestockV2RequestItemPackages {
8960 #[serde(rename = "PackageLabel")]
8961 pub package_label: Option<String>,
8962 #[serde(rename = "Quantity")]
8963 pub quantity: Option<i64>,
8964 #[serde(rename = "RemoveCurrentPackage")]
8965 pub remove_current_package: Option<bool>,
8966 #[serde(rename = "TotalPrice")]
8967 pub total_price: Option<f64>,
8968 #[serde(rename = "UnitOfMeasure")]
8969 pub unit_of_measure: Option<String>,
8970}
8971
8972#[derive(Serialize, Deserialize, Debug, Clone)]
8973pub struct SalesCreateDeliveryRetailerSaleV1RequestItem {
8974 #[serde(rename = "ConsumerId")]
8975 pub consumer_id: Option<i64>,
8976 #[serde(rename = "EstimatedArrivalDateTime")]
8977 pub estimated_arrival_date_time: Option<String>,
8978 #[serde(rename = "EstimatedDepartureDateTime")]
8979 pub estimated_departure_date_time: Option<String>,
8980 #[serde(rename = "PatientLicenseNumber")]
8981 pub patient_license_number: Option<String>,
8982 #[serde(rename = "PhoneNumberForQuestions")]
8983 pub phone_number_for_questions: Option<String>,
8984 #[serde(rename = "PlannedRoute")]
8985 pub planned_route: Option<String>,
8986 #[serde(rename = "RecipientAddressCity")]
8987 pub recipient_address_city: Option<String>,
8988 #[serde(rename = "RecipientAddressCounty")]
8989 pub recipient_address_county: Option<String>,
8990 #[serde(rename = "RecipientAddressPostalCode")]
8991 pub recipient_address_postal_code: Option<String>,
8992 #[serde(rename = "RecipientAddressState")]
8993 pub recipient_address_state: Option<String>,
8994 #[serde(rename = "RecipientAddressStreet1")]
8995 pub recipient_address_street1: Option<String>,
8996 #[serde(rename = "RecipientAddressStreet2")]
8997 pub recipient_address_street2: Option<String>,
8998 #[serde(rename = "RecipientName")]
8999 pub recipient_name: Option<String>,
9000 #[serde(rename = "RecipientZoneId")]
9001 pub recipient_zone_id: Option<i64>,
9002 #[serde(rename = "RetailerDeliveryId")]
9003 pub retailer_delivery_id: Option<i64>,
9004 #[serde(rename = "SalesCustomerType")]
9005 pub sales_customer_type: Option<String>,
9006 #[serde(rename = "SalesDateTime")]
9007 pub sales_date_time: Option<String>,
9008 #[serde(rename = "Transactions")]
9009 pub transactions: Option<Vec<SalesCreateDeliveryRetailerSaleV1RequestItemTransactions>>,
9010}
9011
9012#[derive(Serialize, Deserialize, Debug, Clone)]
9013pub struct SalesCreateDeliveryRetailerSaleV1RequestItemTransactions {
9014 #[serde(rename = "CityTax")]
9015 pub city_tax: Option<String>,
9016 #[serde(rename = "CountyTax")]
9017 pub county_tax: Option<String>,
9018 #[serde(rename = "DiscountAmount")]
9019 pub discount_amount: Option<String>,
9020 #[serde(rename = "ExciseTax")]
9021 pub excise_tax: Option<String>,
9022 #[serde(rename = "InvoiceNumber")]
9023 pub invoice_number: Option<String>,
9024 #[serde(rename = "MunicipalTax")]
9025 pub municipal_tax: Option<String>,
9026 #[serde(rename = "PackageLabel")]
9027 pub package_label: Option<String>,
9028 #[serde(rename = "Price")]
9029 pub price: Option<String>,
9030 #[serde(rename = "QrCodes")]
9031 pub qr_codes: Option<String>,
9032 #[serde(rename = "Quantity")]
9033 pub quantity: Option<i64>,
9034 #[serde(rename = "SalesTax")]
9035 pub sales_tax: Option<String>,
9036 #[serde(rename = "SubTotal")]
9037 pub sub_total: Option<String>,
9038 #[serde(rename = "TotalAmount")]
9039 pub total_amount: Option<f64>,
9040 #[serde(rename = "UnitOfMeasure")]
9041 pub unit_of_measure: Option<String>,
9042 #[serde(rename = "UnitThcContent")]
9043 pub unit_thc_content: Option<f64>,
9044 #[serde(rename = "UnitThcContentUnitOfMeasure")]
9045 pub unit_thc_content_unit_of_measure: Option<String>,
9046 #[serde(rename = "UnitThcPercent")]
9047 pub unit_thc_percent: Option<f64>,
9048 #[serde(rename = "UnitWeight")]
9049 pub unit_weight: Option<f64>,
9050 #[serde(rename = "UnitWeightUnitOfMeasure")]
9051 pub unit_weight_unit_of_measure: Option<String>,
9052}
9053
9054#[derive(Serialize, Deserialize, Debug, Clone)]
9055pub struct SalesCreateDeliveryRetailerSaleV2RequestItem {
9056 #[serde(rename = "ConsumerId")]
9057 pub consumer_id: Option<i64>,
9058 #[serde(rename = "EstimatedArrivalDateTime")]
9059 pub estimated_arrival_date_time: Option<String>,
9060 #[serde(rename = "EstimatedDepartureDateTime")]
9061 pub estimated_departure_date_time: Option<String>,
9062 #[serde(rename = "PatientLicenseNumber")]
9063 pub patient_license_number: Option<String>,
9064 #[serde(rename = "PhoneNumberForQuestions")]
9065 pub phone_number_for_questions: Option<String>,
9066 #[serde(rename = "PlannedRoute")]
9067 pub planned_route: Option<String>,
9068 #[serde(rename = "RecipientAddressCity")]
9069 pub recipient_address_city: Option<String>,
9070 #[serde(rename = "RecipientAddressCounty")]
9071 pub recipient_address_county: Option<String>,
9072 #[serde(rename = "RecipientAddressPostalCode")]
9073 pub recipient_address_postal_code: Option<String>,
9074 #[serde(rename = "RecipientAddressState")]
9075 pub recipient_address_state: Option<String>,
9076 #[serde(rename = "RecipientAddressStreet1")]
9077 pub recipient_address_street1: Option<String>,
9078 #[serde(rename = "RecipientAddressStreet2")]
9079 pub recipient_address_street2: Option<String>,
9080 #[serde(rename = "RecipientName")]
9081 pub recipient_name: Option<String>,
9082 #[serde(rename = "RecipientZoneId")]
9083 pub recipient_zone_id: Option<i64>,
9084 #[serde(rename = "RetailerDeliveryId")]
9085 pub retailer_delivery_id: Option<i64>,
9086 #[serde(rename = "SalesCustomerType")]
9087 pub sales_customer_type: Option<String>,
9088 #[serde(rename = "SalesDateTime")]
9089 pub sales_date_time: Option<String>,
9090 #[serde(rename = "Transactions")]
9091 pub transactions: Option<Vec<SalesCreateDeliveryRetailerSaleV2RequestItemTransactions>>,
9092}
9093
9094#[derive(Serialize, Deserialize, Debug, Clone)]
9095pub struct SalesCreateDeliveryRetailerSaleV2RequestItemTransactions {
9096 #[serde(rename = "CityTax")]
9097 pub city_tax: Option<String>,
9098 #[serde(rename = "CountyTax")]
9099 pub county_tax: Option<String>,
9100 #[serde(rename = "DiscountAmount")]
9101 pub discount_amount: Option<String>,
9102 #[serde(rename = "ExciseTax")]
9103 pub excise_tax: Option<String>,
9104 #[serde(rename = "InvoiceNumber")]
9105 pub invoice_number: Option<String>,
9106 #[serde(rename = "MunicipalTax")]
9107 pub municipal_tax: Option<String>,
9108 #[serde(rename = "PackageLabel")]
9109 pub package_label: Option<String>,
9110 #[serde(rename = "Price")]
9111 pub price: Option<String>,
9112 #[serde(rename = "QrCodes")]
9113 pub qr_codes: Option<String>,
9114 #[serde(rename = "Quantity")]
9115 pub quantity: Option<i64>,
9116 #[serde(rename = "SalesTax")]
9117 pub sales_tax: Option<String>,
9118 #[serde(rename = "SubTotal")]
9119 pub sub_total: Option<String>,
9120 #[serde(rename = "TotalAmount")]
9121 pub total_amount: Option<f64>,
9122 #[serde(rename = "UnitOfMeasure")]
9123 pub unit_of_measure: Option<String>,
9124 #[serde(rename = "UnitThcContent")]
9125 pub unit_thc_content: Option<f64>,
9126 #[serde(rename = "UnitThcContentUnitOfMeasure")]
9127 pub unit_thc_content_unit_of_measure: Option<String>,
9128 #[serde(rename = "UnitThcPercent")]
9129 pub unit_thc_percent: Option<f64>,
9130 #[serde(rename = "UnitWeight")]
9131 pub unit_weight: Option<f64>,
9132 #[serde(rename = "UnitWeightUnitOfMeasure")]
9133 pub unit_weight_unit_of_measure: Option<String>,
9134}
9135
9136#[derive(Serialize, Deserialize, Debug, Clone)]
9137pub struct SalesCreateReceiptV1RequestItem {
9138 #[serde(rename = "CaregiverLicenseNumber")]
9139 pub caregiver_license_number: Option<String>,
9140 #[serde(rename = "ExternalReceiptNumber")]
9141 pub external_receipt_number: Option<String>,
9142 #[serde(rename = "IdentificationMethod")]
9143 pub identification_method: Option<String>,
9144 #[serde(rename = "PatientLicenseNumber")]
9145 pub patient_license_number: Option<String>,
9146 #[serde(rename = "PatientRegistrationLocationId")]
9147 pub patient_registration_location_id: Option<i64>,
9148 #[serde(rename = "SalesCustomerType")]
9149 pub sales_customer_type: Option<String>,
9150 #[serde(rename = "SalesDateTime")]
9151 pub sales_date_time: Option<String>,
9152 #[serde(rename = "Transactions")]
9153 pub transactions: Option<Vec<SalesCreateReceiptV1RequestItemTransactions>>,
9154}
9155
9156#[derive(Serialize, Deserialize, Debug, Clone)]
9157pub struct SalesCreateReceiptV1RequestItemTransactions {
9158 #[serde(rename = "CityTax")]
9159 pub city_tax: Option<String>,
9160 #[serde(rename = "CountyTax")]
9161 pub county_tax: Option<String>,
9162 #[serde(rename = "DiscountAmount")]
9163 pub discount_amount: Option<String>,
9164 #[serde(rename = "ExciseTax")]
9165 pub excise_tax: Option<String>,
9166 #[serde(rename = "InvoiceNumber")]
9167 pub invoice_number: Option<String>,
9168 #[serde(rename = "MunicipalTax")]
9169 pub municipal_tax: Option<String>,
9170 #[serde(rename = "PackageLabel")]
9171 pub package_label: Option<String>,
9172 #[serde(rename = "Price")]
9173 pub price: Option<String>,
9174 #[serde(rename = "QrCodes")]
9175 pub qr_codes: Option<String>,
9176 #[serde(rename = "Quantity")]
9177 pub quantity: Option<i64>,
9178 #[serde(rename = "SalesTax")]
9179 pub sales_tax: Option<String>,
9180 #[serde(rename = "SubTotal")]
9181 pub sub_total: Option<String>,
9182 #[serde(rename = "TotalAmount")]
9183 pub total_amount: Option<f64>,
9184 #[serde(rename = "UnitOfMeasure")]
9185 pub unit_of_measure: Option<String>,
9186 #[serde(rename = "UnitThcContent")]
9187 pub unit_thc_content: Option<f64>,
9188 #[serde(rename = "UnitThcContentUnitOfMeasure")]
9189 pub unit_thc_content_unit_of_measure: Option<String>,
9190 #[serde(rename = "UnitThcPercent")]
9191 pub unit_thc_percent: Option<f64>,
9192 #[serde(rename = "UnitWeight")]
9193 pub unit_weight: Option<f64>,
9194 #[serde(rename = "UnitWeightUnitOfMeasure")]
9195 pub unit_weight_unit_of_measure: Option<String>,
9196}
9197
9198#[derive(Serialize, Deserialize, Debug, Clone)]
9199pub struct SalesCreateReceiptV2RequestItem {
9200 #[serde(rename = "CaregiverLicenseNumber")]
9201 pub caregiver_license_number: Option<String>,
9202 #[serde(rename = "ExternalReceiptNumber")]
9203 pub external_receipt_number: Option<String>,
9204 #[serde(rename = "IdentificationMethod")]
9205 pub identification_method: Option<String>,
9206 #[serde(rename = "PatientLicenseNumber")]
9207 pub patient_license_number: Option<String>,
9208 #[serde(rename = "PatientRegistrationLocationId")]
9209 pub patient_registration_location_id: Option<i64>,
9210 #[serde(rename = "SalesCustomerType")]
9211 pub sales_customer_type: Option<String>,
9212 #[serde(rename = "SalesDateTime")]
9213 pub sales_date_time: Option<String>,
9214 #[serde(rename = "Transactions")]
9215 pub transactions: Option<Vec<SalesCreateReceiptV2RequestItemTransactions>>,
9216}
9217
9218#[derive(Serialize, Deserialize, Debug, Clone)]
9219pub struct SalesCreateReceiptV2RequestItemTransactions {
9220 #[serde(rename = "CityTax")]
9221 pub city_tax: Option<String>,
9222 #[serde(rename = "CountyTax")]
9223 pub county_tax: Option<String>,
9224 #[serde(rename = "DiscountAmount")]
9225 pub discount_amount: Option<String>,
9226 #[serde(rename = "ExciseTax")]
9227 pub excise_tax: Option<String>,
9228 #[serde(rename = "InvoiceNumber")]
9229 pub invoice_number: Option<String>,
9230 #[serde(rename = "MunicipalTax")]
9231 pub municipal_tax: Option<String>,
9232 #[serde(rename = "PackageLabel")]
9233 pub package_label: Option<String>,
9234 #[serde(rename = "Price")]
9235 pub price: Option<String>,
9236 #[serde(rename = "QrCodes")]
9237 pub qr_codes: Option<String>,
9238 #[serde(rename = "Quantity")]
9239 pub quantity: Option<i64>,
9240 #[serde(rename = "SalesTax")]
9241 pub sales_tax: Option<String>,
9242 #[serde(rename = "SubTotal")]
9243 pub sub_total: Option<String>,
9244 #[serde(rename = "TotalAmount")]
9245 pub total_amount: Option<f64>,
9246 #[serde(rename = "UnitOfMeasure")]
9247 pub unit_of_measure: Option<String>,
9248 #[serde(rename = "UnitThcContent")]
9249 pub unit_thc_content: Option<f64>,
9250 #[serde(rename = "UnitThcContentUnitOfMeasure")]
9251 pub unit_thc_content_unit_of_measure: Option<String>,
9252 #[serde(rename = "UnitThcPercent")]
9253 pub unit_thc_percent: Option<f64>,
9254 #[serde(rename = "UnitWeight")]
9255 pub unit_weight: Option<f64>,
9256 #[serde(rename = "UnitWeightUnitOfMeasure")]
9257 pub unit_weight_unit_of_measure: Option<String>,
9258}
9259
9260#[derive(Serialize, Deserialize, Debug, Clone)]
9261pub struct SalesCreateTransactionByDateV1RequestItem {
9262 #[serde(rename = "CityTax")]
9263 pub city_tax: Option<String>,
9264 #[serde(rename = "CountyTax")]
9265 pub county_tax: Option<String>,
9266 #[serde(rename = "DiscountAmount")]
9267 pub discount_amount: Option<String>,
9268 #[serde(rename = "ExciseTax")]
9269 pub excise_tax: Option<String>,
9270 #[serde(rename = "InvoiceNumber")]
9271 pub invoice_number: Option<String>,
9272 #[serde(rename = "MunicipalTax")]
9273 pub municipal_tax: Option<String>,
9274 #[serde(rename = "PackageLabel")]
9275 pub package_label: Option<String>,
9276 #[serde(rename = "Price")]
9277 pub price: Option<String>,
9278 #[serde(rename = "QrCodes")]
9279 pub qr_codes: Option<String>,
9280 #[serde(rename = "Quantity")]
9281 pub quantity: Option<i64>,
9282 #[serde(rename = "SalesTax")]
9283 pub sales_tax: Option<String>,
9284 #[serde(rename = "SubTotal")]
9285 pub sub_total: Option<String>,
9286 #[serde(rename = "TotalAmount")]
9287 pub total_amount: Option<f64>,
9288 #[serde(rename = "UnitOfMeasure")]
9289 pub unit_of_measure: Option<String>,
9290 #[serde(rename = "UnitThcContent")]
9291 pub unit_thc_content: Option<f64>,
9292 #[serde(rename = "UnitThcContentUnitOfMeasure")]
9293 pub unit_thc_content_unit_of_measure: Option<String>,
9294 #[serde(rename = "UnitThcPercent")]
9295 pub unit_thc_percent: Option<f64>,
9296 #[serde(rename = "UnitWeight")]
9297 pub unit_weight: Option<f64>,
9298 #[serde(rename = "UnitWeightUnitOfMeasure")]
9299 pub unit_weight_unit_of_measure: Option<String>,
9300}
9301
9302#[derive(Serialize, Deserialize, Debug, Clone)]
9303pub struct SalesUpdateDeliveryV1RequestItem {
9304 #[serde(rename = "ConsumerId")]
9305 pub consumer_id: Option<i64>,
9306 #[serde(rename = "DriverEmployeeId")]
9307 pub driver_employee_id: Option<String>,
9308 #[serde(rename = "DriverName")]
9309 pub driver_name: Option<String>,
9310 #[serde(rename = "DriversLicenseNumber")]
9311 pub drivers_license_number: Option<String>,
9312 #[serde(rename = "EstimatedArrivalDateTime")]
9313 pub estimated_arrival_date_time: Option<String>,
9314 #[serde(rename = "EstimatedDepartureDateTime")]
9315 pub estimated_departure_date_time: Option<String>,
9316 #[serde(rename = "Id")]
9317 pub id: Option<i64>,
9318 #[serde(rename = "PatientLicenseNumber")]
9319 pub patient_license_number: Option<String>,
9320 #[serde(rename = "PhoneNumberForQuestions")]
9321 pub phone_number_for_questions: Option<String>,
9322 #[serde(rename = "PlannedRoute")]
9323 pub planned_route: Option<String>,
9324 #[serde(rename = "RecipientAddressCity")]
9325 pub recipient_address_city: Option<String>,
9326 #[serde(rename = "RecipientAddressCounty")]
9327 pub recipient_address_county: Option<String>,
9328 #[serde(rename = "RecipientAddressPostalCode")]
9329 pub recipient_address_postal_code: Option<String>,
9330 #[serde(rename = "RecipientAddressState")]
9331 pub recipient_address_state: Option<String>,
9332 #[serde(rename = "RecipientAddressStreet1")]
9333 pub recipient_address_street1: Option<String>,
9334 #[serde(rename = "RecipientAddressStreet2")]
9335 pub recipient_address_street2: Option<String>,
9336 #[serde(rename = "RecipientName")]
9337 pub recipient_name: Option<String>,
9338 #[serde(rename = "RecipientZoneId")]
9339 pub recipient_zone_id: Option<String>,
9340 #[serde(rename = "SalesCustomerType")]
9341 pub sales_customer_type: Option<String>,
9342 #[serde(rename = "SalesDateTime")]
9343 pub sales_date_time: Option<String>,
9344 #[serde(rename = "Transactions")]
9345 pub transactions: Option<Vec<SalesUpdateDeliveryV1RequestItemTransactions>>,
9346 #[serde(rename = "TransporterFacilityLicenseNumber")]
9347 pub transporter_facility_license_number: Option<String>,
9348 #[serde(rename = "VehicleLicensePlateNumber")]
9349 pub vehicle_license_plate_number: Option<String>,
9350 #[serde(rename = "VehicleMake")]
9351 pub vehicle_make: Option<String>,
9352 #[serde(rename = "VehicleModel")]
9353 pub vehicle_model: Option<String>,
9354}
9355
9356#[derive(Serialize, Deserialize, Debug, Clone)]
9357pub struct SalesUpdateDeliveryV1RequestItemTransactions {
9358 #[serde(rename = "CityTax")]
9359 pub city_tax: Option<String>,
9360 #[serde(rename = "CountyTax")]
9361 pub county_tax: Option<String>,
9362 #[serde(rename = "DiscountAmount")]
9363 pub discount_amount: Option<String>,
9364 #[serde(rename = "ExciseTax")]
9365 pub excise_tax: Option<String>,
9366 #[serde(rename = "InvoiceNumber")]
9367 pub invoice_number: Option<String>,
9368 #[serde(rename = "MunicipalTax")]
9369 pub municipal_tax: Option<String>,
9370 #[serde(rename = "PackageLabel")]
9371 pub package_label: Option<String>,
9372 #[serde(rename = "Price")]
9373 pub price: Option<String>,
9374 #[serde(rename = "QrCodes")]
9375 pub qr_codes: Option<String>,
9376 #[serde(rename = "Quantity")]
9377 pub quantity: Option<i64>,
9378 #[serde(rename = "SalesTax")]
9379 pub sales_tax: Option<String>,
9380 #[serde(rename = "SubTotal")]
9381 pub sub_total: Option<String>,
9382 #[serde(rename = "TotalAmount")]
9383 pub total_amount: Option<f64>,
9384 #[serde(rename = "UnitOfMeasure")]
9385 pub unit_of_measure: Option<String>,
9386 #[serde(rename = "UnitThcContent")]
9387 pub unit_thc_content: Option<f64>,
9388 #[serde(rename = "UnitThcContentUnitOfMeasure")]
9389 pub unit_thc_content_unit_of_measure: Option<String>,
9390 #[serde(rename = "UnitThcPercent")]
9391 pub unit_thc_percent: Option<f64>,
9392 #[serde(rename = "UnitWeight")]
9393 pub unit_weight: Option<f64>,
9394 #[serde(rename = "UnitWeightUnitOfMeasure")]
9395 pub unit_weight_unit_of_measure: Option<String>,
9396}
9397
9398#[derive(Serialize, Deserialize, Debug, Clone)]
9399pub struct SalesUpdateDeliveryV2RequestItem {
9400 #[serde(rename = "ConsumerId")]
9401 pub consumer_id: Option<i64>,
9402 #[serde(rename = "DriverEmployeeId")]
9403 pub driver_employee_id: Option<String>,
9404 #[serde(rename = "DriverName")]
9405 pub driver_name: Option<String>,
9406 #[serde(rename = "DriversLicenseNumber")]
9407 pub drivers_license_number: Option<String>,
9408 #[serde(rename = "EstimatedArrivalDateTime")]
9409 pub estimated_arrival_date_time: Option<String>,
9410 #[serde(rename = "EstimatedDepartureDateTime")]
9411 pub estimated_departure_date_time: Option<String>,
9412 #[serde(rename = "Id")]
9413 pub id: Option<i64>,
9414 #[serde(rename = "PatientLicenseNumber")]
9415 pub patient_license_number: Option<String>,
9416 #[serde(rename = "PhoneNumberForQuestions")]
9417 pub phone_number_for_questions: Option<String>,
9418 #[serde(rename = "PlannedRoute")]
9419 pub planned_route: Option<String>,
9420 #[serde(rename = "RecipientAddressCity")]
9421 pub recipient_address_city: Option<String>,
9422 #[serde(rename = "RecipientAddressCounty")]
9423 pub recipient_address_county: Option<String>,
9424 #[serde(rename = "RecipientAddressPostalCode")]
9425 pub recipient_address_postal_code: Option<String>,
9426 #[serde(rename = "RecipientAddressState")]
9427 pub recipient_address_state: Option<String>,
9428 #[serde(rename = "RecipientAddressStreet1")]
9429 pub recipient_address_street1: Option<String>,
9430 #[serde(rename = "RecipientAddressStreet2")]
9431 pub recipient_address_street2: Option<String>,
9432 #[serde(rename = "RecipientName")]
9433 pub recipient_name: Option<String>,
9434 #[serde(rename = "RecipientZoneId")]
9435 pub recipient_zone_id: Option<String>,
9436 #[serde(rename = "SalesCustomerType")]
9437 pub sales_customer_type: Option<String>,
9438 #[serde(rename = "SalesDateTime")]
9439 pub sales_date_time: Option<String>,
9440 #[serde(rename = "Transactions")]
9441 pub transactions: Option<Vec<SalesUpdateDeliveryV2RequestItemTransactions>>,
9442 #[serde(rename = "TransporterFacilityLicenseNumber")]
9443 pub transporter_facility_license_number: Option<String>,
9444 #[serde(rename = "VehicleLicensePlateNumber")]
9445 pub vehicle_license_plate_number: Option<String>,
9446 #[serde(rename = "VehicleMake")]
9447 pub vehicle_make: Option<String>,
9448 #[serde(rename = "VehicleModel")]
9449 pub vehicle_model: Option<String>,
9450}
9451
9452#[derive(Serialize, Deserialize, Debug, Clone)]
9453pub struct SalesUpdateDeliveryV2RequestItemTransactions {
9454 #[serde(rename = "CityTax")]
9455 pub city_tax: Option<String>,
9456 #[serde(rename = "CountyTax")]
9457 pub county_tax: Option<String>,
9458 #[serde(rename = "DiscountAmount")]
9459 pub discount_amount: Option<String>,
9460 #[serde(rename = "ExciseTax")]
9461 pub excise_tax: Option<String>,
9462 #[serde(rename = "InvoiceNumber")]
9463 pub invoice_number: Option<String>,
9464 #[serde(rename = "MunicipalTax")]
9465 pub municipal_tax: Option<String>,
9466 #[serde(rename = "PackageLabel")]
9467 pub package_label: Option<String>,
9468 #[serde(rename = "Price")]
9469 pub price: Option<String>,
9470 #[serde(rename = "QrCodes")]
9471 pub qr_codes: Option<String>,
9472 #[serde(rename = "Quantity")]
9473 pub quantity: Option<i64>,
9474 #[serde(rename = "SalesTax")]
9475 pub sales_tax: Option<String>,
9476 #[serde(rename = "SubTotal")]
9477 pub sub_total: Option<String>,
9478 #[serde(rename = "TotalAmount")]
9479 pub total_amount: Option<f64>,
9480 #[serde(rename = "UnitOfMeasure")]
9481 pub unit_of_measure: Option<String>,
9482 #[serde(rename = "UnitThcContent")]
9483 pub unit_thc_content: Option<f64>,
9484 #[serde(rename = "UnitThcContentUnitOfMeasure")]
9485 pub unit_thc_content_unit_of_measure: Option<String>,
9486 #[serde(rename = "UnitThcPercent")]
9487 pub unit_thc_percent: Option<f64>,
9488 #[serde(rename = "UnitWeight")]
9489 pub unit_weight: Option<f64>,
9490 #[serde(rename = "UnitWeightUnitOfMeasure")]
9491 pub unit_weight_unit_of_measure: Option<String>,
9492}
9493
9494#[derive(Serialize, Deserialize, Debug, Clone)]
9495pub struct SalesUpdateDeliveryCompleteV1RequestItem {
9496 #[serde(rename = "AcceptedPackages")]
9497 pub accepted_packages: Option<Vec<String>>,
9498 #[serde(rename = "ActualArrivalDateTime")]
9499 pub actual_arrival_date_time: Option<String>,
9500 #[serde(rename = "Id")]
9501 pub id: Option<i64>,
9502 #[serde(rename = "PaymentType")]
9503 pub payment_type: Option<String>,
9504 #[serde(rename = "ReturnedPackages")]
9505 pub returned_packages: Option<Vec<SalesUpdateDeliveryCompleteV1RequestItemReturnedPackages>>,
9506}
9507
9508#[derive(Serialize, Deserialize, Debug, Clone)]
9509pub struct SalesUpdateDeliveryCompleteV1RequestItemReturnedPackages {
9510 #[serde(rename = "Label")]
9511 pub label: Option<String>,
9512 #[serde(rename = "ReturnQuantityVerified")]
9513 pub return_quantity_verified: Option<i64>,
9514 #[serde(rename = "ReturnReason")]
9515 pub return_reason: Option<String>,
9516 #[serde(rename = "ReturnReasonNote")]
9517 pub return_reason_note: Option<String>,
9518 #[serde(rename = "ReturnUnitOfMeasure")]
9519 pub return_unit_of_measure: Option<String>,
9520}
9521
9522#[derive(Serialize, Deserialize, Debug, Clone)]
9523pub struct SalesUpdateDeliveryCompleteV2RequestItem {
9524 #[serde(rename = "AcceptedPackages")]
9525 pub accepted_packages: Option<Vec<String>>,
9526 #[serde(rename = "ActualArrivalDateTime")]
9527 pub actual_arrival_date_time: Option<String>,
9528 #[serde(rename = "Id")]
9529 pub id: Option<i64>,
9530 #[serde(rename = "PaymentType")]
9531 pub payment_type: Option<String>,
9532 #[serde(rename = "ReturnedPackages")]
9533 pub returned_packages: Option<Vec<SalesUpdateDeliveryCompleteV2RequestItemReturnedPackages>>,
9534}
9535
9536#[derive(Serialize, Deserialize, Debug, Clone)]
9537pub struct SalesUpdateDeliveryCompleteV2RequestItemReturnedPackages {
9538 #[serde(rename = "Label")]
9539 pub label: Option<String>,
9540 #[serde(rename = "ReturnQuantityVerified")]
9541 pub return_quantity_verified: Option<i64>,
9542 #[serde(rename = "ReturnReason")]
9543 pub return_reason: Option<String>,
9544 #[serde(rename = "ReturnReasonNote")]
9545 pub return_reason_note: Option<String>,
9546 #[serde(rename = "ReturnUnitOfMeasure")]
9547 pub return_unit_of_measure: Option<String>,
9548}
9549
9550#[derive(Serialize, Deserialize, Debug, Clone)]
9551pub struct SalesUpdateDeliveryHubV1RequestItem {
9552 #[serde(rename = "DriverEmployeeId")]
9553 pub driver_employee_id: Option<String>,
9554 #[serde(rename = "DriverName")]
9555 pub driver_name: Option<String>,
9556 #[serde(rename = "DriversLicenseNumber")]
9557 pub drivers_license_number: Option<String>,
9558 #[serde(rename = "EstimatedArrivalDateTime")]
9559 pub estimated_arrival_date_time: Option<String>,
9560 #[serde(rename = "EstimatedDepartureDateTime")]
9561 pub estimated_departure_date_time: Option<String>,
9562 #[serde(rename = "Id")]
9563 pub id: Option<i64>,
9564 #[serde(rename = "PhoneNumberForQuestions")]
9565 pub phone_number_for_questions: Option<String>,
9566 #[serde(rename = "PlannedRoute")]
9567 pub planned_route: Option<String>,
9568 #[serde(rename = "TransporterFacilityId")]
9569 pub transporter_facility_id: Option<String>,
9570 #[serde(rename = "VehicleLicensePlateNumber")]
9571 pub vehicle_license_plate_number: Option<String>,
9572 #[serde(rename = "VehicleMake")]
9573 pub vehicle_make: Option<String>,
9574 #[serde(rename = "VehicleModel")]
9575 pub vehicle_model: Option<String>,
9576}
9577
9578#[derive(Serialize, Deserialize, Debug, Clone)]
9579pub struct SalesUpdateDeliveryHubV2RequestItem {
9580 #[serde(rename = "DriverEmployeeId")]
9581 pub driver_employee_id: Option<String>,
9582 #[serde(rename = "DriverName")]
9583 pub driver_name: Option<String>,
9584 #[serde(rename = "DriversLicenseNumber")]
9585 pub drivers_license_number: Option<String>,
9586 #[serde(rename = "EstimatedArrivalDateTime")]
9587 pub estimated_arrival_date_time: Option<String>,
9588 #[serde(rename = "EstimatedDepartureDateTime")]
9589 pub estimated_departure_date_time: Option<String>,
9590 #[serde(rename = "Id")]
9591 pub id: Option<i64>,
9592 #[serde(rename = "PhoneNumberForQuestions")]
9593 pub phone_number_for_questions: Option<String>,
9594 #[serde(rename = "PlannedRoute")]
9595 pub planned_route: Option<String>,
9596 #[serde(rename = "TransporterFacilityId")]
9597 pub transporter_facility_id: Option<String>,
9598 #[serde(rename = "VehicleLicensePlateNumber")]
9599 pub vehicle_license_plate_number: Option<String>,
9600 #[serde(rename = "VehicleMake")]
9601 pub vehicle_make: Option<String>,
9602 #[serde(rename = "VehicleModel")]
9603 pub vehicle_model: Option<String>,
9604}
9605
9606#[derive(Serialize, Deserialize, Debug, Clone)]
9607pub struct SalesUpdateDeliveryHubAcceptV1RequestItem {
9608 #[serde(rename = "Id")]
9609 pub id: Option<i64>,
9610}
9611
9612#[derive(Serialize, Deserialize, Debug, Clone)]
9613pub struct SalesUpdateDeliveryHubAcceptV2RequestItem {
9614 #[serde(rename = "Id")]
9615 pub id: Option<i64>,
9616}
9617
9618#[derive(Serialize, Deserialize, Debug, Clone)]
9619pub struct SalesUpdateDeliveryHubDepartV1RequestItem {
9620 #[serde(rename = "Id")]
9621 pub id: Option<i64>,
9622}
9623
9624#[derive(Serialize, Deserialize, Debug, Clone)]
9625pub struct SalesUpdateDeliveryHubDepartV2RequestItem {
9626 #[serde(rename = "Id")]
9627 pub id: Option<i64>,
9628}
9629
9630#[derive(Serialize, Deserialize, Debug, Clone)]
9631pub struct SalesUpdateDeliveryHubVerifyIdV1RequestItem {
9632 #[serde(rename = "Id")]
9633 pub id: Option<i64>,
9634 #[serde(rename = "PaymentType")]
9635 pub payment_type: Option<String>,
9636}
9637
9638#[derive(Serialize, Deserialize, Debug, Clone)]
9639pub struct SalesUpdateDeliveryHubVerifyIdV2RequestItem {
9640 #[serde(rename = "Id")]
9641 pub id: Option<i64>,
9642 #[serde(rename = "PaymentType")]
9643 pub payment_type: Option<String>,
9644}
9645
9646#[derive(Serialize, Deserialize, Debug, Clone)]
9647pub struct SalesUpdateDeliveryRetailerV1RequestItem {
9648 #[serde(rename = "DateTime")]
9649 pub date_time: Option<String>,
9650 #[serde(rename = "Destinations")]
9651 pub destinations: Option<Vec<SalesUpdateDeliveryRetailerV1RequestItemDestinations>>,
9652 #[serde(rename = "DriverEmployeeId")]
9653 pub driver_employee_id: Option<String>,
9654 #[serde(rename = "DriverName")]
9655 pub driver_name: Option<String>,
9656 #[serde(rename = "DriversLicenseNumber")]
9657 pub drivers_license_number: Option<String>,
9658 #[serde(rename = "EstimatedDepartureDateTime")]
9659 pub estimated_departure_date_time: Option<String>,
9660 #[serde(rename = "Id")]
9661 pub id: Option<i64>,
9662 #[serde(rename = "Packages")]
9663 pub packages: Option<Vec<SalesUpdateDeliveryRetailerV1RequestItemPackages>>,
9664 #[serde(rename = "PhoneNumberForQuestions")]
9665 pub phone_number_for_questions: Option<String>,
9666 #[serde(rename = "VehicleLicensePlateNumber")]
9667 pub vehicle_license_plate_number: Option<String>,
9668 #[serde(rename = "VehicleMake")]
9669 pub vehicle_make: Option<String>,
9670 #[serde(rename = "VehicleModel")]
9671 pub vehicle_model: Option<String>,
9672}
9673
9674#[derive(Serialize, Deserialize, Debug, Clone)]
9675pub struct SalesUpdateDeliveryRetailerV1RequestItemDestinations {
9676 #[serde(rename = "ConsumerId")]
9677 pub consumer_id: Option<String>,
9678 #[serde(rename = "DriverEmployeeId")]
9679 pub driver_employee_id: Option<i64>,
9680 #[serde(rename = "DriverName")]
9681 pub driver_name: Option<String>,
9682 #[serde(rename = "DriversLicenseNumber")]
9683 pub drivers_license_number: Option<String>,
9684 #[serde(rename = "EstimatedArrivalDateTime")]
9685 pub estimated_arrival_date_time: Option<String>,
9686 #[serde(rename = "EstimatedDepartureDateTime")]
9687 pub estimated_departure_date_time: Option<String>,
9688 #[serde(rename = "Id")]
9689 pub id: Option<i64>,
9690 #[serde(rename = "PatientLicenseNumber")]
9691 pub patient_license_number: Option<String>,
9692 #[serde(rename = "PhoneNumberForQuestions")]
9693 pub phone_number_for_questions: Option<String>,
9694 #[serde(rename = "PlannedRoute")]
9695 pub planned_route: Option<String>,
9696 #[serde(rename = "RecipientAddressCity")]
9697 pub recipient_address_city: Option<String>,
9698 #[serde(rename = "RecipientAddressCounty")]
9699 pub recipient_address_county: Option<String>,
9700 #[serde(rename = "RecipientAddressPostalCode")]
9701 pub recipient_address_postal_code: Option<String>,
9702 #[serde(rename = "RecipientAddressState")]
9703 pub recipient_address_state: Option<String>,
9704 #[serde(rename = "RecipientAddressStreet1")]
9705 pub recipient_address_street1: Option<String>,
9706 #[serde(rename = "RecipientAddressStreet2")]
9707 pub recipient_address_street2: Option<String>,
9708 #[serde(rename = "RecipientName")]
9709 pub recipient_name: Option<String>,
9710 #[serde(rename = "RecipientZoneId")]
9711 pub recipient_zone_id: Option<String>,
9712 #[serde(rename = "SalesCustomerType")]
9713 pub sales_customer_type: Option<String>,
9714 #[serde(rename = "SalesDateTime")]
9715 pub sales_date_time: Option<String>,
9716 #[serde(rename = "Transactions")]
9717 pub transactions: Option<Vec<SalesUpdateDeliveryRetailerV1RequestItemDestinationsTransactions>>,
9718 #[serde(rename = "VehicleLicensePlateNumber")]
9719 pub vehicle_license_plate_number: Option<String>,
9720 #[serde(rename = "VehicleMake")]
9721 pub vehicle_make: Option<String>,
9722 #[serde(rename = "VehicleModel")]
9723 pub vehicle_model: Option<String>,
9724}
9725
9726#[derive(Serialize, Deserialize, Debug, Clone)]
9727pub struct SalesUpdateDeliveryRetailerV1RequestItemDestinationsTransactions {
9728 #[serde(rename = "CityTax")]
9729 pub city_tax: Option<String>,
9730 #[serde(rename = "CountyTax")]
9731 pub county_tax: Option<String>,
9732 #[serde(rename = "DiscountAmount")]
9733 pub discount_amount: Option<String>,
9734 #[serde(rename = "ExciseTax")]
9735 pub excise_tax: Option<String>,
9736 #[serde(rename = "InvoiceNumber")]
9737 pub invoice_number: Option<String>,
9738 #[serde(rename = "MunicipalTax")]
9739 pub municipal_tax: Option<String>,
9740 #[serde(rename = "PackageLabel")]
9741 pub package_label: Option<String>,
9742 #[serde(rename = "Price")]
9743 pub price: Option<String>,
9744 #[serde(rename = "QrCodes")]
9745 pub qr_codes: Option<String>,
9746 #[serde(rename = "Quantity")]
9747 pub quantity: Option<i64>,
9748 #[serde(rename = "SalesTax")]
9749 pub sales_tax: Option<String>,
9750 #[serde(rename = "SubTotal")]
9751 pub sub_total: Option<String>,
9752 #[serde(rename = "TotalAmount")]
9753 pub total_amount: Option<f64>,
9754 #[serde(rename = "UnitOfMeasure")]
9755 pub unit_of_measure: Option<String>,
9756 #[serde(rename = "UnitThcContent")]
9757 pub unit_thc_content: Option<f64>,
9758 #[serde(rename = "UnitThcContentUnitOfMeasure")]
9759 pub unit_thc_content_unit_of_measure: Option<String>,
9760 #[serde(rename = "UnitThcPercent")]
9761 pub unit_thc_percent: Option<f64>,
9762 #[serde(rename = "UnitWeight")]
9763 pub unit_weight: Option<f64>,
9764 #[serde(rename = "UnitWeightUnitOfMeasure")]
9765 pub unit_weight_unit_of_measure: Option<String>,
9766}
9767
9768#[derive(Serialize, Deserialize, Debug, Clone)]
9769pub struct SalesUpdateDeliveryRetailerV1RequestItemPackages {
9770 #[serde(rename = "DateTime")]
9771 pub date_time: Option<String>,
9772 #[serde(rename = "PackageLabel")]
9773 pub package_label: Option<String>,
9774 #[serde(rename = "Quantity")]
9775 pub quantity: Option<i64>,
9776 #[serde(rename = "TotalPrice")]
9777 pub total_price: Option<f64>,
9778 #[serde(rename = "UnitOfMeasure")]
9779 pub unit_of_measure: Option<String>,
9780}
9781
9782#[derive(Serialize, Deserialize, Debug, Clone)]
9783pub struct SalesUpdateDeliveryRetailerV2RequestItem {
9784 #[serde(rename = "DateTime")]
9785 pub date_time: Option<String>,
9786 #[serde(rename = "Destinations")]
9787 pub destinations: Option<Vec<SalesUpdateDeliveryRetailerV2RequestItemDestinations>>,
9788 #[serde(rename = "DriverEmployeeId")]
9789 pub driver_employee_id: Option<String>,
9790 #[serde(rename = "DriverName")]
9791 pub driver_name: Option<String>,
9792 #[serde(rename = "DriversLicenseNumber")]
9793 pub drivers_license_number: Option<String>,
9794 #[serde(rename = "EstimatedDepartureDateTime")]
9795 pub estimated_departure_date_time: Option<String>,
9796 #[serde(rename = "Id")]
9797 pub id: Option<i64>,
9798 #[serde(rename = "Packages")]
9799 pub packages: Option<Vec<SalesUpdateDeliveryRetailerV2RequestItemPackages>>,
9800 #[serde(rename = "PhoneNumberForQuestions")]
9801 pub phone_number_for_questions: Option<String>,
9802 #[serde(rename = "VehicleLicensePlateNumber")]
9803 pub vehicle_license_plate_number: Option<String>,
9804 #[serde(rename = "VehicleMake")]
9805 pub vehicle_make: Option<String>,
9806 #[serde(rename = "VehicleModel")]
9807 pub vehicle_model: Option<String>,
9808}
9809
9810#[derive(Serialize, Deserialize, Debug, Clone)]
9811pub struct SalesUpdateDeliveryRetailerV2RequestItemDestinations {
9812 #[serde(rename = "ConsumerId")]
9813 pub consumer_id: Option<String>,
9814 #[serde(rename = "DriverEmployeeId")]
9815 pub driver_employee_id: Option<i64>,
9816 #[serde(rename = "DriverName")]
9817 pub driver_name: Option<String>,
9818 #[serde(rename = "DriversLicenseNumber")]
9819 pub drivers_license_number: Option<String>,
9820 #[serde(rename = "EstimatedArrivalDateTime")]
9821 pub estimated_arrival_date_time: Option<String>,
9822 #[serde(rename = "EstimatedDepartureDateTime")]
9823 pub estimated_departure_date_time: Option<String>,
9824 #[serde(rename = "Id")]
9825 pub id: Option<i64>,
9826 #[serde(rename = "PatientLicenseNumber")]
9827 pub patient_license_number: Option<String>,
9828 #[serde(rename = "PhoneNumberForQuestions")]
9829 pub phone_number_for_questions: Option<String>,
9830 #[serde(rename = "PlannedRoute")]
9831 pub planned_route: Option<String>,
9832 #[serde(rename = "RecipientAddressCity")]
9833 pub recipient_address_city: Option<String>,
9834 #[serde(rename = "RecipientAddressCounty")]
9835 pub recipient_address_county: Option<String>,
9836 #[serde(rename = "RecipientAddressPostalCode")]
9837 pub recipient_address_postal_code: Option<String>,
9838 #[serde(rename = "RecipientAddressState")]
9839 pub recipient_address_state: Option<String>,
9840 #[serde(rename = "RecipientAddressStreet1")]
9841 pub recipient_address_street1: Option<String>,
9842 #[serde(rename = "RecipientAddressStreet2")]
9843 pub recipient_address_street2: Option<String>,
9844 #[serde(rename = "RecipientName")]
9845 pub recipient_name: Option<String>,
9846 #[serde(rename = "RecipientZoneId")]
9847 pub recipient_zone_id: Option<String>,
9848 #[serde(rename = "SalesCustomerType")]
9849 pub sales_customer_type: Option<String>,
9850 #[serde(rename = "SalesDateTime")]
9851 pub sales_date_time: Option<String>,
9852 #[serde(rename = "Transactions")]
9853 pub transactions: Option<Vec<SalesUpdateDeliveryRetailerV2RequestItemDestinationsTransactions>>,
9854 #[serde(rename = "VehicleLicensePlateNumber")]
9855 pub vehicle_license_plate_number: Option<String>,
9856 #[serde(rename = "VehicleMake")]
9857 pub vehicle_make: Option<String>,
9858 #[serde(rename = "VehicleModel")]
9859 pub vehicle_model: Option<String>,
9860}
9861
9862#[derive(Serialize, Deserialize, Debug, Clone)]
9863pub struct SalesUpdateDeliveryRetailerV2RequestItemDestinationsTransactions {
9864 #[serde(rename = "CityTax")]
9865 pub city_tax: Option<String>,
9866 #[serde(rename = "CountyTax")]
9867 pub county_tax: Option<String>,
9868 #[serde(rename = "DiscountAmount")]
9869 pub discount_amount: Option<String>,
9870 #[serde(rename = "ExciseTax")]
9871 pub excise_tax: Option<String>,
9872 #[serde(rename = "InvoiceNumber")]
9873 pub invoice_number: Option<String>,
9874 #[serde(rename = "MunicipalTax")]
9875 pub municipal_tax: Option<String>,
9876 #[serde(rename = "PackageLabel")]
9877 pub package_label: Option<String>,
9878 #[serde(rename = "Price")]
9879 pub price: Option<String>,
9880 #[serde(rename = "QrCodes")]
9881 pub qr_codes: Option<String>,
9882 #[serde(rename = "Quantity")]
9883 pub quantity: Option<i64>,
9884 #[serde(rename = "SalesTax")]
9885 pub sales_tax: Option<String>,
9886 #[serde(rename = "SubTotal")]
9887 pub sub_total: Option<String>,
9888 #[serde(rename = "TotalAmount")]
9889 pub total_amount: Option<f64>,
9890 #[serde(rename = "UnitOfMeasure")]
9891 pub unit_of_measure: Option<String>,
9892 #[serde(rename = "UnitThcContent")]
9893 pub unit_thc_content: Option<f64>,
9894 #[serde(rename = "UnitThcContentUnitOfMeasure")]
9895 pub unit_thc_content_unit_of_measure: Option<String>,
9896 #[serde(rename = "UnitThcPercent")]
9897 pub unit_thc_percent: Option<f64>,
9898 #[serde(rename = "UnitWeight")]
9899 pub unit_weight: Option<f64>,
9900 #[serde(rename = "UnitWeightUnitOfMeasure")]
9901 pub unit_weight_unit_of_measure: Option<String>,
9902}
9903
9904#[derive(Serialize, Deserialize, Debug, Clone)]
9905pub struct SalesUpdateDeliveryRetailerV2RequestItemPackages {
9906 #[serde(rename = "DateTime")]
9907 pub date_time: Option<String>,
9908 #[serde(rename = "PackageLabel")]
9909 pub package_label: Option<String>,
9910 #[serde(rename = "Quantity")]
9911 pub quantity: Option<i64>,
9912 #[serde(rename = "TotalPrice")]
9913 pub total_price: Option<f64>,
9914 #[serde(rename = "UnitOfMeasure")]
9915 pub unit_of_measure: Option<String>,
9916}
9917
9918#[derive(Serialize, Deserialize, Debug, Clone)]
9919pub struct SalesUpdateReceiptV1RequestItem {
9920 #[serde(rename = "CaregiverLicenseNumber")]
9921 pub caregiver_license_number: Option<String>,
9922 #[serde(rename = "ExternalReceiptNumber")]
9923 pub external_receipt_number: Option<String>,
9924 #[serde(rename = "Id")]
9925 pub id: Option<i64>,
9926 #[serde(rename = "IdentificationMethod")]
9927 pub identification_method: Option<String>,
9928 #[serde(rename = "PatientLicenseNumber")]
9929 pub patient_license_number: Option<String>,
9930 #[serde(rename = "PatientRegistrationLocationId")]
9931 pub patient_registration_location_id: Option<i64>,
9932 #[serde(rename = "SalesCustomerType")]
9933 pub sales_customer_type: Option<String>,
9934 #[serde(rename = "SalesDateTime")]
9935 pub sales_date_time: Option<String>,
9936 #[serde(rename = "Transactions")]
9937 pub transactions: Option<Vec<SalesUpdateReceiptV1RequestItemTransactions>>,
9938}
9939
9940#[derive(Serialize, Deserialize, Debug, Clone)]
9941pub struct SalesUpdateReceiptV1RequestItemTransactions {
9942 #[serde(rename = "CityTax")]
9943 pub city_tax: Option<String>,
9944 #[serde(rename = "CountyTax")]
9945 pub county_tax: Option<String>,
9946 #[serde(rename = "DiscountAmount")]
9947 pub discount_amount: Option<String>,
9948 #[serde(rename = "ExciseTax")]
9949 pub excise_tax: Option<String>,
9950 #[serde(rename = "InvoiceNumber")]
9951 pub invoice_number: Option<String>,
9952 #[serde(rename = "MunicipalTax")]
9953 pub municipal_tax: Option<String>,
9954 #[serde(rename = "PackageLabel")]
9955 pub package_label: Option<String>,
9956 #[serde(rename = "Price")]
9957 pub price: Option<String>,
9958 #[serde(rename = "QrCodes")]
9959 pub qr_codes: Option<String>,
9960 #[serde(rename = "Quantity")]
9961 pub quantity: Option<i64>,
9962 #[serde(rename = "SalesTax")]
9963 pub sales_tax: Option<String>,
9964 #[serde(rename = "SubTotal")]
9965 pub sub_total: Option<String>,
9966 #[serde(rename = "TotalAmount")]
9967 pub total_amount: Option<f64>,
9968 #[serde(rename = "UnitOfMeasure")]
9969 pub unit_of_measure: Option<String>,
9970 #[serde(rename = "UnitThcContent")]
9971 pub unit_thc_content: Option<f64>,
9972 #[serde(rename = "UnitThcContentUnitOfMeasure")]
9973 pub unit_thc_content_unit_of_measure: Option<String>,
9974 #[serde(rename = "UnitThcPercent")]
9975 pub unit_thc_percent: Option<f64>,
9976 #[serde(rename = "UnitWeight")]
9977 pub unit_weight: Option<f64>,
9978 #[serde(rename = "UnitWeightUnitOfMeasure")]
9979 pub unit_weight_unit_of_measure: Option<String>,
9980}
9981
9982#[derive(Serialize, Deserialize, Debug, Clone)]
9983pub struct SalesUpdateReceiptV2RequestItem {
9984 #[serde(rename = "CaregiverLicenseNumber")]
9985 pub caregiver_license_number: Option<String>,
9986 #[serde(rename = "ExternalReceiptNumber")]
9987 pub external_receipt_number: Option<String>,
9988 #[serde(rename = "Id")]
9989 pub id: Option<i64>,
9990 #[serde(rename = "IdentificationMethod")]
9991 pub identification_method: Option<String>,
9992 #[serde(rename = "PatientLicenseNumber")]
9993 pub patient_license_number: Option<String>,
9994 #[serde(rename = "PatientRegistrationLocationId")]
9995 pub patient_registration_location_id: Option<i64>,
9996 #[serde(rename = "SalesCustomerType")]
9997 pub sales_customer_type: Option<String>,
9998 #[serde(rename = "SalesDateTime")]
9999 pub sales_date_time: Option<String>,
10000 #[serde(rename = "Transactions")]
10001 pub transactions: Option<Vec<SalesUpdateReceiptV2RequestItemTransactions>>,
10002}
10003
10004#[derive(Serialize, Deserialize, Debug, Clone)]
10005pub struct SalesUpdateReceiptV2RequestItemTransactions {
10006 #[serde(rename = "CityTax")]
10007 pub city_tax: Option<String>,
10008 #[serde(rename = "CountyTax")]
10009 pub county_tax: Option<String>,
10010 #[serde(rename = "DiscountAmount")]
10011 pub discount_amount: Option<String>,
10012 #[serde(rename = "ExciseTax")]
10013 pub excise_tax: Option<String>,
10014 #[serde(rename = "InvoiceNumber")]
10015 pub invoice_number: Option<String>,
10016 #[serde(rename = "MunicipalTax")]
10017 pub municipal_tax: Option<String>,
10018 #[serde(rename = "PackageLabel")]
10019 pub package_label: Option<String>,
10020 #[serde(rename = "Price")]
10021 pub price: Option<String>,
10022 #[serde(rename = "QrCodes")]
10023 pub qr_codes: Option<String>,
10024 #[serde(rename = "Quantity")]
10025 pub quantity: Option<i64>,
10026 #[serde(rename = "SalesTax")]
10027 pub sales_tax: Option<String>,
10028 #[serde(rename = "SubTotal")]
10029 pub sub_total: Option<String>,
10030 #[serde(rename = "TotalAmount")]
10031 pub total_amount: Option<f64>,
10032 #[serde(rename = "UnitOfMeasure")]
10033 pub unit_of_measure: Option<String>,
10034 #[serde(rename = "UnitThcContent")]
10035 pub unit_thc_content: Option<f64>,
10036 #[serde(rename = "UnitThcContentUnitOfMeasure")]
10037 pub unit_thc_content_unit_of_measure: Option<String>,
10038 #[serde(rename = "UnitThcPercent")]
10039 pub unit_thc_percent: Option<f64>,
10040 #[serde(rename = "UnitWeight")]
10041 pub unit_weight: Option<f64>,
10042 #[serde(rename = "UnitWeightUnitOfMeasure")]
10043 pub unit_weight_unit_of_measure: Option<String>,
10044}
10045
10046#[derive(Serialize, Deserialize, Debug, Clone)]
10047pub struct SalesUpdateReceiptFinalizeV2RequestItem {
10048 #[serde(rename = "Id")]
10049 pub id: Option<i64>,
10050}
10051
10052#[derive(Serialize, Deserialize, Debug, Clone)]
10053pub struct SalesUpdateReceiptUnfinalizeV2RequestItem {
10054 #[serde(rename = "Id")]
10055 pub id: Option<i64>,
10056}
10057
10058#[derive(Serialize, Deserialize, Debug, Clone)]
10059pub struct SalesUpdateTransactionByDateV1RequestItem {
10060 #[serde(rename = "CityTax")]
10061 pub city_tax: Option<String>,
10062 #[serde(rename = "CountyTax")]
10063 pub county_tax: Option<String>,
10064 #[serde(rename = "DiscountAmount")]
10065 pub discount_amount: Option<String>,
10066 #[serde(rename = "ExciseTax")]
10067 pub excise_tax: Option<String>,
10068 #[serde(rename = "InvoiceNumber")]
10069 pub invoice_number: Option<String>,
10070 #[serde(rename = "MunicipalTax")]
10071 pub municipal_tax: Option<String>,
10072 #[serde(rename = "PackageLabel")]
10073 pub package_label: Option<String>,
10074 #[serde(rename = "Price")]
10075 pub price: Option<String>,
10076 #[serde(rename = "QrCodes")]
10077 pub qr_codes: Option<String>,
10078 #[serde(rename = "Quantity")]
10079 pub quantity: Option<i64>,
10080 #[serde(rename = "SalesTax")]
10081 pub sales_tax: Option<String>,
10082 #[serde(rename = "SubTotal")]
10083 pub sub_total: Option<String>,
10084 #[serde(rename = "TotalAmount")]
10085 pub total_amount: Option<f64>,
10086 #[serde(rename = "UnitOfMeasure")]
10087 pub unit_of_measure: Option<String>,
10088 #[serde(rename = "UnitThcContent")]
10089 pub unit_thc_content: Option<f64>,
10090 #[serde(rename = "UnitThcContentUnitOfMeasure")]
10091 pub unit_thc_content_unit_of_measure: Option<String>,
10092 #[serde(rename = "UnitThcPercent")]
10093 pub unit_thc_percent: Option<f64>,
10094 #[serde(rename = "UnitWeight")]
10095 pub unit_weight: Option<f64>,
10096 #[serde(rename = "UnitWeightUnitOfMeasure")]
10097 pub unit_weight_unit_of_measure: Option<String>,
10098}
10099
10100#[derive(Serialize, Deserialize, Debug, Clone)]
10101pub struct StrainsCreateV1RequestItem {
10102 #[serde(rename = "CbdLevel")]
10103 pub cbd_level: Option<f64>,
10104 #[serde(rename = "IndicaPercentage")]
10105 pub indica_percentage: Option<f64>,
10106 #[serde(rename = "Name")]
10107 pub name: Option<String>,
10108 #[serde(rename = "SativaPercentage")]
10109 pub sativa_percentage: Option<f64>,
10110 #[serde(rename = "TestingStatus")]
10111 pub testing_status: Option<String>,
10112 #[serde(rename = "ThcLevel")]
10113 pub thc_level: Option<f64>,
10114}
10115
10116#[derive(Serialize, Deserialize, Debug, Clone)]
10117pub struct StrainsCreateV2RequestItem {
10118 #[serde(rename = "CbdLevel")]
10119 pub cbd_level: Option<f64>,
10120 #[serde(rename = "IndicaPercentage")]
10121 pub indica_percentage: Option<f64>,
10122 #[serde(rename = "Name")]
10123 pub name: Option<String>,
10124 #[serde(rename = "SativaPercentage")]
10125 pub sativa_percentage: Option<f64>,
10126 #[serde(rename = "TestingStatus")]
10127 pub testing_status: Option<String>,
10128 #[serde(rename = "ThcLevel")]
10129 pub thc_level: Option<f64>,
10130}
10131
10132#[derive(Serialize, Deserialize, Debug, Clone)]
10133pub struct StrainsCreateUpdateV1RequestItem {
10134 #[serde(rename = "CbdLevel")]
10135 pub cbd_level: Option<f64>,
10136 #[serde(rename = "Id")]
10137 pub id: Option<i64>,
10138 #[serde(rename = "IndicaPercentage")]
10139 pub indica_percentage: Option<f64>,
10140 #[serde(rename = "Name")]
10141 pub name: Option<String>,
10142 #[serde(rename = "SativaPercentage")]
10143 pub sativa_percentage: Option<f64>,
10144 #[serde(rename = "TestingStatus")]
10145 pub testing_status: Option<String>,
10146 #[serde(rename = "ThcLevel")]
10147 pub thc_level: Option<f64>,
10148}
10149
10150#[derive(Serialize, Deserialize, Debug, Clone)]
10151pub struct StrainsUpdateV2RequestItem {
10152 #[serde(rename = "CbdLevel")]
10153 pub cbd_level: Option<f64>,
10154 #[serde(rename = "Id")]
10155 pub id: Option<i64>,
10156 #[serde(rename = "IndicaPercentage")]
10157 pub indica_percentage: Option<f64>,
10158 #[serde(rename = "Name")]
10159 pub name: Option<String>,
10160 #[serde(rename = "SativaPercentage")]
10161 pub sativa_percentage: Option<f64>,
10162 #[serde(rename = "TestingStatus")]
10163 pub testing_status: Option<String>,
10164 #[serde(rename = "ThcLevel")]
10165 pub thc_level: Option<f64>,
10166}
10167
10168#[derive(Serialize, Deserialize, Debug, Clone)]
10169pub struct TransportersCreateDriverV2RequestItem {
10170 #[serde(rename = "DriversLicenseNumber")]
10171 pub drivers_license_number: Option<String>,
10172 #[serde(rename = "EmployeeId")]
10173 pub employee_id: Option<String>,
10174 #[serde(rename = "Name")]
10175 pub name: Option<String>,
10176}
10177
10178#[derive(Serialize, Deserialize, Debug, Clone)]
10179pub struct TransportersCreateVehicleV2RequestItem {
10180 #[serde(rename = "LicensePlateNumber")]
10181 pub license_plate_number: Option<String>,
10182 #[serde(rename = "Make")]
10183 pub make: Option<String>,
10184 #[serde(rename = "Model")]
10185 pub model: Option<String>,
10186}
10187
10188#[derive(Serialize, Deserialize, Debug, Clone)]
10189pub struct TransportersUpdateDriverV2RequestItem {
10190 #[serde(rename = "DriversLicenseNumber")]
10191 pub drivers_license_number: Option<String>,
10192 #[serde(rename = "EmployeeId")]
10193 pub employee_id: Option<String>,
10194 #[serde(rename = "Id")]
10195 pub id: Option<String>,
10196 #[serde(rename = "Name")]
10197 pub name: Option<String>,
10198}
10199
10200#[derive(Serialize, Deserialize, Debug, Clone)]
10201pub struct TransportersUpdateVehicleV2RequestItem {
10202 #[serde(rename = "Id")]
10203 pub id: Option<String>,
10204 #[serde(rename = "LicensePlateNumber")]
10205 pub license_plate_number: Option<String>,
10206 #[serde(rename = "Make")]
10207 pub make: Option<String>,
10208 #[serde(rename = "Model")]
10209 pub model: Option<String>,
10210}
10211
10212#[derive(Serialize, Deserialize, Debug, Clone)]
10213pub struct PlantsCreateAdditivesV1RequestItem {
10214 #[serde(rename = "ActiveIngredients")]
10215 pub active_ingredients: Option<Vec<PlantsCreateAdditivesV1RequestItemActiveIngredients>>,
10216 #[serde(rename = "ActualDate")]
10217 pub actual_date: Option<String>,
10218 #[serde(rename = "AdditiveType")]
10219 pub additive_type: Option<String>,
10220 #[serde(rename = "ApplicationDevice")]
10221 pub application_device: Option<String>,
10222 #[serde(rename = "EpaRegistrationNumber")]
10223 pub epa_registration_number: Option<String>,
10224 #[serde(rename = "PlantLabels")]
10225 pub plant_labels: Option<Vec<String>>,
10226 #[serde(rename = "ProductSupplier")]
10227 pub product_supplier: Option<String>,
10228 #[serde(rename = "ProductTradeName")]
10229 pub product_trade_name: Option<String>,
10230 #[serde(rename = "TotalAmountApplied")]
10231 pub total_amount_applied: Option<i64>,
10232 #[serde(rename = "TotalAmountUnitOfMeasure")]
10233 pub total_amount_unit_of_measure: Option<String>,
10234}
10235
10236#[derive(Serialize, Deserialize, Debug, Clone)]
10237pub struct PlantsCreateAdditivesV1RequestItemActiveIngredients {
10238 #[serde(rename = "Name")]
10239 pub name: Option<String>,
10240 #[serde(rename = "Percentage")]
10241 pub percentage: Option<f64>,
10242}
10243
10244#[derive(Serialize, Deserialize, Debug, Clone)]
10245pub struct PlantsCreateAdditivesV2RequestItem {
10246 #[serde(rename = "ActiveIngredients")]
10247 pub active_ingredients: Option<Vec<PlantsCreateAdditivesV2RequestItemActiveIngredients>>,
10248 #[serde(rename = "ActualDate")]
10249 pub actual_date: Option<String>,
10250 #[serde(rename = "AdditiveType")]
10251 pub additive_type: Option<String>,
10252 #[serde(rename = "ApplicationDevice")]
10253 pub application_device: Option<String>,
10254 #[serde(rename = "EpaRegistrationNumber")]
10255 pub epa_registration_number: Option<String>,
10256 #[serde(rename = "PlantLabels")]
10257 pub plant_labels: Option<Vec<String>>,
10258 #[serde(rename = "ProductSupplier")]
10259 pub product_supplier: Option<String>,
10260 #[serde(rename = "ProductTradeName")]
10261 pub product_trade_name: Option<String>,
10262 #[serde(rename = "TotalAmountApplied")]
10263 pub total_amount_applied: Option<i64>,
10264 #[serde(rename = "TotalAmountUnitOfMeasure")]
10265 pub total_amount_unit_of_measure: Option<String>,
10266}
10267
10268#[derive(Serialize, Deserialize, Debug, Clone)]
10269pub struct PlantsCreateAdditivesV2RequestItemActiveIngredients {
10270 #[serde(rename = "Name")]
10271 pub name: Option<String>,
10272 #[serde(rename = "Percentage")]
10273 pub percentage: Option<f64>,
10274}
10275
10276#[derive(Serialize, Deserialize, Debug, Clone)]
10277pub struct PlantsCreateAdditivesBylocationV1RequestItem {
10278 #[serde(rename = "ActiveIngredients")]
10279 pub active_ingredients: Option<Vec<PlantsCreateAdditivesBylocationV1RequestItemActiveIngredients>>,
10280 #[serde(rename = "ActualDate")]
10281 pub actual_date: Option<String>,
10282 #[serde(rename = "AdditiveType")]
10283 pub additive_type: Option<String>,
10284 #[serde(rename = "ApplicationDevice")]
10285 pub application_device: Option<String>,
10286 #[serde(rename = "EpaRegistrationNumber")]
10287 pub epa_registration_number: Option<String>,
10288 #[serde(rename = "LocationName")]
10289 pub location_name: Option<String>,
10290 #[serde(rename = "ProductSupplier")]
10291 pub product_supplier: Option<String>,
10292 #[serde(rename = "ProductTradeName")]
10293 pub product_trade_name: Option<String>,
10294 #[serde(rename = "SublocationName")]
10295 pub sublocation_name: Option<String>,
10296 #[serde(rename = "TotalAmountApplied")]
10297 pub total_amount_applied: Option<i64>,
10298 #[serde(rename = "TotalAmountUnitOfMeasure")]
10299 pub total_amount_unit_of_measure: Option<String>,
10300}
10301
10302#[derive(Serialize, Deserialize, Debug, Clone)]
10303pub struct PlantsCreateAdditivesBylocationV1RequestItemActiveIngredients {
10304 #[serde(rename = "Name")]
10305 pub name: Option<String>,
10306 #[serde(rename = "Percentage")]
10307 pub percentage: Option<f64>,
10308}
10309
10310#[derive(Serialize, Deserialize, Debug, Clone)]
10311pub struct PlantsCreateAdditivesBylocationV2RequestItem {
10312 #[serde(rename = "ActiveIngredients")]
10313 pub active_ingredients: Option<Vec<PlantsCreateAdditivesBylocationV2RequestItemActiveIngredients>>,
10314 #[serde(rename = "ActualDate")]
10315 pub actual_date: Option<String>,
10316 #[serde(rename = "AdditiveType")]
10317 pub additive_type: Option<String>,
10318 #[serde(rename = "ApplicationDevice")]
10319 pub application_device: Option<String>,
10320 #[serde(rename = "EpaRegistrationNumber")]
10321 pub epa_registration_number: Option<String>,
10322 #[serde(rename = "LocationName")]
10323 pub location_name: Option<String>,
10324 #[serde(rename = "ProductSupplier")]
10325 pub product_supplier: Option<String>,
10326 #[serde(rename = "ProductTradeName")]
10327 pub product_trade_name: Option<String>,
10328 #[serde(rename = "SublocationName")]
10329 pub sublocation_name: Option<String>,
10330 #[serde(rename = "TotalAmountApplied")]
10331 pub total_amount_applied: Option<i64>,
10332 #[serde(rename = "TotalAmountUnitOfMeasure")]
10333 pub total_amount_unit_of_measure: Option<String>,
10334}
10335
10336#[derive(Serialize, Deserialize, Debug, Clone)]
10337pub struct PlantsCreateAdditivesBylocationV2RequestItemActiveIngredients {
10338 #[serde(rename = "Name")]
10339 pub name: Option<String>,
10340 #[serde(rename = "Percentage")]
10341 pub percentage: Option<f64>,
10342}
10343
10344#[derive(Serialize, Deserialize, Debug, Clone)]
10345pub struct PlantsCreateAdditivesBylocationUsingtemplateV2RequestItem {
10346 #[serde(rename = "ActualDate")]
10347 pub actual_date: Option<String>,
10348 #[serde(rename = "AdditivesTemplateName")]
10349 pub additives_template_name: Option<String>,
10350 #[serde(rename = "LocationName")]
10351 pub location_name: Option<String>,
10352 #[serde(rename = "Rate")]
10353 pub rate: Option<String>,
10354 #[serde(rename = "SublocationName")]
10355 pub sublocation_name: Option<String>,
10356 #[serde(rename = "TotalAmountApplied")]
10357 pub total_amount_applied: Option<i64>,
10358 #[serde(rename = "TotalAmountUnitOfMeasure")]
10359 pub total_amount_unit_of_measure: Option<String>,
10360 #[serde(rename = "Volume")]
10361 pub volume: Option<String>,
10362}
10363
10364#[derive(Serialize, Deserialize, Debug, Clone)]
10365pub struct PlantsCreateAdditivesUsingtemplateV2RequestItem {
10366 #[serde(rename = "ActualDate")]
10367 pub actual_date: Option<String>,
10368 #[serde(rename = "AdditivesTemplateName")]
10369 pub additives_template_name: Option<String>,
10370 #[serde(rename = "PlantLabels")]
10371 pub plant_labels: Option<Vec<String>>,
10372 #[serde(rename = "Rate")]
10373 pub rate: Option<String>,
10374 #[serde(rename = "TotalAmountApplied")]
10375 pub total_amount_applied: Option<i64>,
10376 #[serde(rename = "TotalAmountUnitOfMeasure")]
10377 pub total_amount_unit_of_measure: Option<String>,
10378 #[serde(rename = "Volume")]
10379 pub volume: Option<String>,
10380}
10381
10382#[derive(Serialize, Deserialize, Debug, Clone)]
10383pub struct PlantsCreateChangegrowthphasesV1RequestItem {
10384 #[serde(rename = "GrowthDate")]
10385 pub growth_date: Option<String>,
10386 #[serde(rename = "GrowthPhase")]
10387 pub growth_phase: Option<String>,
10388 #[serde(rename = "Id")]
10389 pub id: Option<i64>,
10390 #[serde(rename = "Label")]
10391 pub label: Option<String>,
10392 #[serde(rename = "NewLocation")]
10393 pub new_location: Option<String>,
10394 #[serde(rename = "NewSublocation")]
10395 pub new_sublocation: Option<String>,
10396 #[serde(rename = "NewTag")]
10397 pub new_tag: Option<String>,
10398}
10399
10400#[derive(Serialize, Deserialize, Debug, Clone)]
10401pub struct PlantsCreateHarvestplantsV1RequestItem {
10402 #[serde(rename = "ActualDate")]
10403 pub actual_date: Option<String>,
10404 #[serde(rename = "DryingLocation")]
10405 pub drying_location: Option<String>,
10406 #[serde(rename = "DryingSublocation")]
10407 pub drying_sublocation: Option<String>,
10408 #[serde(rename = "HarvestName")]
10409 pub harvest_name: Option<String>,
10410 #[serde(rename = "PatientLicenseNumber")]
10411 pub patient_license_number: Option<String>,
10412 #[serde(rename = "Plant")]
10413 pub plant: Option<String>,
10414 #[serde(rename = "UnitOfWeight")]
10415 pub unit_of_weight: Option<String>,
10416 #[serde(rename = "Weight")]
10417 pub weight: Option<f64>,
10418}
10419
10420#[derive(Serialize, Deserialize, Debug, Clone)]
10421pub struct PlantsCreateManicureV2RequestItem {
10422 #[serde(rename = "ActualDate")]
10423 pub actual_date: Option<String>,
10424 #[serde(rename = "DryingLocation")]
10425 pub drying_location: Option<String>,
10426 #[serde(rename = "DryingSublocation")]
10427 pub drying_sublocation: Option<String>,
10428 #[serde(rename = "HarvestName")]
10429 pub harvest_name: Option<String>,
10430 #[serde(rename = "PatientLicenseNumber")]
10431 pub patient_license_number: Option<String>,
10432 #[serde(rename = "Plant")]
10433 pub plant: Option<String>,
10434 #[serde(rename = "PlantCount")]
10435 pub plant_count: Option<i64>,
10436 #[serde(rename = "UnitOfWeight")]
10437 pub unit_of_weight: Option<String>,
10438 #[serde(rename = "Weight")]
10439 pub weight: Option<f64>,
10440}
10441
10442#[derive(Serialize, Deserialize, Debug, Clone)]
10443pub struct PlantsCreateManicureplantsV1RequestItem {
10444 #[serde(rename = "ActualDate")]
10445 pub actual_date: Option<String>,
10446 #[serde(rename = "DryingLocation")]
10447 pub drying_location: Option<String>,
10448 #[serde(rename = "DryingSublocation")]
10449 pub drying_sublocation: Option<String>,
10450 #[serde(rename = "HarvestName")]
10451 pub harvest_name: Option<String>,
10452 #[serde(rename = "PatientLicenseNumber")]
10453 pub patient_license_number: Option<String>,
10454 #[serde(rename = "Plant")]
10455 pub plant: Option<String>,
10456 #[serde(rename = "PlantCount")]
10457 pub plant_count: Option<i64>,
10458 #[serde(rename = "UnitOfWeight")]
10459 pub unit_of_weight: Option<String>,
10460 #[serde(rename = "Weight")]
10461 pub weight: Option<f64>,
10462}
10463
10464#[derive(Serialize, Deserialize, Debug, Clone)]
10465pub struct PlantsCreateMoveplantsV1RequestItem {
10466 #[serde(rename = "ActualDate")]
10467 pub actual_date: Option<String>,
10468 #[serde(rename = "Id")]
10469 pub id: Option<i64>,
10470 #[serde(rename = "Label")]
10471 pub label: Option<String>,
10472 #[serde(rename = "Location")]
10473 pub location: Option<String>,
10474 #[serde(rename = "Sublocation")]
10475 pub sublocation: Option<String>,
10476}
10477
10478#[derive(Serialize, Deserialize, Debug, Clone)]
10479pub struct PlantsCreatePlantbatchPackageV1RequestItem {
10480 #[serde(rename = "ActualDate")]
10481 pub actual_date: Option<String>,
10482 #[serde(rename = "Count")]
10483 pub count: Option<i64>,
10484 #[serde(rename = "IsDonation")]
10485 pub is_donation: Option<bool>,
10486 #[serde(rename = "IsTradeSample")]
10487 pub is_trade_sample: Option<bool>,
10488 #[serde(rename = "Item")]
10489 pub item: Option<String>,
10490 #[serde(rename = "Location")]
10491 pub location: Option<String>,
10492 #[serde(rename = "Note")]
10493 pub note: Option<String>,
10494 #[serde(rename = "PackageTag")]
10495 pub package_tag: Option<String>,
10496 #[serde(rename = "PatientLicenseNumber")]
10497 pub patient_license_number: Option<String>,
10498 #[serde(rename = "PlantBatchType")]
10499 pub plant_batch_type: Option<String>,
10500 #[serde(rename = "PlantLabel")]
10501 pub plant_label: Option<String>,
10502 #[serde(rename = "Sublocation")]
10503 pub sublocation: Option<String>,
10504}
10505
10506#[derive(Serialize, Deserialize, Debug, Clone)]
10507pub struct PlantsCreatePlantbatchPackageV2RequestItem {
10508 #[serde(rename = "ActualDate")]
10509 pub actual_date: Option<String>,
10510 #[serde(rename = "Count")]
10511 pub count: Option<i64>,
10512 #[serde(rename = "IsDonation")]
10513 pub is_donation: Option<bool>,
10514 #[serde(rename = "IsTradeSample")]
10515 pub is_trade_sample: Option<bool>,
10516 #[serde(rename = "Item")]
10517 pub item: Option<String>,
10518 #[serde(rename = "Location")]
10519 pub location: Option<String>,
10520 #[serde(rename = "Note")]
10521 pub note: Option<String>,
10522 #[serde(rename = "PackageTag")]
10523 pub package_tag: Option<String>,
10524 #[serde(rename = "PatientLicenseNumber")]
10525 pub patient_license_number: Option<String>,
10526 #[serde(rename = "PlantBatchType")]
10527 pub plant_batch_type: Option<String>,
10528 #[serde(rename = "PlantLabel")]
10529 pub plant_label: Option<String>,
10530 #[serde(rename = "Sublocation")]
10531 pub sublocation: Option<String>,
10532}
10533
10534#[derive(Serialize, Deserialize, Debug, Clone)]
10535pub struct PlantsCreatePlantingsV1RequestItem {
10536 #[serde(rename = "ActualDate")]
10537 pub actual_date: Option<String>,
10538 #[serde(rename = "LocationName")]
10539 pub location_name: Option<String>,
10540 #[serde(rename = "PatientLicenseNumber")]
10541 pub patient_license_number: Option<String>,
10542 #[serde(rename = "PlantBatchName")]
10543 pub plant_batch_name: Option<String>,
10544 #[serde(rename = "PlantBatchType")]
10545 pub plant_batch_type: Option<String>,
10546 #[serde(rename = "PlantCount")]
10547 pub plant_count: Option<i64>,
10548 #[serde(rename = "PlantLabel")]
10549 pub plant_label: Option<String>,
10550 #[serde(rename = "StrainName")]
10551 pub strain_name: Option<String>,
10552 #[serde(rename = "SublocationName")]
10553 pub sublocation_name: Option<String>,
10554}
10555
10556#[derive(Serialize, Deserialize, Debug, Clone)]
10557pub struct PlantsCreatePlantingsV2RequestItem {
10558 #[serde(rename = "ActualDate")]
10559 pub actual_date: Option<String>,
10560 #[serde(rename = "LocationName")]
10561 pub location_name: Option<String>,
10562 #[serde(rename = "PatientLicenseNumber")]
10563 pub patient_license_number: Option<String>,
10564 #[serde(rename = "PlantBatchName")]
10565 pub plant_batch_name: Option<String>,
10566 #[serde(rename = "PlantBatchType")]
10567 pub plant_batch_type: Option<String>,
10568 #[serde(rename = "PlantCount")]
10569 pub plant_count: Option<i64>,
10570 #[serde(rename = "PlantLabel")]
10571 pub plant_label: Option<String>,
10572 #[serde(rename = "StrainName")]
10573 pub strain_name: Option<String>,
10574 #[serde(rename = "SublocationName")]
10575 pub sublocation_name: Option<String>,
10576}
10577
10578#[derive(Serialize, Deserialize, Debug, Clone)]
10579pub struct PlantsCreateWasteV1RequestItem {
10580 #[serde(rename = "LocationName")]
10581 pub location_name: Option<String>,
10582 #[serde(rename = "MixedMaterial")]
10583 pub mixed_material: Option<String>,
10584 #[serde(rename = "Note")]
10585 pub note: Option<String>,
10586 #[serde(rename = "PlantLabels")]
10587 pub plant_labels: Option<Vec<Value>>,
10588 #[serde(rename = "ReasonName")]
10589 pub reason_name: Option<String>,
10590 #[serde(rename = "SublocationName")]
10591 pub sublocation_name: Option<String>,
10592 #[serde(rename = "UnitOfMeasureName")]
10593 pub unit_of_measure_name: Option<String>,
10594 #[serde(rename = "WasteDate")]
10595 pub waste_date: Option<String>,
10596 #[serde(rename = "WasteMethodName")]
10597 pub waste_method_name: Option<String>,
10598 #[serde(rename = "WasteWeight")]
10599 pub waste_weight: Option<f64>,
10600}
10601
10602#[derive(Serialize, Deserialize, Debug, Clone)]
10603pub struct PlantsCreateWasteV2RequestItem {
10604 #[serde(rename = "LocationName")]
10605 pub location_name: Option<String>,
10606 #[serde(rename = "MixedMaterial")]
10607 pub mixed_material: Option<String>,
10608 #[serde(rename = "Note")]
10609 pub note: Option<String>,
10610 #[serde(rename = "PlantLabels")]
10611 pub plant_labels: Option<Vec<Value>>,
10612 #[serde(rename = "ReasonName")]
10613 pub reason_name: Option<String>,
10614 #[serde(rename = "SublocationName")]
10615 pub sublocation_name: Option<String>,
10616 #[serde(rename = "UnitOfMeasureName")]
10617 pub unit_of_measure_name: Option<String>,
10618 #[serde(rename = "WasteDate")]
10619 pub waste_date: Option<String>,
10620 #[serde(rename = "WasteMethodName")]
10621 pub waste_method_name: Option<String>,
10622 #[serde(rename = "WasteWeight")]
10623 pub waste_weight: Option<f64>,
10624}
10625
10626#[derive(Serialize, Deserialize, Debug, Clone)]
10627pub struct PlantsUpdateAdjustV2RequestItem {
10628 #[serde(rename = "AdjustCount")]
10629 pub adjust_count: Option<i64>,
10630 #[serde(rename = "AdjustReason")]
10631 pub adjust_reason: Option<String>,
10632 #[serde(rename = "AdjustmentDate")]
10633 pub adjustment_date: Option<String>,
10634 #[serde(rename = "Id")]
10635 pub id: Option<i64>,
10636 #[serde(rename = "Label")]
10637 pub label: Option<String>,
10638 #[serde(rename = "ReasonNote")]
10639 pub reason_note: Option<String>,
10640}
10641
10642#[derive(Serialize, Deserialize, Debug, Clone)]
10643pub struct PlantsUpdateGrowthphaseV2RequestItem {
10644 #[serde(rename = "GrowthDate")]
10645 pub growth_date: Option<String>,
10646 #[serde(rename = "GrowthPhase")]
10647 pub growth_phase: Option<String>,
10648 #[serde(rename = "Id")]
10649 pub id: Option<i64>,
10650 #[serde(rename = "Label")]
10651 pub label: Option<String>,
10652 #[serde(rename = "NewLocation")]
10653 pub new_location: Option<String>,
10654 #[serde(rename = "NewSublocation")]
10655 pub new_sublocation: Option<String>,
10656 #[serde(rename = "NewTag")]
10657 pub new_tag: Option<String>,
10658}
10659
10660#[derive(Serialize, Deserialize, Debug, Clone)]
10661pub struct PlantsUpdateHarvestV2RequestItem {
10662 #[serde(rename = "ActualDate")]
10663 pub actual_date: Option<String>,
10664 #[serde(rename = "DryingLocation")]
10665 pub drying_location: Option<String>,
10666 #[serde(rename = "DryingSublocation")]
10667 pub drying_sublocation: Option<String>,
10668 #[serde(rename = "HarvestName")]
10669 pub harvest_name: Option<String>,
10670 #[serde(rename = "PatientLicenseNumber")]
10671 pub patient_license_number: Option<String>,
10672 #[serde(rename = "Plant")]
10673 pub plant: Option<String>,
10674 #[serde(rename = "UnitOfWeight")]
10675 pub unit_of_weight: Option<String>,
10676 #[serde(rename = "Weight")]
10677 pub weight: Option<f64>,
10678}
10679
10680#[derive(Serialize, Deserialize, Debug, Clone)]
10681pub struct PlantsUpdateLocationV2RequestItem {
10682 #[serde(rename = "ActualDate")]
10683 pub actual_date: Option<String>,
10684 #[serde(rename = "Id")]
10685 pub id: Option<i64>,
10686 #[serde(rename = "Label")]
10687 pub label: Option<String>,
10688 #[serde(rename = "Location")]
10689 pub location: Option<String>,
10690 #[serde(rename = "Sublocation")]
10691 pub sublocation: Option<String>,
10692}
10693
10694#[derive(Serialize, Deserialize, Debug, Clone)]
10695pub struct PlantsUpdateMergeV2RequestItem {
10696 #[serde(rename = "MergeDate")]
10697 pub merge_date: Option<String>,
10698 #[serde(rename = "SourcePlantGroupLabel")]
10699 pub source_plant_group_label: Option<String>,
10700 #[serde(rename = "TargetPlantGroupLabel")]
10701 pub target_plant_group_label: Option<String>,
10702}
10703
10704#[derive(Serialize, Deserialize, Debug, Clone)]
10705pub struct PlantsUpdateSplitV2RequestItem {
10706 #[serde(rename = "PlantCount")]
10707 pub plant_count: Option<i64>,
10708 #[serde(rename = "SourcePlantLabel")]
10709 pub source_plant_label: Option<String>,
10710 #[serde(rename = "SplitDate")]
10711 pub split_date: Option<String>,
10712 #[serde(rename = "StrainLabel")]
10713 pub strain_label: Option<String>,
10714 #[serde(rename = "TagLabel")]
10715 pub tag_label: Option<String>,
10716}
10717
10718#[derive(Serialize, Deserialize, Debug, Clone)]
10719pub struct PlantsUpdateStrainV2RequestItem {
10720 #[serde(rename = "Id")]
10721 pub id: Option<i64>,
10722 #[serde(rename = "Label")]
10723 pub label: Option<String>,
10724 #[serde(rename = "StrainId")]
10725 pub strain_id: Option<i64>,
10726 #[serde(rename = "StrainName")]
10727 pub strain_name: Option<String>,
10728}
10729
10730#[derive(Serialize, Deserialize, Debug, Clone)]
10731pub struct PlantsUpdateTagV2RequestItem {
10732 #[serde(rename = "Id")]
10733 pub id: Option<i64>,
10734 #[serde(rename = "Label")]
10735 pub label: Option<String>,
10736 #[serde(rename = "NewTag")]
10737 pub new_tag: Option<String>,
10738 #[serde(rename = "ReplaceDate")]
10739 pub replace_date: Option<String>,
10740 #[serde(rename = "TagId")]
10741 pub tag_id: Option<i64>,
10742}
10743
10744#[derive(Serialize, Deserialize, Debug, Clone)]
10745pub struct RetailIdCreateAssociateV2RequestItem {
10746 #[serde(rename = "PackageLabel")]
10747 pub package_label: Option<String>,
10748 #[serde(rename = "QrUrls")]
10749 pub qr_urls: Option<Vec<String>>,
10750}
10751
10752#[derive(Serialize, Deserialize, Debug, Clone)]
10753pub struct RetailIdCreateGenerateV2Request {
10754 #[serde(rename = "PackageLabel")]
10755 pub package_label: Option<String>,
10756 #[serde(rename = "Quantity")]
10757 pub quantity: Option<i64>,
10758}
10759
10760#[derive(Serialize, Deserialize, Debug, Clone)]
10761pub struct RetailIdCreateMergeV2Request {
10762 #[serde(rename = "packageLabels")]
10763 pub package_labels: Option<Vec<String>>,
10764}
10765
10766#[derive(Serialize, Deserialize, Debug, Clone)]
10767pub struct RetailIdCreatePackageInfoV2Request {
10768 #[serde(rename = "packageLabels")]
10769 pub package_labels: Option<Vec<String>>,
10770}
10771
10772#[derive(Serialize, Deserialize, Debug, Clone)]
10773pub struct SublocationsCreateV2RequestItem {
10774 #[serde(rename = "Name")]
10775 pub name: Option<String>,
10776}
10777
10778#[derive(Serialize, Deserialize, Debug, Clone)]
10779pub struct SublocationsUpdateV2RequestItem {
10780 #[serde(rename = "Id")]
10781 pub id: Option<i64>,
10782 #[serde(rename = "Name")]
10783 pub name: Option<String>,
10784}
10785
10786#[derive(Serialize, Deserialize, Debug, Clone)]
10787pub struct HarvestsCreateFinishV1RequestItem {
10788 #[serde(rename = "ActualDate")]
10789 pub actual_date: Option<String>,
10790 #[serde(rename = "Id")]
10791 pub id: Option<i64>,
10792}
10793
10794#[derive(Serialize, Deserialize, Debug, Clone)]
10795pub struct HarvestsCreatePackageV1RequestItem {
10796 #[serde(rename = "ActualDate")]
10797 pub actual_date: Option<String>,
10798 #[serde(rename = "DecontaminateProduct")]
10799 pub decontaminate_product: Option<bool>,
10800 #[serde(rename = "DecontaminationDate")]
10801 pub decontamination_date: Option<String>,
10802 #[serde(rename = "DecontaminationSteps")]
10803 pub decontamination_steps: Option<String>,
10804 #[serde(rename = "ExpirationDate")]
10805 pub expiration_date: Option<String>,
10806 #[serde(rename = "Ingredients")]
10807 pub ingredients: Option<Vec<HarvestsCreatePackageV1RequestItemIngredients>>,
10808 #[serde(rename = "IsDonation")]
10809 pub is_donation: Option<bool>,
10810 #[serde(rename = "IsProductionBatch")]
10811 pub is_production_batch: Option<bool>,
10812 #[serde(rename = "IsTradeSample")]
10813 pub is_trade_sample: Option<bool>,
10814 #[serde(rename = "Item")]
10815 pub item: Option<String>,
10816 #[serde(rename = "LabTestStageId")]
10817 pub lab_test_stage_id: Option<i64>,
10818 #[serde(rename = "Location")]
10819 pub location: Option<String>,
10820 #[serde(rename = "Note")]
10821 pub note: Option<String>,
10822 #[serde(rename = "PatientLicenseNumber")]
10823 pub patient_license_number: Option<String>,
10824 #[serde(rename = "ProcessingJobTypeId")]
10825 pub processing_job_type_id: Option<i64>,
10826 #[serde(rename = "ProductRequiresDecontamination")]
10827 pub product_requires_decontamination: Option<bool>,
10828 #[serde(rename = "ProductRequiresRemediation")]
10829 pub product_requires_remediation: Option<bool>,
10830 #[serde(rename = "ProductionBatchNumber")]
10831 pub production_batch_number: Option<String>,
10832 #[serde(rename = "RemediateProduct")]
10833 pub remediate_product: Option<bool>,
10834 #[serde(rename = "RemediationDate")]
10835 pub remediation_date: Option<String>,
10836 #[serde(rename = "RemediationMethodId")]
10837 pub remediation_method_id: Option<i64>,
10838 #[serde(rename = "RemediationSteps")]
10839 pub remediation_steps: Option<String>,
10840 #[serde(rename = "RequiredLabTestBatches")]
10841 pub required_lab_test_batches: Option<Vec<Value>>,
10842 #[serde(rename = "SellByDate")]
10843 pub sell_by_date: Option<String>,
10844 #[serde(rename = "Sublocation")]
10845 pub sublocation: Option<String>,
10846 #[serde(rename = "Tag")]
10847 pub tag: Option<String>,
10848 #[serde(rename = "UnitOfWeight")]
10849 pub unit_of_weight: Option<String>,
10850 #[serde(rename = "UseByDate")]
10851 pub use_by_date: Option<String>,
10852}
10853
10854#[derive(Serialize, Deserialize, Debug, Clone)]
10855pub struct HarvestsCreatePackageV1RequestItemIngredients {
10856 #[serde(rename = "HarvestId")]
10857 pub harvest_id: Option<i64>,
10858 #[serde(rename = "HarvestName")]
10859 pub harvest_name: Option<String>,
10860 #[serde(rename = "UnitOfWeight")]
10861 pub unit_of_weight: Option<String>,
10862 #[serde(rename = "Weight")]
10863 pub weight: Option<f64>,
10864}
10865
10866#[derive(Serialize, Deserialize, Debug, Clone)]
10867pub struct HarvestsCreatePackageV2RequestItem {
10868 #[serde(rename = "ActualDate")]
10869 pub actual_date: Option<String>,
10870 #[serde(rename = "DecontaminateProduct")]
10871 pub decontaminate_product: Option<bool>,
10872 #[serde(rename = "DecontaminationDate")]
10873 pub decontamination_date: Option<String>,
10874 #[serde(rename = "DecontaminationSteps")]
10875 pub decontamination_steps: Option<String>,
10876 #[serde(rename = "ExpirationDate")]
10877 pub expiration_date: Option<String>,
10878 #[serde(rename = "Ingredients")]
10879 pub ingredients: Option<Vec<HarvestsCreatePackageV2RequestItemIngredients>>,
10880 #[serde(rename = "IsDonation")]
10881 pub is_donation: Option<bool>,
10882 #[serde(rename = "IsProductionBatch")]
10883 pub is_production_batch: Option<bool>,
10884 #[serde(rename = "IsTradeSample")]
10885 pub is_trade_sample: Option<bool>,
10886 #[serde(rename = "Item")]
10887 pub item: Option<String>,
10888 #[serde(rename = "LabTestStageId")]
10889 pub lab_test_stage_id: Option<i64>,
10890 #[serde(rename = "Location")]
10891 pub location: Option<String>,
10892 #[serde(rename = "Note")]
10893 pub note: Option<String>,
10894 #[serde(rename = "PatientLicenseNumber")]
10895 pub patient_license_number: Option<String>,
10896 #[serde(rename = "ProcessingJobTypeId")]
10897 pub processing_job_type_id: Option<i64>,
10898 #[serde(rename = "ProductRequiresDecontamination")]
10899 pub product_requires_decontamination: Option<bool>,
10900 #[serde(rename = "ProductRequiresRemediation")]
10901 pub product_requires_remediation: Option<bool>,
10902 #[serde(rename = "ProductionBatchNumber")]
10903 pub production_batch_number: Option<String>,
10904 #[serde(rename = "RemediateProduct")]
10905 pub remediate_product: Option<bool>,
10906 #[serde(rename = "RemediationDate")]
10907 pub remediation_date: Option<String>,
10908 #[serde(rename = "RemediationMethodId")]
10909 pub remediation_method_id: Option<i64>,
10910 #[serde(rename = "RemediationSteps")]
10911 pub remediation_steps: Option<String>,
10912 #[serde(rename = "RequiredLabTestBatches")]
10913 pub required_lab_test_batches: Option<Vec<Value>>,
10914 #[serde(rename = "SellByDate")]
10915 pub sell_by_date: Option<String>,
10916 #[serde(rename = "Sublocation")]
10917 pub sublocation: Option<String>,
10918 #[serde(rename = "Tag")]
10919 pub tag: Option<String>,
10920 #[serde(rename = "UnitOfWeight")]
10921 pub unit_of_weight: Option<String>,
10922 #[serde(rename = "UseByDate")]
10923 pub use_by_date: Option<String>,
10924}
10925
10926#[derive(Serialize, Deserialize, Debug, Clone)]
10927pub struct HarvestsCreatePackageV2RequestItemIngredients {
10928 #[serde(rename = "HarvestId")]
10929 pub harvest_id: Option<i64>,
10930 #[serde(rename = "HarvestName")]
10931 pub harvest_name: Option<String>,
10932 #[serde(rename = "UnitOfWeight")]
10933 pub unit_of_weight: Option<String>,
10934 #[serde(rename = "Weight")]
10935 pub weight: Option<f64>,
10936}
10937
10938#[derive(Serialize, Deserialize, Debug, Clone)]
10939pub struct HarvestsCreatePackageTestingV1RequestItem {
10940 #[serde(rename = "ActualDate")]
10941 pub actual_date: Option<String>,
10942 #[serde(rename = "DecontaminateProduct")]
10943 pub decontaminate_product: Option<bool>,
10944 #[serde(rename = "DecontaminationDate")]
10945 pub decontamination_date: Option<String>,
10946 #[serde(rename = "DecontaminationSteps")]
10947 pub decontamination_steps: Option<String>,
10948 #[serde(rename = "ExpirationDate")]
10949 pub expiration_date: Option<String>,
10950 #[serde(rename = "Ingredients")]
10951 pub ingredients: Option<Vec<HarvestsCreatePackageTestingV1RequestItemIngredients>>,
10952 #[serde(rename = "IsDonation")]
10953 pub is_donation: Option<bool>,
10954 #[serde(rename = "IsProductionBatch")]
10955 pub is_production_batch: Option<bool>,
10956 #[serde(rename = "IsTradeSample")]
10957 pub is_trade_sample: Option<bool>,
10958 #[serde(rename = "Item")]
10959 pub item: Option<String>,
10960 #[serde(rename = "LabTestStageId")]
10961 pub lab_test_stage_id: Option<i64>,
10962 #[serde(rename = "Location")]
10963 pub location: Option<String>,
10964 #[serde(rename = "Note")]
10965 pub note: Option<String>,
10966 #[serde(rename = "PatientLicenseNumber")]
10967 pub patient_license_number: Option<String>,
10968 #[serde(rename = "ProcessingJobTypeId")]
10969 pub processing_job_type_id: Option<i64>,
10970 #[serde(rename = "ProductRequiresDecontamination")]
10971 pub product_requires_decontamination: Option<bool>,
10972 #[serde(rename = "ProductRequiresRemediation")]
10973 pub product_requires_remediation: Option<bool>,
10974 #[serde(rename = "ProductionBatchNumber")]
10975 pub production_batch_number: Option<String>,
10976 #[serde(rename = "RemediateProduct")]
10977 pub remediate_product: Option<bool>,
10978 #[serde(rename = "RemediationDate")]
10979 pub remediation_date: Option<String>,
10980 #[serde(rename = "RemediationMethodId")]
10981 pub remediation_method_id: Option<i64>,
10982 #[serde(rename = "RemediationSteps")]
10983 pub remediation_steps: Option<String>,
10984 #[serde(rename = "RequiredLabTestBatches")]
10985 pub required_lab_test_batches: Option<Vec<Value>>,
10986 #[serde(rename = "SellByDate")]
10987 pub sell_by_date: Option<String>,
10988 #[serde(rename = "Sublocation")]
10989 pub sublocation: Option<String>,
10990 #[serde(rename = "Tag")]
10991 pub tag: Option<String>,
10992 #[serde(rename = "UnitOfWeight")]
10993 pub unit_of_weight: Option<String>,
10994 #[serde(rename = "UseByDate")]
10995 pub use_by_date: Option<String>,
10996}
10997
10998#[derive(Serialize, Deserialize, Debug, Clone)]
10999pub struct HarvestsCreatePackageTestingV1RequestItemIngredients {
11000 #[serde(rename = "HarvestId")]
11001 pub harvest_id: Option<i64>,
11002 #[serde(rename = "HarvestName")]
11003 pub harvest_name: Option<String>,
11004 #[serde(rename = "UnitOfWeight")]
11005 pub unit_of_weight: Option<String>,
11006 #[serde(rename = "Weight")]
11007 pub weight: Option<f64>,
11008}
11009
11010#[derive(Serialize, Deserialize, Debug, Clone)]
11011pub struct HarvestsCreatePackageTestingV2RequestItem {
11012 #[serde(rename = "ActualDate")]
11013 pub actual_date: Option<String>,
11014 #[serde(rename = "DecontaminateProduct")]
11015 pub decontaminate_product: Option<bool>,
11016 #[serde(rename = "DecontaminationDate")]
11017 pub decontamination_date: Option<String>,
11018 #[serde(rename = "DecontaminationSteps")]
11019 pub decontamination_steps: Option<String>,
11020 #[serde(rename = "ExpirationDate")]
11021 pub expiration_date: Option<String>,
11022 #[serde(rename = "Ingredients")]
11023 pub ingredients: Option<Vec<HarvestsCreatePackageTestingV2RequestItemIngredients>>,
11024 #[serde(rename = "IsDonation")]
11025 pub is_donation: Option<bool>,
11026 #[serde(rename = "IsProductionBatch")]
11027 pub is_production_batch: Option<bool>,
11028 #[serde(rename = "IsTradeSample")]
11029 pub is_trade_sample: Option<bool>,
11030 #[serde(rename = "Item")]
11031 pub item: Option<String>,
11032 #[serde(rename = "LabTestStageId")]
11033 pub lab_test_stage_id: Option<i64>,
11034 #[serde(rename = "Location")]
11035 pub location: Option<String>,
11036 #[serde(rename = "Note")]
11037 pub note: Option<String>,
11038 #[serde(rename = "PatientLicenseNumber")]
11039 pub patient_license_number: Option<String>,
11040 #[serde(rename = "ProcessingJobTypeId")]
11041 pub processing_job_type_id: Option<i64>,
11042 #[serde(rename = "ProductRequiresDecontamination")]
11043 pub product_requires_decontamination: Option<bool>,
11044 #[serde(rename = "ProductRequiresRemediation")]
11045 pub product_requires_remediation: Option<bool>,
11046 #[serde(rename = "ProductionBatchNumber")]
11047 pub production_batch_number: Option<String>,
11048 #[serde(rename = "RemediateProduct")]
11049 pub remediate_product: Option<bool>,
11050 #[serde(rename = "RemediationDate")]
11051 pub remediation_date: Option<String>,
11052 #[serde(rename = "RemediationMethodId")]
11053 pub remediation_method_id: Option<i64>,
11054 #[serde(rename = "RemediationSteps")]
11055 pub remediation_steps: Option<String>,
11056 #[serde(rename = "RequiredLabTestBatches")]
11057 pub required_lab_test_batches: Option<Vec<Value>>,
11058 #[serde(rename = "SellByDate")]
11059 pub sell_by_date: Option<String>,
11060 #[serde(rename = "Sublocation")]
11061 pub sublocation: Option<String>,
11062 #[serde(rename = "Tag")]
11063 pub tag: Option<String>,
11064 #[serde(rename = "UnitOfWeight")]
11065 pub unit_of_weight: Option<String>,
11066 #[serde(rename = "UseByDate")]
11067 pub use_by_date: Option<String>,
11068}
11069
11070#[derive(Serialize, Deserialize, Debug, Clone)]
11071pub struct HarvestsCreatePackageTestingV2RequestItemIngredients {
11072 #[serde(rename = "HarvestId")]
11073 pub harvest_id: Option<i64>,
11074 #[serde(rename = "HarvestName")]
11075 pub harvest_name: Option<String>,
11076 #[serde(rename = "UnitOfWeight")]
11077 pub unit_of_weight: Option<String>,
11078 #[serde(rename = "Weight")]
11079 pub weight: Option<f64>,
11080}
11081
11082#[derive(Serialize, Deserialize, Debug, Clone)]
11083pub struct HarvestsCreateRemoveWasteV1RequestItem {
11084 #[serde(rename = "ActualDate")]
11085 pub actual_date: Option<String>,
11086 #[serde(rename = "Id")]
11087 pub id: Option<i64>,
11088 #[serde(rename = "UnitOfWeight")]
11089 pub unit_of_weight: Option<String>,
11090 #[serde(rename = "WasteType")]
11091 pub waste_type: Option<String>,
11092 #[serde(rename = "WasteWeight")]
11093 pub waste_weight: Option<f64>,
11094}
11095
11096#[derive(Serialize, Deserialize, Debug, Clone)]
11097pub struct HarvestsCreateUnfinishV1RequestItem {
11098 #[serde(rename = "Id")]
11099 pub id: Option<i64>,
11100}
11101
11102#[derive(Serialize, Deserialize, Debug, Clone)]
11103pub struct HarvestsCreateWasteV2RequestItem {
11104 #[serde(rename = "ActualDate")]
11105 pub actual_date: Option<String>,
11106 #[serde(rename = "Id")]
11107 pub id: Option<i64>,
11108 #[serde(rename = "UnitOfWeight")]
11109 pub unit_of_weight: Option<String>,
11110 #[serde(rename = "WasteType")]
11111 pub waste_type: Option<String>,
11112 #[serde(rename = "WasteWeight")]
11113 pub waste_weight: Option<f64>,
11114}
11115
11116#[derive(Serialize, Deserialize, Debug, Clone)]
11117pub struct HarvestsUpdateFinishV2RequestItem {
11118 #[serde(rename = "ActualDate")]
11119 pub actual_date: Option<String>,
11120 #[serde(rename = "Id")]
11121 pub id: Option<i64>,
11122}
11123
11124#[derive(Serialize, Deserialize, Debug, Clone)]
11125pub struct HarvestsUpdateLocationV2RequestItem {
11126 #[serde(rename = "ActualDate")]
11127 pub actual_date: Option<String>,
11128 #[serde(rename = "DryingLocation")]
11129 pub drying_location: Option<String>,
11130 #[serde(rename = "DryingSublocation")]
11131 pub drying_sublocation: Option<String>,
11132 #[serde(rename = "HarvestName")]
11133 pub harvest_name: Option<String>,
11134 #[serde(rename = "Id")]
11135 pub id: Option<i64>,
11136}
11137
11138#[derive(Serialize, Deserialize, Debug, Clone)]
11139pub struct HarvestsUpdateMoveV1RequestItem {
11140 #[serde(rename = "ActualDate")]
11141 pub actual_date: Option<String>,
11142 #[serde(rename = "DryingLocation")]
11143 pub drying_location: Option<String>,
11144 #[serde(rename = "DryingSublocation")]
11145 pub drying_sublocation: Option<String>,
11146 #[serde(rename = "HarvestName")]
11147 pub harvest_name: Option<String>,
11148 #[serde(rename = "Id")]
11149 pub id: Option<i64>,
11150}
11151
11152#[derive(Serialize, Deserialize, Debug, Clone)]
11153pub struct HarvestsUpdateRenameV1RequestItem {
11154 #[serde(rename = "Id")]
11155 pub id: Option<i64>,
11156 #[serde(rename = "NewName")]
11157 pub new_name: Option<String>,
11158 #[serde(rename = "OldName")]
11159 pub old_name: Option<String>,
11160}
11161
11162#[derive(Serialize, Deserialize, Debug, Clone)]
11163pub struct HarvestsUpdateRenameV2RequestItem {
11164 #[serde(rename = "Id")]
11165 pub id: Option<i64>,
11166 #[serde(rename = "NewName")]
11167 pub new_name: Option<String>,
11168 #[serde(rename = "OldName")]
11169 pub old_name: Option<String>,
11170}
11171
11172#[derive(Serialize, Deserialize, Debug, Clone)]
11173pub struct HarvestsUpdateRestoreHarvestedPlantsV2RequestItem {
11174 #[serde(rename = "HarvestId")]
11175 pub harvest_id: Option<i64>,
11176 #[serde(rename = "PlantTags")]
11177 pub plant_tags: Option<Vec<String>>,
11178}
11179
11180#[derive(Serialize, Deserialize, Debug, Clone)]
11181pub struct HarvestsUpdateUnfinishV2RequestItem {
11182 #[serde(rename = "Id")]
11183 pub id: Option<i64>,
11184}
11185
11186#[derive(Serialize, Deserialize, Debug, Clone)]
11187pub struct PlantBatchesCreateAdditivesV1RequestItem {
11188 #[serde(rename = "ActiveIngredients")]
11189 pub active_ingredients: Option<Vec<PlantBatchesCreateAdditivesV1RequestItemActiveIngredients>>,
11190 #[serde(rename = "ActualDate")]
11191 pub actual_date: Option<String>,
11192 #[serde(rename = "AdditiveType")]
11193 pub additive_type: Option<String>,
11194 #[serde(rename = "ApplicationDevice")]
11195 pub application_device: Option<String>,
11196 #[serde(rename = "EpaRegistrationNumber")]
11197 pub epa_registration_number: Option<String>,
11198 #[serde(rename = "PlantBatchName")]
11199 pub plant_batch_name: Option<String>,
11200 #[serde(rename = "ProductSupplier")]
11201 pub product_supplier: Option<String>,
11202 #[serde(rename = "ProductTradeName")]
11203 pub product_trade_name: Option<String>,
11204 #[serde(rename = "TotalAmountApplied")]
11205 pub total_amount_applied: Option<i64>,
11206 #[serde(rename = "TotalAmountUnitOfMeasure")]
11207 pub total_amount_unit_of_measure: Option<String>,
11208}
11209
11210#[derive(Serialize, Deserialize, Debug, Clone)]
11211pub struct PlantBatchesCreateAdditivesV1RequestItemActiveIngredients {
11212 #[serde(rename = "Name")]
11213 pub name: Option<String>,
11214 #[serde(rename = "Percentage")]
11215 pub percentage: Option<f64>,
11216}
11217
11218#[derive(Serialize, Deserialize, Debug, Clone)]
11219pub struct PlantBatchesCreateAdditivesV2RequestItem {
11220 #[serde(rename = "ActiveIngredients")]
11221 pub active_ingredients: Option<Vec<PlantBatchesCreateAdditivesV2RequestItemActiveIngredients>>,
11222 #[serde(rename = "ActualDate")]
11223 pub actual_date: Option<String>,
11224 #[serde(rename = "AdditiveType")]
11225 pub additive_type: Option<String>,
11226 #[serde(rename = "ApplicationDevice")]
11227 pub application_device: Option<String>,
11228 #[serde(rename = "EpaRegistrationNumber")]
11229 pub epa_registration_number: Option<String>,
11230 #[serde(rename = "PlantBatchName")]
11231 pub plant_batch_name: Option<String>,
11232 #[serde(rename = "ProductSupplier")]
11233 pub product_supplier: Option<String>,
11234 #[serde(rename = "ProductTradeName")]
11235 pub product_trade_name: Option<String>,
11236 #[serde(rename = "TotalAmountApplied")]
11237 pub total_amount_applied: Option<i64>,
11238 #[serde(rename = "TotalAmountUnitOfMeasure")]
11239 pub total_amount_unit_of_measure: Option<String>,
11240}
11241
11242#[derive(Serialize, Deserialize, Debug, Clone)]
11243pub struct PlantBatchesCreateAdditivesV2RequestItemActiveIngredients {
11244 #[serde(rename = "Name")]
11245 pub name: Option<String>,
11246 #[serde(rename = "Percentage")]
11247 pub percentage: Option<f64>,
11248}
11249
11250#[derive(Serialize, Deserialize, Debug, Clone)]
11251pub struct PlantBatchesCreateAdditivesUsingtemplateV2RequestItem {
11252 #[serde(rename = "ActualDate")]
11253 pub actual_date: Option<String>,
11254 #[serde(rename = "AdditivesTemplateName")]
11255 pub additives_template_name: Option<String>,
11256 #[serde(rename = "PlantBatchName")]
11257 pub plant_batch_name: Option<String>,
11258 #[serde(rename = "Rate")]
11259 pub rate: Option<String>,
11260 #[serde(rename = "TotalAmountApplied")]
11261 pub total_amount_applied: Option<i64>,
11262 #[serde(rename = "TotalAmountUnitOfMeasure")]
11263 pub total_amount_unit_of_measure: Option<String>,
11264 #[serde(rename = "Volume")]
11265 pub volume: Option<String>,
11266}
11267
11268#[derive(Serialize, Deserialize, Debug, Clone)]
11269pub struct PlantBatchesCreateAdjustV1RequestItem {
11270 #[serde(rename = "AdjustmentDate")]
11271 pub adjustment_date: Option<String>,
11272 #[serde(rename = "AdjustmentReason")]
11273 pub adjustment_reason: Option<String>,
11274 #[serde(rename = "PlantBatchName")]
11275 pub plant_batch_name: Option<String>,
11276 #[serde(rename = "Quantity")]
11277 pub quantity: Option<i64>,
11278 #[serde(rename = "ReasonNote")]
11279 pub reason_note: Option<String>,
11280}
11281
11282#[derive(Serialize, Deserialize, Debug, Clone)]
11283pub struct PlantBatchesCreateAdjustV2RequestItem {
11284 #[serde(rename = "AdjustmentDate")]
11285 pub adjustment_date: Option<String>,
11286 #[serde(rename = "AdjustmentReason")]
11287 pub adjustment_reason: Option<String>,
11288 #[serde(rename = "PlantBatchName")]
11289 pub plant_batch_name: Option<String>,
11290 #[serde(rename = "Quantity")]
11291 pub quantity: Option<i64>,
11292 #[serde(rename = "ReasonNote")]
11293 pub reason_note: Option<String>,
11294}
11295
11296#[derive(Serialize, Deserialize, Debug, Clone)]
11297pub struct PlantBatchesCreateChangegrowthphaseV1RequestItem {
11298 #[serde(rename = "Count")]
11299 pub count: Option<i64>,
11300 #[serde(rename = "CountPerPlant")]
11301 pub count_per_plant: Option<String>,
11302 #[serde(rename = "GrowthDate")]
11303 pub growth_date: Option<String>,
11304 #[serde(rename = "GrowthPhase")]
11305 pub growth_phase: Option<String>,
11306 #[serde(rename = "Name")]
11307 pub name: Option<String>,
11308 #[serde(rename = "NewLocation")]
11309 pub new_location: Option<String>,
11310 #[serde(rename = "NewSublocation")]
11311 pub new_sublocation: Option<String>,
11312 #[serde(rename = "PatientLicenseNumber")]
11313 pub patient_license_number: Option<String>,
11314 #[serde(rename = "StartingTag")]
11315 pub starting_tag: Option<String>,
11316}
11317
11318#[derive(Serialize, Deserialize, Debug, Clone)]
11319pub struct PlantBatchesCreateGrowthphaseV2RequestItem {
11320 #[serde(rename = "Count")]
11321 pub count: Option<i64>,
11322 #[serde(rename = "CountPerPlant")]
11323 pub count_per_plant: Option<String>,
11324 #[serde(rename = "GrowthDate")]
11325 pub growth_date: Option<String>,
11326 #[serde(rename = "GrowthPhase")]
11327 pub growth_phase: Option<String>,
11328 #[serde(rename = "Name")]
11329 pub name: Option<String>,
11330 #[serde(rename = "NewLocation")]
11331 pub new_location: Option<String>,
11332 #[serde(rename = "NewSublocation")]
11333 pub new_sublocation: Option<String>,
11334 #[serde(rename = "PatientLicenseNumber")]
11335 pub patient_license_number: Option<String>,
11336 #[serde(rename = "StartingTag")]
11337 pub starting_tag: Option<String>,
11338}
11339
11340#[derive(Serialize, Deserialize, Debug, Clone)]
11341pub struct PlantBatchesCreatePackageV2RequestItem {
11342 #[serde(rename = "ActualDate")]
11343 pub actual_date: Option<String>,
11344 #[serde(rename = "Count")]
11345 pub count: Option<i64>,
11346 #[serde(rename = "ExpirationDate")]
11347 pub expiration_date: Option<String>,
11348 #[serde(rename = "Id")]
11349 pub id: Option<i64>,
11350 #[serde(rename = "IsDonation")]
11351 pub is_donation: Option<bool>,
11352 #[serde(rename = "IsTradeSample")]
11353 pub is_trade_sample: Option<bool>,
11354 #[serde(rename = "Item")]
11355 pub item: Option<String>,
11356 #[serde(rename = "Location")]
11357 pub location: Option<String>,
11358 #[serde(rename = "Note")]
11359 pub note: Option<String>,
11360 #[serde(rename = "PatientLicenseNumber")]
11361 pub patient_license_number: Option<String>,
11362 #[serde(rename = "PlantBatch")]
11363 pub plant_batch: Option<String>,
11364 #[serde(rename = "SellByDate")]
11365 pub sell_by_date: Option<String>,
11366 #[serde(rename = "Sublocation")]
11367 pub sublocation: Option<String>,
11368 #[serde(rename = "Tag")]
11369 pub tag: Option<String>,
11370 #[serde(rename = "UseByDate")]
11371 pub use_by_date: Option<String>,
11372}
11373
11374#[derive(Serialize, Deserialize, Debug, Clone)]
11375pub struct PlantBatchesCreatePackageFrommotherplantV1RequestItem {
11376 #[serde(rename = "ActualDate")]
11377 pub actual_date: Option<String>,
11378 #[serde(rename = "Count")]
11379 pub count: Option<i64>,
11380 #[serde(rename = "ExpirationDate")]
11381 pub expiration_date: Option<String>,
11382 #[serde(rename = "Id")]
11383 pub id: Option<i64>,
11384 #[serde(rename = "IsDonation")]
11385 pub is_donation: Option<bool>,
11386 #[serde(rename = "IsTradeSample")]
11387 pub is_trade_sample: Option<bool>,
11388 #[serde(rename = "Item")]
11389 pub item: Option<String>,
11390 #[serde(rename = "Location")]
11391 pub location: Option<String>,
11392 #[serde(rename = "Note")]
11393 pub note: Option<String>,
11394 #[serde(rename = "PatientLicenseNumber")]
11395 pub patient_license_number: Option<String>,
11396 #[serde(rename = "PlantBatch")]
11397 pub plant_batch: Option<String>,
11398 #[serde(rename = "SellByDate")]
11399 pub sell_by_date: Option<String>,
11400 #[serde(rename = "Sublocation")]
11401 pub sublocation: Option<String>,
11402 #[serde(rename = "Tag")]
11403 pub tag: Option<String>,
11404 #[serde(rename = "UseByDate")]
11405 pub use_by_date: Option<String>,
11406}
11407
11408#[derive(Serialize, Deserialize, Debug, Clone)]
11409pub struct PlantBatchesCreatePackageFrommotherplantV2RequestItem {
11410 #[serde(rename = "ActualDate")]
11411 pub actual_date: Option<String>,
11412 #[serde(rename = "Count")]
11413 pub count: Option<i64>,
11414 #[serde(rename = "ExpirationDate")]
11415 pub expiration_date: Option<String>,
11416 #[serde(rename = "Id")]
11417 pub id: Option<i64>,
11418 #[serde(rename = "IsDonation")]
11419 pub is_donation: Option<bool>,
11420 #[serde(rename = "IsTradeSample")]
11421 pub is_trade_sample: Option<bool>,
11422 #[serde(rename = "Item")]
11423 pub item: Option<String>,
11424 #[serde(rename = "Location")]
11425 pub location: Option<String>,
11426 #[serde(rename = "Note")]
11427 pub note: Option<String>,
11428 #[serde(rename = "PatientLicenseNumber")]
11429 pub patient_license_number: Option<String>,
11430 #[serde(rename = "PlantBatch")]
11431 pub plant_batch: Option<String>,
11432 #[serde(rename = "SellByDate")]
11433 pub sell_by_date: Option<String>,
11434 #[serde(rename = "Sublocation")]
11435 pub sublocation: Option<String>,
11436 #[serde(rename = "Tag")]
11437 pub tag: Option<String>,
11438 #[serde(rename = "UseByDate")]
11439 pub use_by_date: Option<String>,
11440}
11441
11442#[derive(Serialize, Deserialize, Debug, Clone)]
11443pub struct PlantBatchesCreatePlantingsV2RequestItem {
11444 #[serde(rename = "ActualDate")]
11445 pub actual_date: Option<String>,
11446 #[serde(rename = "Count")]
11447 pub count: Option<i64>,
11448 #[serde(rename = "Location")]
11449 pub location: Option<String>,
11450 #[serde(rename = "Name")]
11451 pub name: Option<String>,
11452 #[serde(rename = "PatientLicenseNumber")]
11453 pub patient_license_number: Option<String>,
11454 #[serde(rename = "SourcePlantBatches")]
11455 pub source_plant_batches: Option<String>,
11456 #[serde(rename = "Strain")]
11457 pub strain: Option<String>,
11458 #[serde(rename = "Sublocation")]
11459 pub sublocation: Option<String>,
11460 #[serde(rename = "Type")]
11461 pub type_: Option<String>,
11462}
11463
11464#[derive(Serialize, Deserialize, Debug, Clone)]
11465pub struct PlantBatchesCreateSplitV1RequestItem {
11466 #[serde(rename = "ActualDate")]
11467 pub actual_date: Option<String>,
11468 #[serde(rename = "Count")]
11469 pub count: Option<i64>,
11470 #[serde(rename = "GroupName")]
11471 pub group_name: Option<String>,
11472 #[serde(rename = "Location")]
11473 pub location: Option<String>,
11474 #[serde(rename = "PatientLicenseNumber")]
11475 pub patient_license_number: Option<String>,
11476 #[serde(rename = "PlantBatch")]
11477 pub plant_batch: Option<String>,
11478 #[serde(rename = "Strain")]
11479 pub strain: Option<String>,
11480 #[serde(rename = "Sublocation")]
11481 pub sublocation: Option<String>,
11482}
11483
11484#[derive(Serialize, Deserialize, Debug, Clone)]
11485pub struct PlantBatchesCreateSplitV2RequestItem {
11486 #[serde(rename = "ActualDate")]
11487 pub actual_date: Option<String>,
11488 #[serde(rename = "Count")]
11489 pub count: Option<i64>,
11490 #[serde(rename = "GroupName")]
11491 pub group_name: Option<String>,
11492 #[serde(rename = "Location")]
11493 pub location: Option<String>,
11494 #[serde(rename = "PatientLicenseNumber")]
11495 pub patient_license_number: Option<String>,
11496 #[serde(rename = "PlantBatch")]
11497 pub plant_batch: Option<String>,
11498 #[serde(rename = "Strain")]
11499 pub strain: Option<String>,
11500 #[serde(rename = "Sublocation")]
11501 pub sublocation: Option<String>,
11502}
11503
11504#[derive(Serialize, Deserialize, Debug, Clone)]
11505pub struct PlantBatchesCreateWasteV1RequestItem {
11506 #[serde(rename = "MixedMaterial")]
11507 pub mixed_material: Option<String>,
11508 #[serde(rename = "Note")]
11509 pub note: Option<String>,
11510 #[serde(rename = "PlantBatchName")]
11511 pub plant_batch_name: Option<String>,
11512 #[serde(rename = "ReasonName")]
11513 pub reason_name: Option<String>,
11514 #[serde(rename = "UnitOfMeasureName")]
11515 pub unit_of_measure_name: Option<String>,
11516 #[serde(rename = "WasteDate")]
11517 pub waste_date: Option<String>,
11518 #[serde(rename = "WasteMethodName")]
11519 pub waste_method_name: Option<String>,
11520 #[serde(rename = "WasteWeight")]
11521 pub waste_weight: Option<f64>,
11522}
11523
11524#[derive(Serialize, Deserialize, Debug, Clone)]
11525pub struct PlantBatchesCreateWasteV2RequestItem {
11526 #[serde(rename = "MixedMaterial")]
11527 pub mixed_material: Option<String>,
11528 #[serde(rename = "Note")]
11529 pub note: Option<String>,
11530 #[serde(rename = "PlantBatchName")]
11531 pub plant_batch_name: Option<String>,
11532 #[serde(rename = "ReasonName")]
11533 pub reason_name: Option<String>,
11534 #[serde(rename = "UnitOfMeasureName")]
11535 pub unit_of_measure_name: Option<String>,
11536 #[serde(rename = "WasteDate")]
11537 pub waste_date: Option<String>,
11538 #[serde(rename = "WasteMethodName")]
11539 pub waste_method_name: Option<String>,
11540 #[serde(rename = "WasteWeight")]
11541 pub waste_weight: Option<f64>,
11542}
11543
11544#[derive(Serialize, Deserialize, Debug, Clone)]
11545pub struct PlantBatchesCreatepackagesV1RequestItem {
11546 #[serde(rename = "ActualDate")]
11547 pub actual_date: Option<String>,
11548 #[serde(rename = "Count")]
11549 pub count: Option<i64>,
11550 #[serde(rename = "ExpirationDate")]
11551 pub expiration_date: Option<String>,
11552 #[serde(rename = "Id")]
11553 pub id: Option<i64>,
11554 #[serde(rename = "IsDonation")]
11555 pub is_donation: Option<bool>,
11556 #[serde(rename = "IsTradeSample")]
11557 pub is_trade_sample: Option<bool>,
11558 #[serde(rename = "Item")]
11559 pub item: Option<String>,
11560 #[serde(rename = "Location")]
11561 pub location: Option<String>,
11562 #[serde(rename = "Note")]
11563 pub note: Option<String>,
11564 #[serde(rename = "PatientLicenseNumber")]
11565 pub patient_license_number: Option<String>,
11566 #[serde(rename = "PlantBatch")]
11567 pub plant_batch: Option<String>,
11568 #[serde(rename = "SellByDate")]
11569 pub sell_by_date: Option<String>,
11570 #[serde(rename = "Sublocation")]
11571 pub sublocation: Option<String>,
11572 #[serde(rename = "Tag")]
11573 pub tag: Option<String>,
11574 #[serde(rename = "UseByDate")]
11575 pub use_by_date: Option<String>,
11576}
11577
11578#[derive(Serialize, Deserialize, Debug, Clone)]
11579pub struct PlantBatchesCreateplantingsV1RequestItem {
11580 #[serde(rename = "ActualDate")]
11581 pub actual_date: Option<String>,
11582 #[serde(rename = "Count")]
11583 pub count: Option<i64>,
11584 #[serde(rename = "Location")]
11585 pub location: Option<String>,
11586 #[serde(rename = "Name")]
11587 pub name: Option<String>,
11588 #[serde(rename = "PatientLicenseNumber")]
11589 pub patient_license_number: Option<String>,
11590 #[serde(rename = "SourcePlantBatches")]
11591 pub source_plant_batches: Option<String>,
11592 #[serde(rename = "Strain")]
11593 pub strain: Option<String>,
11594 #[serde(rename = "Sublocation")]
11595 pub sublocation: Option<String>,
11596 #[serde(rename = "Type")]
11597 pub type_: Option<String>,
11598}
11599
11600#[derive(Serialize, Deserialize, Debug, Clone)]
11601pub struct PlantBatchesUpdateLocationV2RequestItem {
11602 #[serde(rename = "Location")]
11603 pub location: Option<String>,
11604 #[serde(rename = "MoveDate")]
11605 pub move_date: Option<String>,
11606 #[serde(rename = "Name")]
11607 pub name: Option<String>,
11608 #[serde(rename = "Sublocation")]
11609 pub sublocation: Option<String>,
11610}
11611
11612#[derive(Serialize, Deserialize, Debug, Clone)]
11613pub struct PlantBatchesUpdateMoveplantbatchesV1RequestItem {
11614 #[serde(rename = "Location")]
11615 pub location: Option<String>,
11616 #[serde(rename = "MoveDate")]
11617 pub move_date: Option<String>,
11618 #[serde(rename = "Name")]
11619 pub name: Option<String>,
11620 #[serde(rename = "Sublocation")]
11621 pub sublocation: Option<String>,
11622}
11623
11624#[derive(Serialize, Deserialize, Debug, Clone)]
11625pub struct PlantBatchesUpdateNameV2RequestItem {
11626 #[serde(rename = "Group")]
11627 pub group: Option<String>,
11628 #[serde(rename = "Id")]
11629 pub id: Option<i64>,
11630 #[serde(rename = "NewGroup")]
11631 pub new_group: Option<String>,
11632}
11633
11634#[derive(Serialize, Deserialize, Debug, Clone)]
11635pub struct PlantBatchesUpdateStrainV2RequestItem {
11636 #[serde(rename = "Id")]
11637 pub id: Option<i64>,
11638 #[serde(rename = "Name")]
11639 pub name: Option<String>,
11640 #[serde(rename = "StrainId")]
11641 pub strain_id: Option<i64>,
11642 #[serde(rename = "StrainName")]
11643 pub strain_name: Option<String>,
11644}
11645
11646#[derive(Serialize, Deserialize, Debug, Clone)]
11647pub struct PlantBatchesUpdateTagV2RequestItem {
11648 #[serde(rename = "Group")]
11649 pub group: Option<String>,
11650 #[serde(rename = "Id")]
11651 pub id: Option<i64>,
11652 #[serde(rename = "NewTag")]
11653 pub new_tag: Option<String>,
11654 #[serde(rename = "ReplaceDate")]
11655 pub replace_date: Option<String>,
11656 #[serde(rename = "TagId")]
11657 pub tag_id: Option<i64>,
11658}
11659
11660#[derive(Serialize, Deserialize, Debug, Clone)]
11661pub struct TransfersCreateExternalIncomingV1RequestItem {
11662 #[serde(rename = "Destinations")]
11663 pub destinations: Option<Vec<TransfersCreateExternalIncomingV1RequestItemDestinations>>,
11664 #[serde(rename = "DriverLicenseNumber")]
11665 pub driver_license_number: Option<String>,
11666 #[serde(rename = "DriverName")]
11667 pub driver_name: Option<String>,
11668 #[serde(rename = "DriverOccupationalLicenseNumber")]
11669 pub driver_occupational_license_number: Option<String>,
11670 #[serde(rename = "PhoneNumberForQuestions")]
11671 pub phone_number_for_questions: Option<String>,
11672 #[serde(rename = "ShipperAddress1")]
11673 pub shipper_address1: Option<String>,
11674 #[serde(rename = "ShipperAddress2")]
11675 pub shipper_address2: Option<String>,
11676 #[serde(rename = "ShipperAddressCity")]
11677 pub shipper_address_city: Option<String>,
11678 #[serde(rename = "ShipperAddressPostalCode")]
11679 pub shipper_address_postal_code: Option<String>,
11680 #[serde(rename = "ShipperAddressState")]
11681 pub shipper_address_state: Option<String>,
11682 #[serde(rename = "ShipperLicenseNumber")]
11683 pub shipper_license_number: Option<String>,
11684 #[serde(rename = "ShipperMainPhoneNumber")]
11685 pub shipper_main_phone_number: Option<String>,
11686 #[serde(rename = "ShipperName")]
11687 pub shipper_name: Option<String>,
11688 #[serde(rename = "TransporterFacilityLicenseNumber")]
11689 pub transporter_facility_license_number: Option<String>,
11690 #[serde(rename = "VehicleLicensePlateNumber")]
11691 pub vehicle_license_plate_number: Option<String>,
11692 #[serde(rename = "VehicleMake")]
11693 pub vehicle_make: Option<String>,
11694 #[serde(rename = "VehicleModel")]
11695 pub vehicle_model: Option<String>,
11696}
11697
11698#[derive(Serialize, Deserialize, Debug, Clone)]
11699pub struct TransfersCreateExternalIncomingV1RequestItemDestinations {
11700 #[serde(rename = "EstimatedArrivalDateTime")]
11701 pub estimated_arrival_date_time: Option<String>,
11702 #[serde(rename = "EstimatedDepartureDateTime")]
11703 pub estimated_departure_date_time: Option<String>,
11704 #[serde(rename = "GrossUnitOfWeightId")]
11705 pub gross_unit_of_weight_id: Option<i64>,
11706 #[serde(rename = "GrossWeight")]
11707 pub gross_weight: Option<f64>,
11708 #[serde(rename = "InvoiceNumber")]
11709 pub invoice_number: Option<String>,
11710 #[serde(rename = "Packages")]
11711 pub packages: Option<Vec<TransfersCreateExternalIncomingV1RequestItemDestinationsPackages>>,
11712 #[serde(rename = "PlannedRoute")]
11713 pub planned_route: Option<String>,
11714 #[serde(rename = "RecipientLicenseNumber")]
11715 pub recipient_license_number: Option<String>,
11716 #[serde(rename = "TransferTypeName")]
11717 pub transfer_type_name: Option<String>,
11718 #[serde(rename = "Transporters")]
11719 pub transporters: Option<Vec<TransfersCreateExternalIncomingV1RequestItemDestinationsTransporters>>,
11720}
11721
11722#[derive(Serialize, Deserialize, Debug, Clone)]
11723pub struct TransfersCreateExternalIncomingV1RequestItemDestinationsPackages {
11724 #[serde(rename = "ExpirationDate")]
11725 pub expiration_date: Option<String>,
11726 #[serde(rename = "ExternalId")]
11727 pub external_id: Option<String>,
11728 #[serde(rename = "GrossUnitOfWeightName")]
11729 pub gross_unit_of_weight_name: Option<String>,
11730 #[serde(rename = "GrossWeight")]
11731 pub gross_weight: Option<f64>,
11732 #[serde(rename = "ItemName")]
11733 pub item_name: Option<String>,
11734 #[serde(rename = "PackagedDate")]
11735 pub packaged_date: Option<String>,
11736 #[serde(rename = "Quantity")]
11737 pub quantity: Option<i64>,
11738 #[serde(rename = "SellByDate")]
11739 pub sell_by_date: Option<String>,
11740 #[serde(rename = "UnitOfMeasureName")]
11741 pub unit_of_measure_name: Option<String>,
11742 #[serde(rename = "UseByDate")]
11743 pub use_by_date: Option<String>,
11744 #[serde(rename = "WholesalePrice")]
11745 pub wholesale_price: Option<String>,
11746}
11747
11748#[derive(Serialize, Deserialize, Debug, Clone)]
11749pub struct TransfersCreateExternalIncomingV1RequestItemDestinationsTransporters {
11750 #[serde(rename = "DriverLayoverLeg")]
11751 pub driver_layover_leg: Option<String>,
11752 #[serde(rename = "DriverLicenseNumber")]
11753 pub driver_license_number: Option<String>,
11754 #[serde(rename = "DriverName")]
11755 pub driver_name: Option<String>,
11756 #[serde(rename = "DriverOccupationalLicenseNumber")]
11757 pub driver_occupational_license_number: Option<String>,
11758 #[serde(rename = "EstimatedArrivalDateTime")]
11759 pub estimated_arrival_date_time: Option<String>,
11760 #[serde(rename = "EstimatedDepartureDateTime")]
11761 pub estimated_departure_date_time: Option<String>,
11762 #[serde(rename = "IsLayover")]
11763 pub is_layover: Option<bool>,
11764 #[serde(rename = "PhoneNumberForQuestions")]
11765 pub phone_number_for_questions: Option<String>,
11766 #[serde(rename = "TransporterDetails")]
11767 pub transporter_details: Option<String>,
11768 #[serde(rename = "TransporterFacilityLicenseNumber")]
11769 pub transporter_facility_license_number: Option<String>,
11770 #[serde(rename = "VehicleLicensePlateNumber")]
11771 pub vehicle_license_plate_number: Option<String>,
11772 #[serde(rename = "VehicleMake")]
11773 pub vehicle_make: Option<String>,
11774 #[serde(rename = "VehicleModel")]
11775 pub vehicle_model: Option<String>,
11776}
11777
11778#[derive(Serialize, Deserialize, Debug, Clone)]
11779pub struct TransfersCreateExternalIncomingV2RequestItem {
11780 #[serde(rename = "Destinations")]
11781 pub destinations: Option<Vec<TransfersCreateExternalIncomingV2RequestItemDestinations>>,
11782 #[serde(rename = "DriverLicenseNumber")]
11783 pub driver_license_number: Option<String>,
11784 #[serde(rename = "DriverName")]
11785 pub driver_name: Option<String>,
11786 #[serde(rename = "DriverOccupationalLicenseNumber")]
11787 pub driver_occupational_license_number: Option<String>,
11788 #[serde(rename = "PhoneNumberForQuestions")]
11789 pub phone_number_for_questions: Option<String>,
11790 #[serde(rename = "ShipperAddress1")]
11791 pub shipper_address1: Option<String>,
11792 #[serde(rename = "ShipperAddress2")]
11793 pub shipper_address2: Option<String>,
11794 #[serde(rename = "ShipperAddressCity")]
11795 pub shipper_address_city: Option<String>,
11796 #[serde(rename = "ShipperAddressPostalCode")]
11797 pub shipper_address_postal_code: Option<String>,
11798 #[serde(rename = "ShipperAddressState")]
11799 pub shipper_address_state: Option<String>,
11800 #[serde(rename = "ShipperLicenseNumber")]
11801 pub shipper_license_number: Option<String>,
11802 #[serde(rename = "ShipperMainPhoneNumber")]
11803 pub shipper_main_phone_number: Option<String>,
11804 #[serde(rename = "ShipperName")]
11805 pub shipper_name: Option<String>,
11806 #[serde(rename = "TransporterFacilityLicenseNumber")]
11807 pub transporter_facility_license_number: Option<String>,
11808 #[serde(rename = "VehicleLicensePlateNumber")]
11809 pub vehicle_license_plate_number: Option<String>,
11810 #[serde(rename = "VehicleMake")]
11811 pub vehicle_make: Option<String>,
11812 #[serde(rename = "VehicleModel")]
11813 pub vehicle_model: Option<String>,
11814}
11815
11816#[derive(Serialize, Deserialize, Debug, Clone)]
11817pub struct TransfersCreateExternalIncomingV2RequestItemDestinations {
11818 #[serde(rename = "EstimatedArrivalDateTime")]
11819 pub estimated_arrival_date_time: Option<String>,
11820 #[serde(rename = "EstimatedDepartureDateTime")]
11821 pub estimated_departure_date_time: Option<String>,
11822 #[serde(rename = "GrossUnitOfWeightId")]
11823 pub gross_unit_of_weight_id: Option<i64>,
11824 #[serde(rename = "GrossWeight")]
11825 pub gross_weight: Option<f64>,
11826 #[serde(rename = "InvoiceNumber")]
11827 pub invoice_number: Option<String>,
11828 #[serde(rename = "Packages")]
11829 pub packages: Option<Vec<TransfersCreateExternalIncomingV2RequestItemDestinationsPackages>>,
11830 #[serde(rename = "PlannedRoute")]
11831 pub planned_route: Option<String>,
11832 #[serde(rename = "RecipientLicenseNumber")]
11833 pub recipient_license_number: Option<String>,
11834 #[serde(rename = "TransferTypeName")]
11835 pub transfer_type_name: Option<String>,
11836 #[serde(rename = "Transporters")]
11837 pub transporters: Option<Vec<TransfersCreateExternalIncomingV2RequestItemDestinationsTransporters>>,
11838}
11839
11840#[derive(Serialize, Deserialize, Debug, Clone)]
11841pub struct TransfersCreateExternalIncomingV2RequestItemDestinationsPackages {
11842 #[serde(rename = "ExpirationDate")]
11843 pub expiration_date: Option<String>,
11844 #[serde(rename = "ExternalId")]
11845 pub external_id: Option<String>,
11846 #[serde(rename = "GrossUnitOfWeightName")]
11847 pub gross_unit_of_weight_name: Option<String>,
11848 #[serde(rename = "GrossWeight")]
11849 pub gross_weight: Option<f64>,
11850 #[serde(rename = "ItemName")]
11851 pub item_name: Option<String>,
11852 #[serde(rename = "PackagedDate")]
11853 pub packaged_date: Option<String>,
11854 #[serde(rename = "Quantity")]
11855 pub quantity: Option<i64>,
11856 #[serde(rename = "SellByDate")]
11857 pub sell_by_date: Option<String>,
11858 #[serde(rename = "UnitOfMeasureName")]
11859 pub unit_of_measure_name: Option<String>,
11860 #[serde(rename = "UseByDate")]
11861 pub use_by_date: Option<String>,
11862 #[serde(rename = "WholesalePrice")]
11863 pub wholesale_price: Option<String>,
11864}
11865
11866#[derive(Serialize, Deserialize, Debug, Clone)]
11867pub struct TransfersCreateExternalIncomingV2RequestItemDestinationsTransporters {
11868 #[serde(rename = "DriverLayoverLeg")]
11869 pub driver_layover_leg: Option<String>,
11870 #[serde(rename = "DriverLicenseNumber")]
11871 pub driver_license_number: Option<String>,
11872 #[serde(rename = "DriverName")]
11873 pub driver_name: Option<String>,
11874 #[serde(rename = "DriverOccupationalLicenseNumber")]
11875 pub driver_occupational_license_number: Option<String>,
11876 #[serde(rename = "EstimatedArrivalDateTime")]
11877 pub estimated_arrival_date_time: Option<String>,
11878 #[serde(rename = "EstimatedDepartureDateTime")]
11879 pub estimated_departure_date_time: Option<String>,
11880 #[serde(rename = "IsLayover")]
11881 pub is_layover: Option<bool>,
11882 #[serde(rename = "PhoneNumberForQuestions")]
11883 pub phone_number_for_questions: Option<String>,
11884 #[serde(rename = "TransporterDetails")]
11885 pub transporter_details: Option<Vec<TransfersCreateExternalIncomingV2RequestItemDestinationsTransportersTransporterDetails>>,
11886 #[serde(rename = "TransporterFacilityLicenseNumber")]
11887 pub transporter_facility_license_number: Option<String>,
11888 #[serde(rename = "VehicleLicensePlateNumber")]
11889 pub vehicle_license_plate_number: Option<String>,
11890 #[serde(rename = "VehicleMake")]
11891 pub vehicle_make: Option<String>,
11892 #[serde(rename = "VehicleModel")]
11893 pub vehicle_model: Option<String>,
11894}
11895
11896#[derive(Serialize, Deserialize, Debug, Clone)]
11897pub struct TransfersCreateExternalIncomingV2RequestItemDestinationsTransportersTransporterDetails {
11898 #[serde(rename = "DriverLayoverLeg")]
11899 pub driver_layover_leg: Option<String>,
11900 #[serde(rename = "DriverLicenseNumber")]
11901 pub driver_license_number: Option<String>,
11902 #[serde(rename = "DriverName")]
11903 pub driver_name: Option<String>,
11904 #[serde(rename = "DriverOccupationalLicenseNumber")]
11905 pub driver_occupational_license_number: Option<String>,
11906 #[serde(rename = "VehicleLicensePlateNumber")]
11907 pub vehicle_license_plate_number: Option<String>,
11908 #[serde(rename = "VehicleMake")]
11909 pub vehicle_make: Option<String>,
11910 #[serde(rename = "VehicleModel")]
11911 pub vehicle_model: Option<String>,
11912}
11913
11914#[derive(Serialize, Deserialize, Debug, Clone)]
11915pub struct TransfersCreateTemplatesV1RequestItem {
11916 #[serde(rename = "Destinations")]
11917 pub destinations: Option<Vec<TransfersCreateTemplatesV1RequestItemDestinations>>,
11918 #[serde(rename = "DriverLicenseNumber")]
11919 pub driver_license_number: Option<String>,
11920 #[serde(rename = "DriverName")]
11921 pub driver_name: Option<String>,
11922 #[serde(rename = "DriverOccupationalLicenseNumber")]
11923 pub driver_occupational_license_number: Option<String>,
11924 #[serde(rename = "Name")]
11925 pub name: Option<String>,
11926 #[serde(rename = "PhoneNumberForQuestions")]
11927 pub phone_number_for_questions: Option<String>,
11928 #[serde(rename = "TransporterFacilityLicenseNumber")]
11929 pub transporter_facility_license_number: Option<String>,
11930 #[serde(rename = "VehicleLicensePlateNumber")]
11931 pub vehicle_license_plate_number: Option<String>,
11932 #[serde(rename = "VehicleMake")]
11933 pub vehicle_make: Option<String>,
11934 #[serde(rename = "VehicleModel")]
11935 pub vehicle_model: Option<String>,
11936}
11937
11938#[derive(Serialize, Deserialize, Debug, Clone)]
11939pub struct TransfersCreateTemplatesV1RequestItemDestinations {
11940 #[serde(rename = "EstimatedArrivalDateTime")]
11941 pub estimated_arrival_date_time: Option<String>,
11942 #[serde(rename = "EstimatedDepartureDateTime")]
11943 pub estimated_departure_date_time: Option<String>,
11944 #[serde(rename = "InvoiceNumber")]
11945 pub invoice_number: Option<String>,
11946 #[serde(rename = "Packages")]
11947 pub packages: Option<Vec<TransfersCreateTemplatesV1RequestItemDestinationsPackages>>,
11948 #[serde(rename = "PlannedRoute")]
11949 pub planned_route: Option<String>,
11950 #[serde(rename = "RecipientLicenseNumber")]
11951 pub recipient_license_number: Option<String>,
11952 #[serde(rename = "TransferTypeName")]
11953 pub transfer_type_name: Option<String>,
11954 #[serde(rename = "Transporters")]
11955 pub transporters: Option<Vec<TransfersCreateTemplatesV1RequestItemDestinationsTransporters>>,
11956}
11957
11958#[derive(Serialize, Deserialize, Debug, Clone)]
11959pub struct TransfersCreateTemplatesV1RequestItemDestinationsPackages {
11960 #[serde(rename = "GrossUnitOfWeightName")]
11961 pub gross_unit_of_weight_name: Option<String>,
11962 #[serde(rename = "GrossWeight")]
11963 pub gross_weight: Option<f64>,
11964 #[serde(rename = "PackageLabel")]
11965 pub package_label: Option<String>,
11966 #[serde(rename = "WholesalePrice")]
11967 pub wholesale_price: Option<String>,
11968}
11969
11970#[derive(Serialize, Deserialize, Debug, Clone)]
11971pub struct TransfersCreateTemplatesV1RequestItemDestinationsTransporters {
11972 #[serde(rename = "DriverLayoverLeg")]
11973 pub driver_layover_leg: Option<String>,
11974 #[serde(rename = "DriverLicenseNumber")]
11975 pub driver_license_number: Option<String>,
11976 #[serde(rename = "DriverName")]
11977 pub driver_name: Option<String>,
11978 #[serde(rename = "DriverOccupationalLicenseNumber")]
11979 pub driver_occupational_license_number: Option<String>,
11980 #[serde(rename = "EstimatedArrivalDateTime")]
11981 pub estimated_arrival_date_time: Option<String>,
11982 #[serde(rename = "EstimatedDepartureDateTime")]
11983 pub estimated_departure_date_time: Option<String>,
11984 #[serde(rename = "IsLayover")]
11985 pub is_layover: Option<bool>,
11986 #[serde(rename = "PhoneNumberForQuestions")]
11987 pub phone_number_for_questions: Option<String>,
11988 #[serde(rename = "TransporterDetails")]
11989 pub transporter_details: Option<String>,
11990 #[serde(rename = "TransporterFacilityLicenseNumber")]
11991 pub transporter_facility_license_number: Option<String>,
11992 #[serde(rename = "VehicleLicensePlateNumber")]
11993 pub vehicle_license_plate_number: Option<String>,
11994 #[serde(rename = "VehicleMake")]
11995 pub vehicle_make: Option<String>,
11996 #[serde(rename = "VehicleModel")]
11997 pub vehicle_model: Option<String>,
11998}
11999
12000#[derive(Serialize, Deserialize, Debug, Clone)]
12001pub struct TransfersCreateTemplatesOutgoingV2RequestItem {
12002 #[serde(rename = "Destinations")]
12003 pub destinations: Option<Vec<TransfersCreateTemplatesOutgoingV2RequestItemDestinations>>,
12004 #[serde(rename = "DriverLicenseNumber")]
12005 pub driver_license_number: Option<String>,
12006 #[serde(rename = "DriverName")]
12007 pub driver_name: Option<String>,
12008 #[serde(rename = "DriverOccupationalLicenseNumber")]
12009 pub driver_occupational_license_number: Option<String>,
12010 #[serde(rename = "Name")]
12011 pub name: Option<String>,
12012 #[serde(rename = "PhoneNumberForQuestions")]
12013 pub phone_number_for_questions: Option<String>,
12014 #[serde(rename = "TransporterFacilityLicenseNumber")]
12015 pub transporter_facility_license_number: Option<String>,
12016 #[serde(rename = "VehicleLicensePlateNumber")]
12017 pub vehicle_license_plate_number: Option<String>,
12018 #[serde(rename = "VehicleMake")]
12019 pub vehicle_make: Option<String>,
12020 #[serde(rename = "VehicleModel")]
12021 pub vehicle_model: Option<String>,
12022}
12023
12024#[derive(Serialize, Deserialize, Debug, Clone)]
12025pub struct TransfersCreateTemplatesOutgoingV2RequestItemDestinations {
12026 #[serde(rename = "EstimatedArrivalDateTime")]
12027 pub estimated_arrival_date_time: Option<String>,
12028 #[serde(rename = "EstimatedDepartureDateTime")]
12029 pub estimated_departure_date_time: Option<String>,
12030 #[serde(rename = "InvoiceNumber")]
12031 pub invoice_number: Option<String>,
12032 #[serde(rename = "Packages")]
12033 pub packages: Option<Vec<TransfersCreateTemplatesOutgoingV2RequestItemDestinationsPackages>>,
12034 #[serde(rename = "PlannedRoute")]
12035 pub planned_route: Option<String>,
12036 #[serde(rename = "RecipientLicenseNumber")]
12037 pub recipient_license_number: Option<String>,
12038 #[serde(rename = "TransferTypeName")]
12039 pub transfer_type_name: Option<String>,
12040 #[serde(rename = "Transporters")]
12041 pub transporters: Option<Vec<TransfersCreateTemplatesOutgoingV2RequestItemDestinationsTransporters>>,
12042}
12043
12044#[derive(Serialize, Deserialize, Debug, Clone)]
12045pub struct TransfersCreateTemplatesOutgoingV2RequestItemDestinationsPackages {
12046 #[serde(rename = "GrossUnitOfWeightName")]
12047 pub gross_unit_of_weight_name: Option<String>,
12048 #[serde(rename = "GrossWeight")]
12049 pub gross_weight: Option<f64>,
12050 #[serde(rename = "PackageLabel")]
12051 pub package_label: Option<String>,
12052 #[serde(rename = "WholesalePrice")]
12053 pub wholesale_price: Option<String>,
12054}
12055
12056#[derive(Serialize, Deserialize, Debug, Clone)]
12057pub struct TransfersCreateTemplatesOutgoingV2RequestItemDestinationsTransporters {
12058 #[serde(rename = "DriverLayoverLeg")]
12059 pub driver_layover_leg: Option<String>,
12060 #[serde(rename = "DriverLicenseNumber")]
12061 pub driver_license_number: Option<String>,
12062 #[serde(rename = "DriverName")]
12063 pub driver_name: Option<String>,
12064 #[serde(rename = "DriverOccupationalLicenseNumber")]
12065 pub driver_occupational_license_number: Option<String>,
12066 #[serde(rename = "EstimatedArrivalDateTime")]
12067 pub estimated_arrival_date_time: Option<String>,
12068 #[serde(rename = "EstimatedDepartureDateTime")]
12069 pub estimated_departure_date_time: Option<String>,
12070 #[serde(rename = "IsLayover")]
12071 pub is_layover: Option<bool>,
12072 #[serde(rename = "PhoneNumberForQuestions")]
12073 pub phone_number_for_questions: Option<String>,
12074 #[serde(rename = "TransporterDetails")]
12075 pub transporter_details: Option<Vec<TransfersCreateTemplatesOutgoingV2RequestItemDestinationsTransportersTransporterDetails>>,
12076 #[serde(rename = "TransporterFacilityLicenseNumber")]
12077 pub transporter_facility_license_number: Option<String>,
12078 #[serde(rename = "VehicleLicensePlateNumber")]
12079 pub vehicle_license_plate_number: Option<String>,
12080 #[serde(rename = "VehicleMake")]
12081 pub vehicle_make: Option<String>,
12082 #[serde(rename = "VehicleModel")]
12083 pub vehicle_model: Option<String>,
12084}
12085
12086#[derive(Serialize, Deserialize, Debug, Clone)]
12087pub struct TransfersCreateTemplatesOutgoingV2RequestItemDestinationsTransportersTransporterDetails {
12088 #[serde(rename = "DriverLayoverLeg")]
12089 pub driver_layover_leg: Option<String>,
12090 #[serde(rename = "DriverLicenseNumber")]
12091 pub driver_license_number: Option<String>,
12092 #[serde(rename = "DriverName")]
12093 pub driver_name: Option<String>,
12094 #[serde(rename = "DriverOccupationalLicenseNumber")]
12095 pub driver_occupational_license_number: Option<String>,
12096 #[serde(rename = "VehicleLicensePlateNumber")]
12097 pub vehicle_license_plate_number: Option<String>,
12098 #[serde(rename = "VehicleMake")]
12099 pub vehicle_make: Option<String>,
12100 #[serde(rename = "VehicleModel")]
12101 pub vehicle_model: Option<String>,
12102}
12103
12104#[derive(Serialize, Deserialize, Debug, Clone)]
12105pub struct TransfersUpdateExternalIncomingV1RequestItem {
12106 #[serde(rename = "Destinations")]
12107 pub destinations: Option<Vec<TransfersUpdateExternalIncomingV1RequestItemDestinations>>,
12108 #[serde(rename = "DriverLicenseNumber")]
12109 pub driver_license_number: Option<String>,
12110 #[serde(rename = "DriverName")]
12111 pub driver_name: Option<String>,
12112 #[serde(rename = "DriverOccupationalLicenseNumber")]
12113 pub driver_occupational_license_number: Option<String>,
12114 #[serde(rename = "PhoneNumberForQuestions")]
12115 pub phone_number_for_questions: Option<String>,
12116 #[serde(rename = "ShipperAddress1")]
12117 pub shipper_address1: Option<String>,
12118 #[serde(rename = "ShipperAddress2")]
12119 pub shipper_address2: Option<String>,
12120 #[serde(rename = "ShipperAddressCity")]
12121 pub shipper_address_city: Option<String>,
12122 #[serde(rename = "ShipperAddressPostalCode")]
12123 pub shipper_address_postal_code: Option<String>,
12124 #[serde(rename = "ShipperAddressState")]
12125 pub shipper_address_state: Option<String>,
12126 #[serde(rename = "ShipperLicenseNumber")]
12127 pub shipper_license_number: Option<String>,
12128 #[serde(rename = "ShipperMainPhoneNumber")]
12129 pub shipper_main_phone_number: Option<String>,
12130 #[serde(rename = "ShipperName")]
12131 pub shipper_name: Option<String>,
12132 #[serde(rename = "TransferId")]
12133 pub transfer_id: Option<i64>,
12134 #[serde(rename = "TransporterFacilityLicenseNumber")]
12135 pub transporter_facility_license_number: Option<String>,
12136 #[serde(rename = "VehicleLicensePlateNumber")]
12137 pub vehicle_license_plate_number: Option<String>,
12138 #[serde(rename = "VehicleMake")]
12139 pub vehicle_make: Option<String>,
12140 #[serde(rename = "VehicleModel")]
12141 pub vehicle_model: Option<String>,
12142}
12143
12144#[derive(Serialize, Deserialize, Debug, Clone)]
12145pub struct TransfersUpdateExternalIncomingV1RequestItemDestinations {
12146 #[serde(rename = "EstimatedArrivalDateTime")]
12147 pub estimated_arrival_date_time: Option<String>,
12148 #[serde(rename = "EstimatedDepartureDateTime")]
12149 pub estimated_departure_date_time: Option<String>,
12150 #[serde(rename = "GrossUnitOfWeightId")]
12151 pub gross_unit_of_weight_id: Option<i64>,
12152 #[serde(rename = "GrossWeight")]
12153 pub gross_weight: Option<f64>,
12154 #[serde(rename = "InvoiceNumber")]
12155 pub invoice_number: Option<String>,
12156 #[serde(rename = "Packages")]
12157 pub packages: Option<Vec<TransfersUpdateExternalIncomingV1RequestItemDestinationsPackages>>,
12158 #[serde(rename = "PlannedRoute")]
12159 pub planned_route: Option<String>,
12160 #[serde(rename = "RecipientLicenseNumber")]
12161 pub recipient_license_number: Option<String>,
12162 #[serde(rename = "TransferDestinationId")]
12163 pub transfer_destination_id: Option<i64>,
12164 #[serde(rename = "TransferTypeName")]
12165 pub transfer_type_name: Option<String>,
12166 #[serde(rename = "Transporters")]
12167 pub transporters: Option<Vec<TransfersUpdateExternalIncomingV1RequestItemDestinationsTransporters>>,
12168}
12169
12170#[derive(Serialize, Deserialize, Debug, Clone)]
12171pub struct TransfersUpdateExternalIncomingV1RequestItemDestinationsPackages {
12172 #[serde(rename = "ExpirationDate")]
12173 pub expiration_date: Option<String>,
12174 #[serde(rename = "ExternalId")]
12175 pub external_id: Option<String>,
12176 #[serde(rename = "GrossUnitOfWeightName")]
12177 pub gross_unit_of_weight_name: Option<String>,
12178 #[serde(rename = "GrossWeight")]
12179 pub gross_weight: Option<f64>,
12180 #[serde(rename = "ItemName")]
12181 pub item_name: Option<String>,
12182 #[serde(rename = "PackagedDate")]
12183 pub packaged_date: Option<String>,
12184 #[serde(rename = "Quantity")]
12185 pub quantity: Option<i64>,
12186 #[serde(rename = "SellByDate")]
12187 pub sell_by_date: Option<String>,
12188 #[serde(rename = "UnitOfMeasureName")]
12189 pub unit_of_measure_name: Option<String>,
12190 #[serde(rename = "UseByDate")]
12191 pub use_by_date: Option<String>,
12192 #[serde(rename = "WholesalePrice")]
12193 pub wholesale_price: Option<String>,
12194}
12195
12196#[derive(Serialize, Deserialize, Debug, Clone)]
12197pub struct TransfersUpdateExternalIncomingV1RequestItemDestinationsTransporters {
12198 #[serde(rename = "DriverLayoverLeg")]
12199 pub driver_layover_leg: Option<String>,
12200 #[serde(rename = "DriverLicenseNumber")]
12201 pub driver_license_number: Option<String>,
12202 #[serde(rename = "DriverName")]
12203 pub driver_name: Option<String>,
12204 #[serde(rename = "DriverOccupationalLicenseNumber")]
12205 pub driver_occupational_license_number: Option<String>,
12206 #[serde(rename = "EstimatedArrivalDateTime")]
12207 pub estimated_arrival_date_time: Option<String>,
12208 #[serde(rename = "EstimatedDepartureDateTime")]
12209 pub estimated_departure_date_time: Option<String>,
12210 #[serde(rename = "IsLayover")]
12211 pub is_layover: Option<bool>,
12212 #[serde(rename = "PhoneNumberForQuestions")]
12213 pub phone_number_for_questions: Option<String>,
12214 #[serde(rename = "TransporterDetails")]
12215 pub transporter_details: Option<String>,
12216 #[serde(rename = "TransporterFacilityLicenseNumber")]
12217 pub transporter_facility_license_number: Option<String>,
12218 #[serde(rename = "VehicleLicensePlateNumber")]
12219 pub vehicle_license_plate_number: Option<String>,
12220 #[serde(rename = "VehicleMake")]
12221 pub vehicle_make: Option<String>,
12222 #[serde(rename = "VehicleModel")]
12223 pub vehicle_model: Option<String>,
12224}
12225
12226#[derive(Serialize, Deserialize, Debug, Clone)]
12227pub struct TransfersUpdateExternalIncomingV2RequestItem {
12228 #[serde(rename = "Destinations")]
12229 pub destinations: Option<Vec<TransfersUpdateExternalIncomingV2RequestItemDestinations>>,
12230 #[serde(rename = "DriverLicenseNumber")]
12231 pub driver_license_number: Option<String>,
12232 #[serde(rename = "DriverName")]
12233 pub driver_name: Option<String>,
12234 #[serde(rename = "DriverOccupationalLicenseNumber")]
12235 pub driver_occupational_license_number: Option<String>,
12236 #[serde(rename = "PhoneNumberForQuestions")]
12237 pub phone_number_for_questions: Option<String>,
12238 #[serde(rename = "ShipperAddress1")]
12239 pub shipper_address1: Option<String>,
12240 #[serde(rename = "ShipperAddress2")]
12241 pub shipper_address2: Option<String>,
12242 #[serde(rename = "ShipperAddressCity")]
12243 pub shipper_address_city: Option<String>,
12244 #[serde(rename = "ShipperAddressPostalCode")]
12245 pub shipper_address_postal_code: Option<String>,
12246 #[serde(rename = "ShipperAddressState")]
12247 pub shipper_address_state: Option<String>,
12248 #[serde(rename = "ShipperLicenseNumber")]
12249 pub shipper_license_number: Option<String>,
12250 #[serde(rename = "ShipperMainPhoneNumber")]
12251 pub shipper_main_phone_number: Option<String>,
12252 #[serde(rename = "ShipperName")]
12253 pub shipper_name: Option<String>,
12254 #[serde(rename = "TransferId")]
12255 pub transfer_id: Option<i64>,
12256 #[serde(rename = "TransporterFacilityLicenseNumber")]
12257 pub transporter_facility_license_number: Option<String>,
12258 #[serde(rename = "VehicleLicensePlateNumber")]
12259 pub vehicle_license_plate_number: Option<String>,
12260 #[serde(rename = "VehicleMake")]
12261 pub vehicle_make: Option<String>,
12262 #[serde(rename = "VehicleModel")]
12263 pub vehicle_model: Option<String>,
12264}
12265
12266#[derive(Serialize, Deserialize, Debug, Clone)]
12267pub struct TransfersUpdateExternalIncomingV2RequestItemDestinations {
12268 #[serde(rename = "EstimatedArrivalDateTime")]
12269 pub estimated_arrival_date_time: Option<String>,
12270 #[serde(rename = "EstimatedDepartureDateTime")]
12271 pub estimated_departure_date_time: Option<String>,
12272 #[serde(rename = "GrossUnitOfWeightId")]
12273 pub gross_unit_of_weight_id: Option<i64>,
12274 #[serde(rename = "GrossWeight")]
12275 pub gross_weight: Option<f64>,
12276 #[serde(rename = "InvoiceNumber")]
12277 pub invoice_number: Option<String>,
12278 #[serde(rename = "Packages")]
12279 pub packages: Option<Vec<TransfersUpdateExternalIncomingV2RequestItemDestinationsPackages>>,
12280 #[serde(rename = "PlannedRoute")]
12281 pub planned_route: Option<String>,
12282 #[serde(rename = "RecipientLicenseNumber")]
12283 pub recipient_license_number: Option<String>,
12284 #[serde(rename = "TransferDestinationId")]
12285 pub transfer_destination_id: Option<i64>,
12286 #[serde(rename = "TransferTypeName")]
12287 pub transfer_type_name: Option<String>,
12288 #[serde(rename = "Transporters")]
12289 pub transporters: Option<Vec<TransfersUpdateExternalIncomingV2RequestItemDestinationsTransporters>>,
12290}
12291
12292#[derive(Serialize, Deserialize, Debug, Clone)]
12293pub struct TransfersUpdateExternalIncomingV2RequestItemDestinationsPackages {
12294 #[serde(rename = "ExpirationDate")]
12295 pub expiration_date: Option<String>,
12296 #[serde(rename = "ExternalId")]
12297 pub external_id: Option<String>,
12298 #[serde(rename = "GrossUnitOfWeightName")]
12299 pub gross_unit_of_weight_name: Option<String>,
12300 #[serde(rename = "GrossWeight")]
12301 pub gross_weight: Option<f64>,
12302 #[serde(rename = "ItemName")]
12303 pub item_name: Option<String>,
12304 #[serde(rename = "PackagedDate")]
12305 pub packaged_date: Option<String>,
12306 #[serde(rename = "Quantity")]
12307 pub quantity: Option<i64>,
12308 #[serde(rename = "SellByDate")]
12309 pub sell_by_date: Option<String>,
12310 #[serde(rename = "UnitOfMeasureName")]
12311 pub unit_of_measure_name: Option<String>,
12312 #[serde(rename = "UseByDate")]
12313 pub use_by_date: Option<String>,
12314 #[serde(rename = "WholesalePrice")]
12315 pub wholesale_price: Option<String>,
12316}
12317
12318#[derive(Serialize, Deserialize, Debug, Clone)]
12319pub struct TransfersUpdateExternalIncomingV2RequestItemDestinationsTransporters {
12320 #[serde(rename = "DriverLayoverLeg")]
12321 pub driver_layover_leg: Option<String>,
12322 #[serde(rename = "DriverLicenseNumber")]
12323 pub driver_license_number: Option<String>,
12324 #[serde(rename = "DriverName")]
12325 pub driver_name: Option<String>,
12326 #[serde(rename = "DriverOccupationalLicenseNumber")]
12327 pub driver_occupational_license_number: Option<String>,
12328 #[serde(rename = "EstimatedArrivalDateTime")]
12329 pub estimated_arrival_date_time: Option<String>,
12330 #[serde(rename = "EstimatedDepartureDateTime")]
12331 pub estimated_departure_date_time: Option<String>,
12332 #[serde(rename = "IsLayover")]
12333 pub is_layover: Option<bool>,
12334 #[serde(rename = "PhoneNumberForQuestions")]
12335 pub phone_number_for_questions: Option<String>,
12336 #[serde(rename = "TransporterDetails")]
12337 pub transporter_details: Option<Vec<TransfersUpdateExternalIncomingV2RequestItemDestinationsTransportersTransporterDetails>>,
12338 #[serde(rename = "TransporterFacilityLicenseNumber")]
12339 pub transporter_facility_license_number: Option<String>,
12340 #[serde(rename = "VehicleLicensePlateNumber")]
12341 pub vehicle_license_plate_number: Option<String>,
12342 #[serde(rename = "VehicleMake")]
12343 pub vehicle_make: Option<String>,
12344 #[serde(rename = "VehicleModel")]
12345 pub vehicle_model: Option<String>,
12346}
12347
12348#[derive(Serialize, Deserialize, Debug, Clone)]
12349pub struct TransfersUpdateExternalIncomingV2RequestItemDestinationsTransportersTransporterDetails {
12350 #[serde(rename = "DriverLayoverLeg")]
12351 pub driver_layover_leg: Option<String>,
12352 #[serde(rename = "DriverLicenseNumber")]
12353 pub driver_license_number: Option<String>,
12354 #[serde(rename = "DriverName")]
12355 pub driver_name: Option<String>,
12356 #[serde(rename = "DriverOccupationalLicenseNumber")]
12357 pub driver_occupational_license_number: Option<String>,
12358 #[serde(rename = "VehicleLicensePlateNumber")]
12359 pub vehicle_license_plate_number: Option<String>,
12360 #[serde(rename = "VehicleMake")]
12361 pub vehicle_make: Option<String>,
12362 #[serde(rename = "VehicleModel")]
12363 pub vehicle_model: Option<String>,
12364}
12365
12366#[derive(Serialize, Deserialize, Debug, Clone)]
12367pub struct TransfersUpdateTemplatesV1RequestItem {
12368 #[serde(rename = "Destinations")]
12369 pub destinations: Option<Vec<TransfersUpdateTemplatesV1RequestItemDestinations>>,
12370 #[serde(rename = "DriverLicenseNumber")]
12371 pub driver_license_number: Option<String>,
12372 #[serde(rename = "DriverName")]
12373 pub driver_name: Option<String>,
12374 #[serde(rename = "DriverOccupationalLicenseNumber")]
12375 pub driver_occupational_license_number: Option<String>,
12376 #[serde(rename = "Name")]
12377 pub name: Option<String>,
12378 #[serde(rename = "PhoneNumberForQuestions")]
12379 pub phone_number_for_questions: Option<String>,
12380 #[serde(rename = "TransferTemplateId")]
12381 pub transfer_template_id: Option<i64>,
12382 #[serde(rename = "TransporterFacilityLicenseNumber")]
12383 pub transporter_facility_license_number: Option<String>,
12384 #[serde(rename = "VehicleLicensePlateNumber")]
12385 pub vehicle_license_plate_number: Option<String>,
12386 #[serde(rename = "VehicleMake")]
12387 pub vehicle_make: Option<String>,
12388 #[serde(rename = "VehicleModel")]
12389 pub vehicle_model: Option<String>,
12390}
12391
12392#[derive(Serialize, Deserialize, Debug, Clone)]
12393pub struct TransfersUpdateTemplatesV1RequestItemDestinations {
12394 #[serde(rename = "EstimatedArrivalDateTime")]
12395 pub estimated_arrival_date_time: Option<String>,
12396 #[serde(rename = "EstimatedDepartureDateTime")]
12397 pub estimated_departure_date_time: Option<String>,
12398 #[serde(rename = "InvoiceNumber")]
12399 pub invoice_number: Option<String>,
12400 #[serde(rename = "Packages")]
12401 pub packages: Option<Vec<TransfersUpdateTemplatesV1RequestItemDestinationsPackages>>,
12402 #[serde(rename = "PlannedRoute")]
12403 pub planned_route: Option<String>,
12404 #[serde(rename = "RecipientLicenseNumber")]
12405 pub recipient_license_number: Option<String>,
12406 #[serde(rename = "TransferDestinationId")]
12407 pub transfer_destination_id: Option<i64>,
12408 #[serde(rename = "TransferTypeName")]
12409 pub transfer_type_name: Option<String>,
12410 #[serde(rename = "Transporters")]
12411 pub transporters: Option<Vec<TransfersUpdateTemplatesV1RequestItemDestinationsTransporters>>,
12412}
12413
12414#[derive(Serialize, Deserialize, Debug, Clone)]
12415pub struct TransfersUpdateTemplatesV1RequestItemDestinationsPackages {
12416 #[serde(rename = "GrossUnitOfWeightName")]
12417 pub gross_unit_of_weight_name: Option<String>,
12418 #[serde(rename = "GrossWeight")]
12419 pub gross_weight: Option<f64>,
12420 #[serde(rename = "PackageLabel")]
12421 pub package_label: Option<String>,
12422 #[serde(rename = "WholesalePrice")]
12423 pub wholesale_price: Option<String>,
12424}
12425
12426#[derive(Serialize, Deserialize, Debug, Clone)]
12427pub struct TransfersUpdateTemplatesV1RequestItemDestinationsTransporters {
12428 #[serde(rename = "DriverLayoverLeg")]
12429 pub driver_layover_leg: Option<String>,
12430 #[serde(rename = "DriverLicenseNumber")]
12431 pub driver_license_number: Option<String>,
12432 #[serde(rename = "DriverName")]
12433 pub driver_name: Option<String>,
12434 #[serde(rename = "DriverOccupationalLicenseNumber")]
12435 pub driver_occupational_license_number: Option<String>,
12436 #[serde(rename = "EstimatedArrivalDateTime")]
12437 pub estimated_arrival_date_time: Option<String>,
12438 #[serde(rename = "EstimatedDepartureDateTime")]
12439 pub estimated_departure_date_time: Option<String>,
12440 #[serde(rename = "IsLayover")]
12441 pub is_layover: Option<bool>,
12442 #[serde(rename = "PhoneNumberForQuestions")]
12443 pub phone_number_for_questions: Option<String>,
12444 #[serde(rename = "TransporterDetails")]
12445 pub transporter_details: Option<String>,
12446 #[serde(rename = "TransporterFacilityLicenseNumber")]
12447 pub transporter_facility_license_number: Option<String>,
12448 #[serde(rename = "VehicleLicensePlateNumber")]
12449 pub vehicle_license_plate_number: Option<String>,
12450 #[serde(rename = "VehicleMake")]
12451 pub vehicle_make: Option<String>,
12452 #[serde(rename = "VehicleModel")]
12453 pub vehicle_model: Option<String>,
12454}
12455
12456#[derive(Serialize, Deserialize, Debug, Clone)]
12457pub struct TransfersUpdateTemplatesOutgoingV2RequestItem {
12458 #[serde(rename = "Destinations")]
12459 pub destinations: Option<Vec<TransfersUpdateTemplatesOutgoingV2RequestItemDestinations>>,
12460 #[serde(rename = "DriverLicenseNumber")]
12461 pub driver_license_number: Option<String>,
12462 #[serde(rename = "DriverName")]
12463 pub driver_name: Option<String>,
12464 #[serde(rename = "DriverOccupationalLicenseNumber")]
12465 pub driver_occupational_license_number: Option<String>,
12466 #[serde(rename = "Name")]
12467 pub name: Option<String>,
12468 #[serde(rename = "PhoneNumberForQuestions")]
12469 pub phone_number_for_questions: Option<String>,
12470 #[serde(rename = "TransferTemplateId")]
12471 pub transfer_template_id: Option<i64>,
12472 #[serde(rename = "TransporterFacilityLicenseNumber")]
12473 pub transporter_facility_license_number: Option<String>,
12474 #[serde(rename = "VehicleLicensePlateNumber")]
12475 pub vehicle_license_plate_number: Option<String>,
12476 #[serde(rename = "VehicleMake")]
12477 pub vehicle_make: Option<String>,
12478 #[serde(rename = "VehicleModel")]
12479 pub vehicle_model: Option<String>,
12480}
12481
12482#[derive(Serialize, Deserialize, Debug, Clone)]
12483pub struct TransfersUpdateTemplatesOutgoingV2RequestItemDestinations {
12484 #[serde(rename = "EstimatedArrivalDateTime")]
12485 pub estimated_arrival_date_time: Option<String>,
12486 #[serde(rename = "EstimatedDepartureDateTime")]
12487 pub estimated_departure_date_time: Option<String>,
12488 #[serde(rename = "InvoiceNumber")]
12489 pub invoice_number: Option<String>,
12490 #[serde(rename = "Packages")]
12491 pub packages: Option<Vec<TransfersUpdateTemplatesOutgoingV2RequestItemDestinationsPackages>>,
12492 #[serde(rename = "PlannedRoute")]
12493 pub planned_route: Option<String>,
12494 #[serde(rename = "RecipientLicenseNumber")]
12495 pub recipient_license_number: Option<String>,
12496 #[serde(rename = "TransferDestinationId")]
12497 pub transfer_destination_id: Option<i64>,
12498 #[serde(rename = "TransferTypeName")]
12499 pub transfer_type_name: Option<String>,
12500 #[serde(rename = "Transporters")]
12501 pub transporters: Option<Vec<TransfersUpdateTemplatesOutgoingV2RequestItemDestinationsTransporters>>,
12502}
12503
12504#[derive(Serialize, Deserialize, Debug, Clone)]
12505pub struct TransfersUpdateTemplatesOutgoingV2RequestItemDestinationsPackages {
12506 #[serde(rename = "GrossUnitOfWeightName")]
12507 pub gross_unit_of_weight_name: Option<String>,
12508 #[serde(rename = "GrossWeight")]
12509 pub gross_weight: Option<f64>,
12510 #[serde(rename = "PackageLabel")]
12511 pub package_label: Option<String>,
12512 #[serde(rename = "WholesalePrice")]
12513 pub wholesale_price: Option<String>,
12514}
12515
12516#[derive(Serialize, Deserialize, Debug, Clone)]
12517pub struct TransfersUpdateTemplatesOutgoingV2RequestItemDestinationsTransporters {
12518 #[serde(rename = "DriverLayoverLeg")]
12519 pub driver_layover_leg: Option<String>,
12520 #[serde(rename = "DriverLicenseNumber")]
12521 pub driver_license_number: Option<String>,
12522 #[serde(rename = "DriverName")]
12523 pub driver_name: Option<String>,
12524 #[serde(rename = "DriverOccupationalLicenseNumber")]
12525 pub driver_occupational_license_number: Option<String>,
12526 #[serde(rename = "EstimatedArrivalDateTime")]
12527 pub estimated_arrival_date_time: Option<String>,
12528 #[serde(rename = "EstimatedDepartureDateTime")]
12529 pub estimated_departure_date_time: Option<String>,
12530 #[serde(rename = "IsLayover")]
12531 pub is_layover: Option<bool>,
12532 #[serde(rename = "PhoneNumberForQuestions")]
12533 pub phone_number_for_questions: Option<String>,
12534 #[serde(rename = "TransporterDetails")]
12535 pub transporter_details: Option<Vec<TransfersUpdateTemplatesOutgoingV2RequestItemDestinationsTransportersTransporterDetails>>,
12536 #[serde(rename = "TransporterFacilityLicenseNumber")]
12537 pub transporter_facility_license_number: Option<String>,
12538 #[serde(rename = "VehicleLicensePlateNumber")]
12539 pub vehicle_license_plate_number: Option<String>,
12540 #[serde(rename = "VehicleMake")]
12541 pub vehicle_make: Option<String>,
12542 #[serde(rename = "VehicleModel")]
12543 pub vehicle_model: Option<String>,
12544}
12545
12546#[derive(Serialize, Deserialize, Debug, Clone)]
12547pub struct TransfersUpdateTemplatesOutgoingV2RequestItemDestinationsTransportersTransporterDetails {
12548 #[serde(rename = "DriverLayoverLeg")]
12549 pub driver_layover_leg: Option<String>,
12550 #[serde(rename = "DriverLicenseNumber")]
12551 pub driver_license_number: Option<String>,
12552 #[serde(rename = "DriverName")]
12553 pub driver_name: Option<String>,
12554 #[serde(rename = "DriverOccupationalLicenseNumber")]
12555 pub driver_occupational_license_number: Option<String>,
12556 #[serde(rename = "VehicleLicensePlateNumber")]
12557 pub vehicle_license_plate_number: Option<String>,
12558 #[serde(rename = "VehicleMake")]
12559 pub vehicle_make: Option<String>,
12560 #[serde(rename = "VehicleModel")]
12561 pub vehicle_model: Option<String>,
12562}
12563
12564#[derive(Serialize, Deserialize, Debug, Clone)]
12565pub struct ItemsCreateV1RequestItem {
12566 #[serde(rename = "AdministrationMethod")]
12567 pub administration_method: Option<String>,
12568 #[serde(rename = "Allergens")]
12569 pub allergens: Option<String>,
12570 #[serde(rename = "Description")]
12571 pub description: Option<String>,
12572 #[serde(rename = "GlobalProductName")]
12573 pub global_product_name: Option<String>,
12574 #[serde(rename = "ItemBrand")]
12575 pub item_brand: Option<String>,
12576 #[serde(rename = "ItemCategory")]
12577 pub item_category: Option<String>,
12578 #[serde(rename = "ItemIngredients")]
12579 pub item_ingredients: Option<String>,
12580 #[serde(rename = "LabelImageFileSystemIds")]
12581 pub label_image_file_system_ids: Option<String>,
12582 #[serde(rename = "LabelPhotoDescription")]
12583 pub label_photo_description: Option<String>,
12584 #[serde(rename = "Name")]
12585 pub name: Option<String>,
12586 #[serde(rename = "NumberOfDoses")]
12587 pub number_of_doses: Option<String>,
12588 #[serde(rename = "PackagingImageFileSystemIds")]
12589 pub packaging_image_file_system_ids: Option<String>,
12590 #[serde(rename = "PackagingPhotoDescription")]
12591 pub packaging_photo_description: Option<String>,
12592 #[serde(rename = "ProcessingJobCategoryName")]
12593 pub processing_job_category_name: Option<String>,
12594 #[serde(rename = "ProcessingJobTypeName")]
12595 pub processing_job_type_name: Option<String>,
12596 #[serde(rename = "ProductImageFileSystemIds")]
12597 pub product_image_file_system_ids: Option<String>,
12598 #[serde(rename = "ProductPDFFileSystemIds")]
12599 pub product_pdf_file_system_ids: Option<String>,
12600 #[serde(rename = "ProductPhotoDescription")]
12601 pub product_photo_description: Option<String>,
12602 #[serde(rename = "PublicIngredients")]
12603 pub public_ingredients: Option<String>,
12604 #[serde(rename = "ServingSize")]
12605 pub serving_size: Option<String>,
12606 #[serde(rename = "Strain")]
12607 pub strain: Option<String>,
12608 #[serde(rename = "SupplyDurationDays")]
12609 pub supply_duration_days: Option<i64>,
12610 #[serde(rename = "UnitCbdAContent")]
12611 pub unit_cbd_a_content: Option<f64>,
12612 #[serde(rename = "UnitCbdAContentDose")]
12613 pub unit_cbd_a_content_dose: Option<f64>,
12614 #[serde(rename = "UnitCbdAContentDoseUnitOfMeasure")]
12615 pub unit_cbd_a_content_dose_unit_of_measure: Option<String>,
12616 #[serde(rename = "UnitCbdAContentUnitOfMeasure")]
12617 pub unit_cbd_a_content_unit_of_measure: Option<String>,
12618 #[serde(rename = "UnitCbdAPercent")]
12619 pub unit_cbd_a_percent: Option<f64>,
12620 #[serde(rename = "UnitCbdContent")]
12621 pub unit_cbd_content: Option<f64>,
12622 #[serde(rename = "UnitCbdContentDose")]
12623 pub unit_cbd_content_dose: Option<f64>,
12624 #[serde(rename = "UnitCbdContentDoseUnitOfMeasure")]
12625 pub unit_cbd_content_dose_unit_of_measure: Option<String>,
12626 #[serde(rename = "UnitCbdContentUnitOfMeasure")]
12627 pub unit_cbd_content_unit_of_measure: Option<String>,
12628 #[serde(rename = "UnitCbdPercent")]
12629 pub unit_cbd_percent: Option<f64>,
12630 #[serde(rename = "UnitOfMeasure")]
12631 pub unit_of_measure: Option<String>,
12632 #[serde(rename = "UnitThcAContent")]
12633 pub unit_thc_a_content: Option<f64>,
12634 #[serde(rename = "UnitThcAContentDose")]
12635 pub unit_thc_a_content_dose: Option<f64>,
12636 #[serde(rename = "UnitThcAContentDoseUnitOfMeasure")]
12637 pub unit_thc_a_content_dose_unit_of_measure: Option<String>,
12638 #[serde(rename = "UnitThcAContentUnitOfMeasure")]
12639 pub unit_thc_a_content_unit_of_measure: Option<String>,
12640 #[serde(rename = "UnitThcAPercent")]
12641 pub unit_thc_a_percent: Option<f64>,
12642 #[serde(rename = "UnitThcContent")]
12643 pub unit_thc_content: Option<f64>,
12644 #[serde(rename = "UnitThcContentDose")]
12645 pub unit_thc_content_dose: Option<f64>,
12646 #[serde(rename = "UnitThcContentDoseUnitOfMeasure")]
12647 pub unit_thc_content_dose_unit_of_measure: Option<String>,
12648 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12649 pub unit_thc_content_unit_of_measure: Option<String>,
12650 #[serde(rename = "UnitThcPercent")]
12651 pub unit_thc_percent: Option<f64>,
12652 #[serde(rename = "UnitVolume")]
12653 pub unit_volume: Option<f64>,
12654 #[serde(rename = "UnitVolumeUnitOfMeasure")]
12655 pub unit_volume_unit_of_measure: Option<String>,
12656 #[serde(rename = "UnitWeight")]
12657 pub unit_weight: Option<f64>,
12658 #[serde(rename = "UnitWeightUnitOfMeasure")]
12659 pub unit_weight_unit_of_measure: Option<String>,
12660}
12661
12662#[derive(Serialize, Deserialize, Debug, Clone)]
12663pub struct ItemsCreateV2RequestItem {
12664 #[serde(rename = "AdministrationMethod")]
12665 pub administration_method: Option<String>,
12666 #[serde(rename = "Allergens")]
12667 pub allergens: Option<String>,
12668 #[serde(rename = "Description")]
12669 pub description: Option<String>,
12670 #[serde(rename = "GlobalProductName")]
12671 pub global_product_name: Option<String>,
12672 #[serde(rename = "ItemBrand")]
12673 pub item_brand: Option<String>,
12674 #[serde(rename = "ItemCategory")]
12675 pub item_category: Option<String>,
12676 #[serde(rename = "ItemIngredients")]
12677 pub item_ingredients: Option<String>,
12678 #[serde(rename = "LabelImageFileSystemIds")]
12679 pub label_image_file_system_ids: Option<String>,
12680 #[serde(rename = "LabelPhotoDescription")]
12681 pub label_photo_description: Option<String>,
12682 #[serde(rename = "Name")]
12683 pub name: Option<String>,
12684 #[serde(rename = "NumberOfDoses")]
12685 pub number_of_doses: Option<String>,
12686 #[serde(rename = "PackagingImageFileSystemIds")]
12687 pub packaging_image_file_system_ids: Option<String>,
12688 #[serde(rename = "PackagingPhotoDescription")]
12689 pub packaging_photo_description: Option<String>,
12690 #[serde(rename = "ProcessingJobCategoryName")]
12691 pub processing_job_category_name: Option<String>,
12692 #[serde(rename = "ProcessingJobTypeName")]
12693 pub processing_job_type_name: Option<String>,
12694 #[serde(rename = "ProductImageFileSystemIds")]
12695 pub product_image_file_system_ids: Option<String>,
12696 #[serde(rename = "ProductPDFFileSystemIds")]
12697 pub product_pdf_file_system_ids: Option<String>,
12698 #[serde(rename = "ProductPhotoDescription")]
12699 pub product_photo_description: Option<String>,
12700 #[serde(rename = "PublicIngredients")]
12701 pub public_ingredients: Option<String>,
12702 #[serde(rename = "ServingSize")]
12703 pub serving_size: Option<String>,
12704 #[serde(rename = "Strain")]
12705 pub strain: Option<String>,
12706 #[serde(rename = "SupplyDurationDays")]
12707 pub supply_duration_days: Option<i64>,
12708 #[serde(rename = "UnitCbdAContent")]
12709 pub unit_cbd_a_content: Option<f64>,
12710 #[serde(rename = "UnitCbdAContentDose")]
12711 pub unit_cbd_a_content_dose: Option<f64>,
12712 #[serde(rename = "UnitCbdAContentDoseUnitOfMeasure")]
12713 pub unit_cbd_a_content_dose_unit_of_measure: Option<String>,
12714 #[serde(rename = "UnitCbdAContentUnitOfMeasure")]
12715 pub unit_cbd_a_content_unit_of_measure: Option<String>,
12716 #[serde(rename = "UnitCbdAPercent")]
12717 pub unit_cbd_a_percent: Option<f64>,
12718 #[serde(rename = "UnitCbdContent")]
12719 pub unit_cbd_content: Option<f64>,
12720 #[serde(rename = "UnitCbdContentDose")]
12721 pub unit_cbd_content_dose: Option<f64>,
12722 #[serde(rename = "UnitCbdContentDoseUnitOfMeasure")]
12723 pub unit_cbd_content_dose_unit_of_measure: Option<String>,
12724 #[serde(rename = "UnitCbdContentUnitOfMeasure")]
12725 pub unit_cbd_content_unit_of_measure: Option<String>,
12726 #[serde(rename = "UnitCbdPercent")]
12727 pub unit_cbd_percent: Option<f64>,
12728 #[serde(rename = "UnitOfMeasure")]
12729 pub unit_of_measure: Option<String>,
12730 #[serde(rename = "UnitThcAContent")]
12731 pub unit_thc_a_content: Option<f64>,
12732 #[serde(rename = "UnitThcAContentDose")]
12733 pub unit_thc_a_content_dose: Option<f64>,
12734 #[serde(rename = "UnitThcAContentDoseUnitOfMeasure")]
12735 pub unit_thc_a_content_dose_unit_of_measure: Option<String>,
12736 #[serde(rename = "UnitThcAContentUnitOfMeasure")]
12737 pub unit_thc_a_content_unit_of_measure: Option<String>,
12738 #[serde(rename = "UnitThcAPercent")]
12739 pub unit_thc_a_percent: Option<f64>,
12740 #[serde(rename = "UnitThcContent")]
12741 pub unit_thc_content: Option<f64>,
12742 #[serde(rename = "UnitThcContentDose")]
12743 pub unit_thc_content_dose: Option<f64>,
12744 #[serde(rename = "UnitThcContentDoseUnitOfMeasure")]
12745 pub unit_thc_content_dose_unit_of_measure: Option<String>,
12746 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12747 pub unit_thc_content_unit_of_measure: Option<String>,
12748 #[serde(rename = "UnitThcPercent")]
12749 pub unit_thc_percent: Option<f64>,
12750 #[serde(rename = "UnitVolume")]
12751 pub unit_volume: Option<f64>,
12752 #[serde(rename = "UnitVolumeUnitOfMeasure")]
12753 pub unit_volume_unit_of_measure: Option<String>,
12754 #[serde(rename = "UnitWeight")]
12755 pub unit_weight: Option<f64>,
12756 #[serde(rename = "UnitWeightUnitOfMeasure")]
12757 pub unit_weight_unit_of_measure: Option<String>,
12758}
12759
12760#[derive(Serialize, Deserialize, Debug, Clone)]
12761pub struct ItemsCreateBrandV2RequestItem {
12762 #[serde(rename = "Name")]
12763 pub name: Option<String>,
12764}
12765
12766#[derive(Serialize, Deserialize, Debug, Clone)]
12767pub struct ItemsCreateFileV2RequestItem {
12768 #[serde(rename = "EncodedImageBase64")]
12769 pub encoded_image_base64: Option<String>,
12770 #[serde(rename = "FileName")]
12771 pub file_name: Option<String>,
12772}
12773
12774#[derive(Serialize, Deserialize, Debug, Clone)]
12775pub struct ItemsCreatePhotoV1RequestItem {
12776 #[serde(rename = "EncodedImageBase64")]
12777 pub encoded_image_base64: Option<String>,
12778 #[serde(rename = "FileName")]
12779 pub file_name: Option<String>,
12780}
12781
12782#[derive(Serialize, Deserialize, Debug, Clone)]
12783pub struct ItemsCreatePhotoV2RequestItem {
12784 #[serde(rename = "EncodedImageBase64")]
12785 pub encoded_image_base64: Option<String>,
12786 #[serde(rename = "FileName")]
12787 pub file_name: Option<String>,
12788}
12789
12790#[derive(Serialize, Deserialize, Debug, Clone)]
12791pub struct ItemsCreateUpdateV1RequestItem {
12792 #[serde(rename = "AdministrationMethod")]
12793 pub administration_method: Option<String>,
12794 #[serde(rename = "Allergens")]
12795 pub allergens: Option<String>,
12796 #[serde(rename = "Description")]
12797 pub description: Option<String>,
12798 #[serde(rename = "GlobalProductName")]
12799 pub global_product_name: Option<String>,
12800 #[serde(rename = "Id")]
12801 pub id: Option<i64>,
12802 #[serde(rename = "ItemBrand")]
12803 pub item_brand: Option<String>,
12804 #[serde(rename = "ItemCategory")]
12805 pub item_category: Option<String>,
12806 #[serde(rename = "ItemIngredients")]
12807 pub item_ingredients: Option<String>,
12808 #[serde(rename = "LabelImageFileSystemIds")]
12809 pub label_image_file_system_ids: Option<String>,
12810 #[serde(rename = "LabelPhotoDescription")]
12811 pub label_photo_description: Option<String>,
12812 #[serde(rename = "Name")]
12813 pub name: Option<String>,
12814 #[serde(rename = "NumberOfDoses")]
12815 pub number_of_doses: Option<String>,
12816 #[serde(rename = "PackagingImageFileSystemIds")]
12817 pub packaging_image_file_system_ids: Option<String>,
12818 #[serde(rename = "PackagingPhotoDescription")]
12819 pub packaging_photo_description: Option<String>,
12820 #[serde(rename = "ProcessingJobCategoryName")]
12821 pub processing_job_category_name: Option<String>,
12822 #[serde(rename = "ProcessingJobTypeName")]
12823 pub processing_job_type_name: Option<String>,
12824 #[serde(rename = "ProductImageFileSystemIds")]
12825 pub product_image_file_system_ids: Option<String>,
12826 #[serde(rename = "ProductPDFFileSystemIds")]
12827 pub product_pdf_file_system_ids: Option<String>,
12828 #[serde(rename = "ProductPhotoDescription")]
12829 pub product_photo_description: Option<String>,
12830 #[serde(rename = "PublicIngredients")]
12831 pub public_ingredients: Option<String>,
12832 #[serde(rename = "ServingSize")]
12833 pub serving_size: Option<String>,
12834 #[serde(rename = "Strain")]
12835 pub strain: Option<String>,
12836 #[serde(rename = "SupplyDurationDays")]
12837 pub supply_duration_days: Option<i64>,
12838 #[serde(rename = "UnitCbdAContent")]
12839 pub unit_cbd_a_content: Option<f64>,
12840 #[serde(rename = "UnitCbdAContentDose")]
12841 pub unit_cbd_a_content_dose: Option<f64>,
12842 #[serde(rename = "UnitCbdAContentDoseUnitOfMeasure")]
12843 pub unit_cbd_a_content_dose_unit_of_measure: Option<String>,
12844 #[serde(rename = "UnitCbdAContentUnitOfMeasure")]
12845 pub unit_cbd_a_content_unit_of_measure: Option<String>,
12846 #[serde(rename = "UnitCbdAPercent")]
12847 pub unit_cbd_a_percent: Option<f64>,
12848 #[serde(rename = "UnitCbdContent")]
12849 pub unit_cbd_content: Option<f64>,
12850 #[serde(rename = "UnitCbdContentDose")]
12851 pub unit_cbd_content_dose: Option<f64>,
12852 #[serde(rename = "UnitCbdContentDoseUnitOfMeasure")]
12853 pub unit_cbd_content_dose_unit_of_measure: Option<String>,
12854 #[serde(rename = "UnitCbdContentUnitOfMeasure")]
12855 pub unit_cbd_content_unit_of_measure: Option<String>,
12856 #[serde(rename = "UnitCbdPercent")]
12857 pub unit_cbd_percent: Option<f64>,
12858 #[serde(rename = "UnitOfMeasure")]
12859 pub unit_of_measure: Option<String>,
12860 #[serde(rename = "UnitThcAContent")]
12861 pub unit_thc_a_content: Option<f64>,
12862 #[serde(rename = "UnitThcAContentDose")]
12863 pub unit_thc_a_content_dose: Option<f64>,
12864 #[serde(rename = "UnitThcAContentDoseUnitOfMeasure")]
12865 pub unit_thc_a_content_dose_unit_of_measure: Option<String>,
12866 #[serde(rename = "UnitThcAContentUnitOfMeasure")]
12867 pub unit_thc_a_content_unit_of_measure: Option<String>,
12868 #[serde(rename = "UnitThcAPercent")]
12869 pub unit_thc_a_percent: Option<f64>,
12870 #[serde(rename = "UnitThcContent")]
12871 pub unit_thc_content: Option<f64>,
12872 #[serde(rename = "UnitThcContentDose")]
12873 pub unit_thc_content_dose: Option<f64>,
12874 #[serde(rename = "UnitThcContentDoseUnitOfMeasure")]
12875 pub unit_thc_content_dose_unit_of_measure: Option<String>,
12876 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12877 pub unit_thc_content_unit_of_measure: Option<String>,
12878 #[serde(rename = "UnitThcPercent")]
12879 pub unit_thc_percent: Option<f64>,
12880 #[serde(rename = "UnitVolume")]
12881 pub unit_volume: Option<f64>,
12882 #[serde(rename = "UnitVolumeUnitOfMeasure")]
12883 pub unit_volume_unit_of_measure: Option<String>,
12884 #[serde(rename = "UnitWeight")]
12885 pub unit_weight: Option<f64>,
12886 #[serde(rename = "UnitWeightUnitOfMeasure")]
12887 pub unit_weight_unit_of_measure: Option<String>,
12888}
12889
12890#[derive(Serialize, Deserialize, Debug, Clone)]
12891pub struct ItemsUpdateV2RequestItem {
12892 #[serde(rename = "AdministrationMethod")]
12893 pub administration_method: Option<String>,
12894 #[serde(rename = "Allergens")]
12895 pub allergens: Option<String>,
12896 #[serde(rename = "Description")]
12897 pub description: Option<String>,
12898 #[serde(rename = "GlobalProductName")]
12899 pub global_product_name: Option<String>,
12900 #[serde(rename = "Id")]
12901 pub id: Option<i64>,
12902 #[serde(rename = "ItemBrand")]
12903 pub item_brand: Option<String>,
12904 #[serde(rename = "ItemCategory")]
12905 pub item_category: Option<String>,
12906 #[serde(rename = "ItemIngredients")]
12907 pub item_ingredients: Option<String>,
12908 #[serde(rename = "LabelImageFileSystemIds")]
12909 pub label_image_file_system_ids: Option<String>,
12910 #[serde(rename = "LabelPhotoDescription")]
12911 pub label_photo_description: Option<String>,
12912 #[serde(rename = "Name")]
12913 pub name: Option<String>,
12914 #[serde(rename = "NumberOfDoses")]
12915 pub number_of_doses: Option<String>,
12916 #[serde(rename = "PackagingImageFileSystemIds")]
12917 pub packaging_image_file_system_ids: Option<String>,
12918 #[serde(rename = "PackagingPhotoDescription")]
12919 pub packaging_photo_description: Option<String>,
12920 #[serde(rename = "ProcessingJobCategoryName")]
12921 pub processing_job_category_name: Option<String>,
12922 #[serde(rename = "ProcessingJobTypeName")]
12923 pub processing_job_type_name: Option<String>,
12924 #[serde(rename = "ProductImageFileSystemIds")]
12925 pub product_image_file_system_ids: Option<String>,
12926 #[serde(rename = "ProductPDFFileSystemIds")]
12927 pub product_pdf_file_system_ids: Option<String>,
12928 #[serde(rename = "ProductPhotoDescription")]
12929 pub product_photo_description: Option<String>,
12930 #[serde(rename = "PublicIngredients")]
12931 pub public_ingredients: Option<String>,
12932 #[serde(rename = "ServingSize")]
12933 pub serving_size: Option<String>,
12934 #[serde(rename = "Strain")]
12935 pub strain: Option<String>,
12936 #[serde(rename = "SupplyDurationDays")]
12937 pub supply_duration_days: Option<i64>,
12938 #[serde(rename = "UnitCbdAContent")]
12939 pub unit_cbd_a_content: Option<f64>,
12940 #[serde(rename = "UnitCbdAContentDose")]
12941 pub unit_cbd_a_content_dose: Option<f64>,
12942 #[serde(rename = "UnitCbdAContentDoseUnitOfMeasure")]
12943 pub unit_cbd_a_content_dose_unit_of_measure: Option<String>,
12944 #[serde(rename = "UnitCbdAContentUnitOfMeasure")]
12945 pub unit_cbd_a_content_unit_of_measure: Option<String>,
12946 #[serde(rename = "UnitCbdAPercent")]
12947 pub unit_cbd_a_percent: Option<f64>,
12948 #[serde(rename = "UnitCbdContent")]
12949 pub unit_cbd_content: Option<f64>,
12950 #[serde(rename = "UnitCbdContentDose")]
12951 pub unit_cbd_content_dose: Option<f64>,
12952 #[serde(rename = "UnitCbdContentDoseUnitOfMeasure")]
12953 pub unit_cbd_content_dose_unit_of_measure: Option<String>,
12954 #[serde(rename = "UnitCbdContentUnitOfMeasure")]
12955 pub unit_cbd_content_unit_of_measure: Option<String>,
12956 #[serde(rename = "UnitCbdPercent")]
12957 pub unit_cbd_percent: Option<f64>,
12958 #[serde(rename = "UnitOfMeasure")]
12959 pub unit_of_measure: Option<String>,
12960 #[serde(rename = "UnitThcAContent")]
12961 pub unit_thc_a_content: Option<f64>,
12962 #[serde(rename = "UnitThcAContentDose")]
12963 pub unit_thc_a_content_dose: Option<f64>,
12964 #[serde(rename = "UnitThcAContentDoseUnitOfMeasure")]
12965 pub unit_thc_a_content_dose_unit_of_measure: Option<String>,
12966 #[serde(rename = "UnitThcAContentUnitOfMeasure")]
12967 pub unit_thc_a_content_unit_of_measure: Option<String>,
12968 #[serde(rename = "UnitThcAPercent")]
12969 pub unit_thc_a_percent: Option<f64>,
12970 #[serde(rename = "UnitThcContent")]
12971 pub unit_thc_content: Option<f64>,
12972 #[serde(rename = "UnitThcContentDose")]
12973 pub unit_thc_content_dose: Option<f64>,
12974 #[serde(rename = "UnitThcContentDoseUnitOfMeasure")]
12975 pub unit_thc_content_dose_unit_of_measure: Option<String>,
12976 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12977 pub unit_thc_content_unit_of_measure: Option<String>,
12978 #[serde(rename = "UnitThcPercent")]
12979 pub unit_thc_percent: Option<f64>,
12980 #[serde(rename = "UnitVolume")]
12981 pub unit_volume: Option<f64>,
12982 #[serde(rename = "UnitVolumeUnitOfMeasure")]
12983 pub unit_volume_unit_of_measure: Option<String>,
12984 #[serde(rename = "UnitWeight")]
12985 pub unit_weight: Option<f64>,
12986 #[serde(rename = "UnitWeightUnitOfMeasure")]
12987 pub unit_weight_unit_of_measure: Option<String>,
12988}
12989
12990#[derive(Serialize, Deserialize, Debug, Clone)]
12991pub struct ItemsUpdateBrandV2RequestItem {
12992 #[serde(rename = "Id")]
12993 pub id: Option<i64>,
12994 #[serde(rename = "Name")]
12995 pub name: Option<String>,
12996}
12997
12998#[derive(Serialize, Deserialize, Debug, Clone)]
12999pub struct LocationsCreateV1RequestItem {
13000 #[serde(rename = "LocationTypeName")]
13001 pub location_type_name: Option<String>,
13002 #[serde(rename = "Name")]
13003 pub name: Option<String>,
13004}
13005
13006#[derive(Serialize, Deserialize, Debug, Clone)]
13007pub struct LocationsCreateV2RequestItem {
13008 #[serde(rename = "LocationTypeName")]
13009 pub location_type_name: Option<String>,
13010 #[serde(rename = "Name")]
13011 pub name: Option<String>,
13012}
13013
13014#[derive(Serialize, Deserialize, Debug, Clone)]
13015pub struct LocationsCreateUpdateV1RequestItem {
13016 #[serde(rename = "Id")]
13017 pub id: Option<i64>,
13018 #[serde(rename = "LocationTypeName")]
13019 pub location_type_name: Option<String>,
13020 #[serde(rename = "Name")]
13021 pub name: Option<String>,
13022}
13023
13024#[derive(Serialize, Deserialize, Debug, Clone)]
13025pub struct LocationsUpdateV2RequestItem {
13026 #[serde(rename = "Id")]
13027 pub id: Option<i64>,
13028 #[serde(rename = "LocationTypeName")]
13029 pub location_type_name: Option<String>,
13030 #[serde(rename = "Name")]
13031 pub name: Option<String>,
13032}
13033
13034#[derive(Serialize, Deserialize, Debug, Clone)]
13035pub struct PackagesCreateV1RequestItem {
13036 #[serde(rename = "ActualDate")]
13037 pub actual_date: Option<String>,
13038 #[serde(rename = "ExpirationDate")]
13039 pub expiration_date: Option<String>,
13040 #[serde(rename = "Ingredients")]
13041 pub ingredients: Option<Vec<PackagesCreateV1RequestItemIngredients>>,
13042 #[serde(rename = "IsDonation")]
13043 pub is_donation: Option<bool>,
13044 #[serde(rename = "IsProductionBatch")]
13045 pub is_production_batch: Option<bool>,
13046 #[serde(rename = "IsTradeSample")]
13047 pub is_trade_sample: Option<bool>,
13048 #[serde(rename = "Item")]
13049 pub item: Option<String>,
13050 #[serde(rename = "LabTestStageId")]
13051 pub lab_test_stage_id: Option<i64>,
13052 #[serde(rename = "Location")]
13053 pub location: Option<String>,
13054 #[serde(rename = "Note")]
13055 pub note: Option<String>,
13056 #[serde(rename = "PatientLicenseNumber")]
13057 pub patient_license_number: Option<String>,
13058 #[serde(rename = "ProcessingJobTypeId")]
13059 pub processing_job_type_id: Option<i64>,
13060 #[serde(rename = "ProductRequiresRemediation")]
13061 pub product_requires_remediation: Option<bool>,
13062 #[serde(rename = "ProductionBatchNumber")]
13063 pub production_batch_number: Option<String>,
13064 #[serde(rename = "Quantity")]
13065 pub quantity: Option<i64>,
13066 #[serde(rename = "RequiredLabTestBatches")]
13067 pub required_lab_test_batches: Option<bool>,
13068 #[serde(rename = "SellByDate")]
13069 pub sell_by_date: Option<String>,
13070 #[serde(rename = "Sublocation")]
13071 pub sublocation: Option<String>,
13072 #[serde(rename = "Tag")]
13073 pub tag: Option<String>,
13074 #[serde(rename = "UnitOfMeasure")]
13075 pub unit_of_measure: Option<String>,
13076 #[serde(rename = "UseByDate")]
13077 pub use_by_date: Option<String>,
13078 #[serde(rename = "UseSameItem")]
13079 pub use_same_item: Option<bool>,
13080}
13081
13082#[derive(Serialize, Deserialize, Debug, Clone)]
13083pub struct PackagesCreateV1RequestItemIngredients {
13084 #[serde(rename = "Package")]
13085 pub package: Option<String>,
13086 #[serde(rename = "Quantity")]
13087 pub quantity: Option<i64>,
13088 #[serde(rename = "UnitOfMeasure")]
13089 pub unit_of_measure: Option<String>,
13090}
13091
13092#[derive(Serialize, Deserialize, Debug, Clone)]
13093pub struct PackagesCreateV2RequestItem {
13094 #[serde(rename = "ActualDate")]
13095 pub actual_date: Option<String>,
13096 #[serde(rename = "ExpirationDate")]
13097 pub expiration_date: Option<String>,
13098 #[serde(rename = "Ingredients")]
13099 pub ingredients: Option<Vec<PackagesCreateV2RequestItemIngredients>>,
13100 #[serde(rename = "IsDonation")]
13101 pub is_donation: Option<bool>,
13102 #[serde(rename = "IsProductionBatch")]
13103 pub is_production_batch: Option<bool>,
13104 #[serde(rename = "IsTradeSample")]
13105 pub is_trade_sample: Option<bool>,
13106 #[serde(rename = "Item")]
13107 pub item: Option<String>,
13108 #[serde(rename = "LabTestStageId")]
13109 pub lab_test_stage_id: Option<i64>,
13110 #[serde(rename = "Location")]
13111 pub location: Option<String>,
13112 #[serde(rename = "Note")]
13113 pub note: Option<String>,
13114 #[serde(rename = "PatientLicenseNumber")]
13115 pub patient_license_number: Option<String>,
13116 #[serde(rename = "ProcessingJobTypeId")]
13117 pub processing_job_type_id: Option<i64>,
13118 #[serde(rename = "ProductRequiresRemediation")]
13119 pub product_requires_remediation: Option<bool>,
13120 #[serde(rename = "ProductionBatchNumber")]
13121 pub production_batch_number: Option<String>,
13122 #[serde(rename = "Quantity")]
13123 pub quantity: Option<i64>,
13124 #[serde(rename = "RequiredLabTestBatches")]
13125 pub required_lab_test_batches: Option<bool>,
13126 #[serde(rename = "SellByDate")]
13127 pub sell_by_date: Option<String>,
13128 #[serde(rename = "Sublocation")]
13129 pub sublocation: Option<String>,
13130 #[serde(rename = "Tag")]
13131 pub tag: Option<String>,
13132 #[serde(rename = "UnitOfMeasure")]
13133 pub unit_of_measure: Option<String>,
13134 #[serde(rename = "UseByDate")]
13135 pub use_by_date: Option<String>,
13136 #[serde(rename = "UseSameItem")]
13137 pub use_same_item: Option<bool>,
13138}
13139
13140#[derive(Serialize, Deserialize, Debug, Clone)]
13141pub struct PackagesCreateV2RequestItemIngredients {
13142 #[serde(rename = "Package")]
13143 pub package: Option<String>,
13144 #[serde(rename = "Quantity")]
13145 pub quantity: Option<i64>,
13146 #[serde(rename = "UnitOfMeasure")]
13147 pub unit_of_measure: Option<String>,
13148}
13149
13150#[derive(Serialize, Deserialize, Debug, Clone)]
13151pub struct PackagesCreateAdjustV1RequestItem {
13152 #[serde(rename = "AdjustmentDate")]
13153 pub adjustment_date: Option<String>,
13154 #[serde(rename = "AdjustmentReason")]
13155 pub adjustment_reason: Option<String>,
13156 #[serde(rename = "Label")]
13157 pub label: Option<String>,
13158 #[serde(rename = "Quantity")]
13159 pub quantity: Option<i64>,
13160 #[serde(rename = "ReasonNote")]
13161 pub reason_note: Option<String>,
13162 #[serde(rename = "UnitOfMeasure")]
13163 pub unit_of_measure: Option<String>,
13164}
13165
13166#[derive(Serialize, Deserialize, Debug, Clone)]
13167pub struct PackagesCreateAdjustV2RequestItem {
13168 #[serde(rename = "AdjustmentDate")]
13169 pub adjustment_date: Option<String>,
13170 #[serde(rename = "AdjustmentReason")]
13171 pub adjustment_reason: Option<String>,
13172 #[serde(rename = "Label")]
13173 pub label: Option<String>,
13174 #[serde(rename = "Quantity")]
13175 pub quantity: Option<i64>,
13176 #[serde(rename = "ReasonNote")]
13177 pub reason_note: Option<String>,
13178 #[serde(rename = "UnitOfMeasure")]
13179 pub unit_of_measure: Option<String>,
13180}
13181
13182#[derive(Serialize, Deserialize, Debug, Clone)]
13183pub struct PackagesCreateChangeItemV1RequestItem {
13184 #[serde(rename = "Item")]
13185 pub item: Option<String>,
13186 #[serde(rename = "Label")]
13187 pub label: Option<String>,
13188}
13189
13190#[derive(Serialize, Deserialize, Debug, Clone)]
13191pub struct PackagesCreateChangeLocationV1RequestItem {
13192 #[serde(rename = "Label")]
13193 pub label: Option<String>,
13194 #[serde(rename = "Location")]
13195 pub location: Option<String>,
13196 #[serde(rename = "MoveDate")]
13197 pub move_date: Option<String>,
13198 #[serde(rename = "Sublocation")]
13199 pub sublocation: Option<String>,
13200}
13201
13202#[derive(Serialize, Deserialize, Debug, Clone)]
13203pub struct PackagesCreateFinishV1RequestItem {
13204 #[serde(rename = "ActualDate")]
13205 pub actual_date: Option<String>,
13206 #[serde(rename = "Label")]
13207 pub label: Option<String>,
13208}
13209
13210#[derive(Serialize, Deserialize, Debug, Clone)]
13211pub struct PackagesCreatePlantingsV1RequestItem {
13212 #[serde(rename = "LocationName")]
13213 pub location_name: Option<String>,
13214 #[serde(rename = "PackageAdjustmentAmount")]
13215 pub package_adjustment_amount: Option<i64>,
13216 #[serde(rename = "PackageAdjustmentUnitOfMeasureName")]
13217 pub package_adjustment_unit_of_measure_name: Option<String>,
13218 #[serde(rename = "PackageLabel")]
13219 pub package_label: Option<String>,
13220 #[serde(rename = "PatientLicenseNumber")]
13221 pub patient_license_number: Option<String>,
13222 #[serde(rename = "PlantBatchName")]
13223 pub plant_batch_name: Option<String>,
13224 #[serde(rename = "PlantBatchType")]
13225 pub plant_batch_type: Option<String>,
13226 #[serde(rename = "PlantCount")]
13227 pub plant_count: Option<i64>,
13228 #[serde(rename = "PlantedDate")]
13229 pub planted_date: Option<String>,
13230 #[serde(rename = "StrainName")]
13231 pub strain_name: Option<String>,
13232 #[serde(rename = "SublocationName")]
13233 pub sublocation_name: Option<String>,
13234 #[serde(rename = "UnpackagedDate")]
13235 pub unpackaged_date: Option<String>,
13236}
13237
13238#[derive(Serialize, Deserialize, Debug, Clone)]
13239pub struct PackagesCreatePlantingsV2RequestItem {
13240 #[serde(rename = "LocationName")]
13241 pub location_name: Option<String>,
13242 #[serde(rename = "PackageAdjustmentAmount")]
13243 pub package_adjustment_amount: Option<i64>,
13244 #[serde(rename = "PackageAdjustmentUnitOfMeasureName")]
13245 pub package_adjustment_unit_of_measure_name: Option<String>,
13246 #[serde(rename = "PackageLabel")]
13247 pub package_label: Option<String>,
13248 #[serde(rename = "PatientLicenseNumber")]
13249 pub patient_license_number: Option<String>,
13250 #[serde(rename = "PlantBatchName")]
13251 pub plant_batch_name: Option<String>,
13252 #[serde(rename = "PlantBatchType")]
13253 pub plant_batch_type: Option<String>,
13254 #[serde(rename = "PlantCount")]
13255 pub plant_count: Option<i64>,
13256 #[serde(rename = "PlantedDate")]
13257 pub planted_date: Option<String>,
13258 #[serde(rename = "StrainName")]
13259 pub strain_name: Option<String>,
13260 #[serde(rename = "SublocationName")]
13261 pub sublocation_name: Option<String>,
13262 #[serde(rename = "UnpackagedDate")]
13263 pub unpackaged_date: Option<String>,
13264}
13265
13266#[derive(Serialize, Deserialize, Debug, Clone)]
13267pub struct PackagesCreateRemediateV1RequestItem {
13268 #[serde(rename = "PackageLabel")]
13269 pub package_label: Option<String>,
13270 #[serde(rename = "RemediationDate")]
13271 pub remediation_date: Option<String>,
13272 #[serde(rename = "RemediationMethodName")]
13273 pub remediation_method_name: Option<String>,
13274 #[serde(rename = "RemediationSteps")]
13275 pub remediation_steps: Option<String>,
13276}
13277
13278#[derive(Serialize, Deserialize, Debug, Clone)]
13279pub struct PackagesCreateTestingV1RequestItem {
13280 #[serde(rename = "ActualDate")]
13281 pub actual_date: Option<String>,
13282 #[serde(rename = "ExpirationDate")]
13283 pub expiration_date: Option<String>,
13284 #[serde(rename = "Ingredients")]
13285 pub ingredients: Option<Vec<PackagesCreateTestingV1RequestItemIngredients>>,
13286 #[serde(rename = "IsDonation")]
13287 pub is_donation: Option<bool>,
13288 #[serde(rename = "IsProductionBatch")]
13289 pub is_production_batch: Option<bool>,
13290 #[serde(rename = "IsTradeSample")]
13291 pub is_trade_sample: Option<bool>,
13292 #[serde(rename = "Item")]
13293 pub item: Option<String>,
13294 #[serde(rename = "LabTestStageId")]
13295 pub lab_test_stage_id: Option<i64>,
13296 #[serde(rename = "Location")]
13297 pub location: Option<String>,
13298 #[serde(rename = "Note")]
13299 pub note: Option<String>,
13300 #[serde(rename = "PatientLicenseNumber")]
13301 pub patient_license_number: Option<String>,
13302 #[serde(rename = "ProcessingJobTypeId")]
13303 pub processing_job_type_id: Option<i64>,
13304 #[serde(rename = "ProductRequiresRemediation")]
13305 pub product_requires_remediation: Option<bool>,
13306 #[serde(rename = "ProductionBatchNumber")]
13307 pub production_batch_number: Option<String>,
13308 #[serde(rename = "Quantity")]
13309 pub quantity: Option<i64>,
13310 #[serde(rename = "RequiredLabTestBatches")]
13311 pub required_lab_test_batches: Option<bool>,
13312 #[serde(rename = "SellByDate")]
13313 pub sell_by_date: Option<String>,
13314 #[serde(rename = "Sublocation")]
13315 pub sublocation: Option<String>,
13316 #[serde(rename = "Tag")]
13317 pub tag: Option<String>,
13318 #[serde(rename = "UnitOfMeasure")]
13319 pub unit_of_measure: Option<String>,
13320 #[serde(rename = "UseByDate")]
13321 pub use_by_date: Option<String>,
13322 #[serde(rename = "UseSameItem")]
13323 pub use_same_item: Option<bool>,
13324}
13325
13326#[derive(Serialize, Deserialize, Debug, Clone)]
13327pub struct PackagesCreateTestingV1RequestItemIngredients {
13328 #[serde(rename = "Package")]
13329 pub package: Option<String>,
13330 #[serde(rename = "Quantity")]
13331 pub quantity: Option<i64>,
13332 #[serde(rename = "UnitOfMeasure")]
13333 pub unit_of_measure: Option<String>,
13334}
13335
13336#[derive(Serialize, Deserialize, Debug, Clone)]
13337pub struct PackagesCreateTestingV2RequestItem {
13338 #[serde(rename = "ActualDate")]
13339 pub actual_date: Option<String>,
13340 #[serde(rename = "ExpirationDate")]
13341 pub expiration_date: Option<String>,
13342 #[serde(rename = "Ingredients")]
13343 pub ingredients: Option<Vec<PackagesCreateTestingV2RequestItemIngredients>>,
13344 #[serde(rename = "IsDonation")]
13345 pub is_donation: Option<bool>,
13346 #[serde(rename = "IsProductionBatch")]
13347 pub is_production_batch: Option<bool>,
13348 #[serde(rename = "IsTradeSample")]
13349 pub is_trade_sample: Option<bool>,
13350 #[serde(rename = "Item")]
13351 pub item: Option<String>,
13352 #[serde(rename = "LabTestStageId")]
13353 pub lab_test_stage_id: Option<i64>,
13354 #[serde(rename = "Location")]
13355 pub location: Option<String>,
13356 #[serde(rename = "Note")]
13357 pub note: Option<String>,
13358 #[serde(rename = "PatientLicenseNumber")]
13359 pub patient_license_number: Option<String>,
13360 #[serde(rename = "ProcessingJobTypeId")]
13361 pub processing_job_type_id: Option<i64>,
13362 #[serde(rename = "ProductRequiresRemediation")]
13363 pub product_requires_remediation: Option<bool>,
13364 #[serde(rename = "ProductionBatchNumber")]
13365 pub production_batch_number: Option<String>,
13366 #[serde(rename = "Quantity")]
13367 pub quantity: Option<i64>,
13368 #[serde(rename = "RequiredLabTestBatches")]
13369 pub required_lab_test_batches: Option<Vec<String>>,
13370 #[serde(rename = "SellByDate")]
13371 pub sell_by_date: Option<String>,
13372 #[serde(rename = "Sublocation")]
13373 pub sublocation: Option<String>,
13374 #[serde(rename = "Tag")]
13375 pub tag: Option<String>,
13376 #[serde(rename = "UnitOfMeasure")]
13377 pub unit_of_measure: Option<String>,
13378 #[serde(rename = "UseByDate")]
13379 pub use_by_date: Option<String>,
13380 #[serde(rename = "UseSameItem")]
13381 pub use_same_item: Option<bool>,
13382}
13383
13384#[derive(Serialize, Deserialize, Debug, Clone)]
13385pub struct PackagesCreateTestingV2RequestItemIngredients {
13386 #[serde(rename = "Package")]
13387 pub package: Option<String>,
13388 #[serde(rename = "Quantity")]
13389 pub quantity: Option<i64>,
13390 #[serde(rename = "UnitOfMeasure")]
13391 pub unit_of_measure: Option<String>,
13392}
13393
13394#[derive(Serialize, Deserialize, Debug, Clone)]
13395pub struct PackagesCreateUnfinishV1RequestItem {
13396 #[serde(rename = "Label")]
13397 pub label: Option<String>,
13398}
13399
13400#[derive(Serialize, Deserialize, Debug, Clone)]
13401pub struct PackagesUpdateAdjustV2RequestItem {
13402 #[serde(rename = "AdjustmentDate")]
13403 pub adjustment_date: Option<String>,
13404 #[serde(rename = "AdjustmentReason")]
13405 pub adjustment_reason: Option<String>,
13406 #[serde(rename = "Label")]
13407 pub label: Option<String>,
13408 #[serde(rename = "Quantity")]
13409 pub quantity: Option<i64>,
13410 #[serde(rename = "ReasonNote")]
13411 pub reason_note: Option<String>,
13412 #[serde(rename = "UnitOfMeasure")]
13413 pub unit_of_measure: Option<String>,
13414}
13415
13416#[derive(Serialize, Deserialize, Debug, Clone)]
13417pub struct PackagesUpdateChangeNoteV1RequestItem {
13418 #[serde(rename = "Note")]
13419 pub note: Option<String>,
13420 #[serde(rename = "PackageLabel")]
13421 pub package_label: Option<String>,
13422}
13423
13424#[derive(Serialize, Deserialize, Debug, Clone)]
13425pub struct PackagesUpdateDecontaminateV2RequestItem {
13426 #[serde(rename = "DecontaminationDate")]
13427 pub decontamination_date: Option<String>,
13428 #[serde(rename = "DecontaminationMethodName")]
13429 pub decontamination_method_name: Option<String>,
13430 #[serde(rename = "DecontaminationSteps")]
13431 pub decontamination_steps: Option<String>,
13432 #[serde(rename = "PackageLabel")]
13433 pub package_label: Option<String>,
13434}
13435
13436#[derive(Serialize, Deserialize, Debug, Clone)]
13437pub struct PackagesUpdateDonationFlagV2RequestItem {
13438 #[serde(rename = "Label")]
13439 pub label: Option<String>,
13440}
13441
13442#[derive(Serialize, Deserialize, Debug, Clone)]
13443pub struct PackagesUpdateDonationUnflagV2RequestItem {
13444 #[serde(rename = "Label")]
13445 pub label: Option<String>,
13446}
13447
13448#[derive(Serialize, Deserialize, Debug, Clone)]
13449pub struct PackagesUpdateExternalidV2RequestItem {
13450 #[serde(rename = "ExternalId")]
13451 pub external_id: Option<String>,
13452 #[serde(rename = "PackageLabel")]
13453 pub package_label: Option<String>,
13454}
13455
13456#[derive(Serialize, Deserialize, Debug, Clone)]
13457pub struct PackagesUpdateFinishV2RequestItem {
13458 #[serde(rename = "ActualDate")]
13459 pub actual_date: Option<String>,
13460 #[serde(rename = "Label")]
13461 pub label: Option<String>,
13462}
13463
13464#[derive(Serialize, Deserialize, Debug, Clone)]
13465pub struct PackagesUpdateItemV2RequestItem {
13466 #[serde(rename = "Item")]
13467 pub item: Option<String>,
13468 #[serde(rename = "Label")]
13469 pub label: Option<String>,
13470}
13471
13472#[derive(Serialize, Deserialize, Debug, Clone)]
13473pub struct PackagesUpdateLabTestRequiredV2RequestItem {
13474 #[serde(rename = "Label")]
13475 pub label: Option<String>,
13476 #[serde(rename = "RequiredLabTestBatches")]
13477 pub required_lab_test_batches: Option<Vec<String>>,
13478}
13479
13480#[derive(Serialize, Deserialize, Debug, Clone)]
13481pub struct PackagesUpdateLocationV2RequestItem {
13482 #[serde(rename = "Label")]
13483 pub label: Option<String>,
13484 #[serde(rename = "Location")]
13485 pub location: Option<String>,
13486 #[serde(rename = "MoveDate")]
13487 pub move_date: Option<String>,
13488 #[serde(rename = "Sublocation")]
13489 pub sublocation: Option<String>,
13490}
13491
13492#[derive(Serialize, Deserialize, Debug, Clone)]
13493pub struct PackagesUpdateNoteV2RequestItem {
13494 #[serde(rename = "Note")]
13495 pub note: Option<String>,
13496 #[serde(rename = "PackageLabel")]
13497 pub package_label: Option<String>,
13498}
13499
13500#[derive(Serialize, Deserialize, Debug, Clone)]
13501pub struct PackagesUpdateRemediateV2RequestItem {
13502 #[serde(rename = "PackageLabel")]
13503 pub package_label: Option<String>,
13504 #[serde(rename = "RemediationDate")]
13505 pub remediation_date: Option<String>,
13506 #[serde(rename = "RemediationMethodName")]
13507 pub remediation_method_name: Option<String>,
13508 #[serde(rename = "RemediationSteps")]
13509 pub remediation_steps: Option<String>,
13510}
13511
13512#[derive(Serialize, Deserialize, Debug, Clone)]
13513pub struct PackagesUpdateTradesampleFlagV2RequestItem {
13514 #[serde(rename = "Label")]
13515 pub label: Option<String>,
13516}
13517
13518#[derive(Serialize, Deserialize, Debug, Clone)]
13519pub struct PackagesUpdateTradesampleUnflagV2RequestItem {
13520 #[serde(rename = "Label")]
13521 pub label: Option<String>,
13522}
13523
13524#[derive(Serialize, Deserialize, Debug, Clone)]
13525pub struct PackagesUpdateUnfinishV2RequestItem {
13526 #[serde(rename = "Label")]
13527 pub label: Option<String>,
13528}
13529
13530#[derive(Serialize, Deserialize, Debug, Clone)]
13531pub struct PackagesUpdateUsebydateV2RequestItem {
13532 #[serde(rename = "ExpirationDate")]
13533 pub expiration_date: Option<String>,
13534 #[serde(rename = "Label")]
13535 pub label: Option<String>,
13536 #[serde(rename = "SellByDate")]
13537 pub sell_by_date: Option<String>,
13538 #[serde(rename = "UseByDate")]
13539 pub use_by_date: Option<String>,
13540}
13541
13542#[derive(Serialize, Deserialize, Debug, Clone)]
13543pub struct PatientCheckInsCreateV1RequestItem {
13544 #[serde(rename = "CheckInDate")]
13545 pub check_in_date: Option<String>,
13546 #[serde(rename = "CheckInLocationId")]
13547 pub check_in_location_id: Option<i64>,
13548 #[serde(rename = "PatientLicenseNumber")]
13549 pub patient_license_number: Option<String>,
13550 #[serde(rename = "RegistrationExpiryDate")]
13551 pub registration_expiry_date: Option<String>,
13552 #[serde(rename = "RegistrationStartDate")]
13553 pub registration_start_date: Option<String>,
13554}
13555
13556#[derive(Serialize, Deserialize, Debug, Clone)]
13557pub struct PatientCheckInsCreateV2RequestItem {
13558 #[serde(rename = "CheckInDate")]
13559 pub check_in_date: Option<String>,
13560 #[serde(rename = "CheckInLocationId")]
13561 pub check_in_location_id: Option<i64>,
13562 #[serde(rename = "PatientLicenseNumber")]
13563 pub patient_license_number: Option<String>,
13564 #[serde(rename = "RegistrationExpiryDate")]
13565 pub registration_expiry_date: Option<String>,
13566 #[serde(rename = "RegistrationStartDate")]
13567 pub registration_start_date: Option<String>,
13568}
13569
13570#[derive(Serialize, Deserialize, Debug, Clone)]
13571pub struct PatientCheckInsUpdateV1RequestItem {
13572 #[serde(rename = "CheckInDate")]
13573 pub check_in_date: Option<String>,
13574 #[serde(rename = "CheckInLocationId")]
13575 pub check_in_location_id: Option<i64>,
13576 #[serde(rename = "Id")]
13577 pub id: Option<i64>,
13578 #[serde(rename = "PatientLicenseNumber")]
13579 pub patient_license_number: Option<String>,
13580 #[serde(rename = "RegistrationExpiryDate")]
13581 pub registration_expiry_date: Option<String>,
13582 #[serde(rename = "RegistrationStartDate")]
13583 pub registration_start_date: Option<String>,
13584}
13585
13586#[derive(Serialize, Deserialize, Debug, Clone)]
13587pub struct PatientCheckInsUpdateV2RequestItem {
13588 #[serde(rename = "CheckInDate")]
13589 pub check_in_date: Option<String>,
13590 #[serde(rename = "CheckInLocationId")]
13591 pub check_in_location_id: Option<i64>,
13592 #[serde(rename = "Id")]
13593 pub id: Option<i64>,
13594 #[serde(rename = "PatientLicenseNumber")]
13595 pub patient_license_number: Option<String>,
13596 #[serde(rename = "RegistrationExpiryDate")]
13597 pub registration_expiry_date: Option<String>,
13598 #[serde(rename = "RegistrationStartDate")]
13599 pub registration_start_date: Option<String>,
13600}
13601
13602#[derive(Serialize, Deserialize, Debug, Clone)]
13603pub struct PatientsCreateV2RequestItem {
13604 #[serde(rename = "ActualDate")]
13605 pub actual_date: Option<String>,
13606 #[serde(rename = "ConcentrateOuncesAllowed")]
13607 pub concentrate_ounces_allowed: Option<i64>,
13608 #[serde(rename = "FlowerOuncesAllowed")]
13609 pub flower_ounces_allowed: Option<i64>,
13610 #[serde(rename = "HasSalesLimitExemption")]
13611 pub has_sales_limit_exemption: Option<bool>,
13612 #[serde(rename = "InfusedOuncesAllowed")]
13613 pub infused_ounces_allowed: Option<i64>,
13614 #[serde(rename = "LicenseEffectiveEndDate")]
13615 pub license_effective_end_date: Option<String>,
13616 #[serde(rename = "LicenseEffectiveStartDate")]
13617 pub license_effective_start_date: Option<String>,
13618 #[serde(rename = "LicenseNumber")]
13619 pub license_number: Option<String>,
13620 #[serde(rename = "MaxConcentrateThcPercentAllowed")]
13621 pub max_concentrate_thc_percent_allowed: Option<i64>,
13622 #[serde(rename = "MaxFlowerThcPercentAllowed")]
13623 pub max_flower_thc_percent_allowed: Option<i64>,
13624 #[serde(rename = "RecommendedPlants")]
13625 pub recommended_plants: Option<i64>,
13626 #[serde(rename = "RecommendedSmokableQuantity")]
13627 pub recommended_smokable_quantity: Option<i64>,
13628 #[serde(rename = "ThcOuncesAllowed")]
13629 pub thc_ounces_allowed: Option<i64>,
13630}
13631
13632#[derive(Serialize, Deserialize, Debug, Clone)]
13633pub struct PatientsCreateAddV1RequestItem {
13634 #[serde(rename = "ActualDate")]
13635 pub actual_date: Option<String>,
13636 #[serde(rename = "ConcentrateOuncesAllowed")]
13637 pub concentrate_ounces_allowed: Option<i64>,
13638 #[serde(rename = "FlowerOuncesAllowed")]
13639 pub flower_ounces_allowed: Option<i64>,
13640 #[serde(rename = "HasSalesLimitExemption")]
13641 pub has_sales_limit_exemption: Option<bool>,
13642 #[serde(rename = "InfusedOuncesAllowed")]
13643 pub infused_ounces_allowed: Option<i64>,
13644 #[serde(rename = "LicenseEffectiveEndDate")]
13645 pub license_effective_end_date: Option<String>,
13646 #[serde(rename = "LicenseEffectiveStartDate")]
13647 pub license_effective_start_date: Option<String>,
13648 #[serde(rename = "LicenseNumber")]
13649 pub license_number: Option<String>,
13650 #[serde(rename = "MaxConcentrateThcPercentAllowed")]
13651 pub max_concentrate_thc_percent_allowed: Option<i64>,
13652 #[serde(rename = "MaxFlowerThcPercentAllowed")]
13653 pub max_flower_thc_percent_allowed: Option<i64>,
13654 #[serde(rename = "RecommendedPlants")]
13655 pub recommended_plants: Option<i64>,
13656 #[serde(rename = "RecommendedSmokableQuantity")]
13657 pub recommended_smokable_quantity: Option<i64>,
13658 #[serde(rename = "ThcOuncesAllowed")]
13659 pub thc_ounces_allowed: Option<i64>,
13660}
13661
13662#[derive(Serialize, Deserialize, Debug, Clone)]
13663pub struct PatientsCreateUpdateV1RequestItem {
13664 #[serde(rename = "ActualDate")]
13665 pub actual_date: Option<String>,
13666 #[serde(rename = "ConcentrateOuncesAllowed")]
13667 pub concentrate_ounces_allowed: Option<i64>,
13668 #[serde(rename = "FlowerOuncesAllowed")]
13669 pub flower_ounces_allowed: Option<i64>,
13670 #[serde(rename = "HasSalesLimitExemption")]
13671 pub has_sales_limit_exemption: Option<bool>,
13672 #[serde(rename = "InfusedOuncesAllowed")]
13673 pub infused_ounces_allowed: Option<i64>,
13674 #[serde(rename = "LicenseEffectiveEndDate")]
13675 pub license_effective_end_date: Option<String>,
13676 #[serde(rename = "LicenseEffectiveStartDate")]
13677 pub license_effective_start_date: Option<String>,
13678 #[serde(rename = "LicenseNumber")]
13679 pub license_number: Option<String>,
13680 #[serde(rename = "MaxConcentrateThcPercentAllowed")]
13681 pub max_concentrate_thc_percent_allowed: Option<i64>,
13682 #[serde(rename = "MaxFlowerThcPercentAllowed")]
13683 pub max_flower_thc_percent_allowed: Option<i64>,
13684 #[serde(rename = "NewLicenseNumber")]
13685 pub new_license_number: Option<String>,
13686 #[serde(rename = "RecommendedPlants")]
13687 pub recommended_plants: Option<i64>,
13688 #[serde(rename = "RecommendedSmokableQuantity")]
13689 pub recommended_smokable_quantity: Option<i64>,
13690 #[serde(rename = "ThcOuncesAllowed")]
13691 pub thc_ounces_allowed: Option<i64>,
13692}
13693
13694#[derive(Serialize, Deserialize, Debug, Clone)]
13695pub struct PatientsUpdateV2RequestItem {
13696 #[serde(rename = "ActualDate")]
13697 pub actual_date: Option<String>,
13698 #[serde(rename = "ConcentrateOuncesAllowed")]
13699 pub concentrate_ounces_allowed: Option<i64>,
13700 #[serde(rename = "FlowerOuncesAllowed")]
13701 pub flower_ounces_allowed: Option<i64>,
13702 #[serde(rename = "HasSalesLimitExemption")]
13703 pub has_sales_limit_exemption: Option<bool>,
13704 #[serde(rename = "InfusedOuncesAllowed")]
13705 pub infused_ounces_allowed: Option<i64>,
13706 #[serde(rename = "LicenseEffectiveEndDate")]
13707 pub license_effective_end_date: Option<String>,
13708 #[serde(rename = "LicenseEffectiveStartDate")]
13709 pub license_effective_start_date: Option<String>,
13710 #[serde(rename = "LicenseNumber")]
13711 pub license_number: Option<String>,
13712 #[serde(rename = "MaxConcentrateThcPercentAllowed")]
13713 pub max_concentrate_thc_percent_allowed: Option<i64>,
13714 #[serde(rename = "MaxFlowerThcPercentAllowed")]
13715 pub max_flower_thc_percent_allowed: Option<i64>,
13716 #[serde(rename = "NewLicenseNumber")]
13717 pub new_license_number: Option<String>,
13718 #[serde(rename = "RecommendedPlants")]
13719 pub recommended_plants: Option<i64>,
13720 #[serde(rename = "RecommendedSmokableQuantity")]
13721 pub recommended_smokable_quantity: Option<i64>,
13722 #[serde(rename = "ThcOuncesAllowed")]
13723 pub thc_ounces_allowed: Option<i64>,
13724}
13725
13726#[derive(Serialize, Deserialize, Debug, Clone)]
13727pub struct AdditivesTemplatesCreateV2RequestItem {
13728 #[serde(rename = "ActiveIngredients")]
13729 pub active_ingredients: Option<Vec<AdditivesTemplatesCreateV2RequestItemActiveIngredients>>,
13730 #[serde(rename = "AdditiveType")]
13731 pub additive_type: Option<String>,
13732 #[serde(rename = "ApplicationDevice")]
13733 pub application_device: Option<String>,
13734 #[serde(rename = "EpaRegistrationNumber")]
13735 pub epa_registration_number: Option<String>,
13736 #[serde(rename = "Name")]
13737 pub name: Option<String>,
13738 #[serde(rename = "Note")]
13739 pub note: Option<String>,
13740 #[serde(rename = "ProductSupplier")]
13741 pub product_supplier: Option<String>,
13742 #[serde(rename = "ProductTradeName")]
13743 pub product_trade_name: Option<String>,
13744 #[serde(rename = "RestrictiveEntryIntervalQuantityDescription")]
13745 pub restrictive_entry_interval_quantity_description: Option<String>,
13746 #[serde(rename = "RestrictiveEntryIntervalTimeDescription")]
13747 pub restrictive_entry_interval_time_description: Option<String>,
13748}
13749
13750#[derive(Serialize, Deserialize, Debug, Clone)]
13751pub struct AdditivesTemplatesCreateV2RequestItemActiveIngredients {
13752 #[serde(rename = "Name")]
13753 pub name: Option<String>,
13754 #[serde(rename = "Percentage")]
13755 pub percentage: Option<f64>,
13756}
13757
13758#[derive(Serialize, Deserialize, Debug, Clone)]
13759pub struct AdditivesTemplatesUpdateV2RequestItem {
13760 #[serde(rename = "ActiveIngredients")]
13761 pub active_ingredients: Option<Vec<AdditivesTemplatesUpdateV2RequestItemActiveIngredients>>,
13762 #[serde(rename = "AdditiveType")]
13763 pub additive_type: Option<String>,
13764 #[serde(rename = "ApplicationDevice")]
13765 pub application_device: Option<String>,
13766 #[serde(rename = "EpaRegistrationNumber")]
13767 pub epa_registration_number: Option<String>,
13768 #[serde(rename = "Id")]
13769 pub id: Option<i64>,
13770 #[serde(rename = "Name")]
13771 pub name: Option<String>,
13772 #[serde(rename = "Note")]
13773 pub note: Option<String>,
13774 #[serde(rename = "ProductSupplier")]
13775 pub product_supplier: Option<String>,
13776 #[serde(rename = "ProductTradeName")]
13777 pub product_trade_name: Option<String>,
13778 #[serde(rename = "RestrictiveEntryIntervalQuantityDescription")]
13779 pub restrictive_entry_interval_quantity_description: Option<String>,
13780 #[serde(rename = "RestrictiveEntryIntervalTimeDescription")]
13781 pub restrictive_entry_interval_time_description: Option<String>,
13782}
13783
13784#[derive(Serialize, Deserialize, Debug, Clone)]
13785pub struct AdditivesTemplatesUpdateV2RequestItemActiveIngredients {
13786 #[serde(rename = "Name")]
13787 pub name: Option<String>,
13788 #[serde(rename = "Percentage")]
13789 pub percentage: Option<f64>,
13790}
13791
13792#[derive(Serialize, Deserialize, Debug, Clone)]
13793pub struct LabTestsCreateRecordV1RequestItem {
13794 #[serde(rename = "DocumentFileBase64")]
13795 pub document_file_base64: Option<String>,
13796 #[serde(rename = "DocumentFileName")]
13797 pub document_file_name: Option<String>,
13798 #[serde(rename = "Label")]
13799 pub label: Option<String>,
13800 #[serde(rename = "ResultDate")]
13801 pub result_date: Option<String>,
13802 #[serde(rename = "Results")]
13803 pub results: Option<Vec<LabTestsCreateRecordV1RequestItemResults>>,
13804}
13805
13806#[derive(Serialize, Deserialize, Debug, Clone)]
13807pub struct LabTestsCreateRecordV1RequestItemResults {
13808 #[serde(rename = "LabTestTypeName")]
13809 pub lab_test_type_name: Option<String>,
13810 #[serde(rename = "Notes")]
13811 pub notes: Option<String>,
13812 #[serde(rename = "Passed")]
13813 pub passed: Option<bool>,
13814 #[serde(rename = "Quantity")]
13815 pub quantity: Option<f64>,
13816}
13817
13818#[derive(Serialize, Deserialize, Debug, Clone)]
13819pub struct LabTestsCreateRecordV2RequestItem {
13820 #[serde(rename = "DocumentFileBase64")]
13821 pub document_file_base64: Option<String>,
13822 #[serde(rename = "DocumentFileName")]
13823 pub document_file_name: Option<String>,
13824 #[serde(rename = "Label")]
13825 pub label: Option<String>,
13826 #[serde(rename = "ResultDate")]
13827 pub result_date: Option<String>,
13828 #[serde(rename = "Results")]
13829 pub results: Option<Vec<LabTestsCreateRecordV2RequestItemResults>>,
13830}
13831
13832#[derive(Serialize, Deserialize, Debug, Clone)]
13833pub struct LabTestsCreateRecordV2RequestItemResults {
13834 #[serde(rename = "LabTestTypeName")]
13835 pub lab_test_type_name: Option<String>,
13836 #[serde(rename = "Notes")]
13837 pub notes: Option<String>,
13838 #[serde(rename = "Passed")]
13839 pub passed: Option<bool>,
13840 #[serde(rename = "Quantity")]
13841 pub quantity: Option<f64>,
13842}
13843
13844#[derive(Serialize, Deserialize, Debug, Clone)]
13845pub struct LabTestsUpdateLabtestdocumentV1RequestItem {
13846 #[serde(rename = "DocumentFileBase64")]
13847 pub document_file_base64: Option<String>,
13848 #[serde(rename = "DocumentFileName")]
13849 pub document_file_name: Option<String>,
13850 #[serde(rename = "LabTestResultId")]
13851 pub lab_test_result_id: Option<i64>,
13852}
13853
13854#[derive(Serialize, Deserialize, Debug, Clone)]
13855pub struct LabTestsUpdateLabtestdocumentV2RequestItem {
13856 #[serde(rename = "DocumentFileBase64")]
13857 pub document_file_base64: Option<String>,
13858 #[serde(rename = "DocumentFileName")]
13859 pub document_file_name: Option<String>,
13860 #[serde(rename = "LabTestResultId")]
13861 pub lab_test_result_id: Option<i64>,
13862}
13863
13864#[derive(Serialize, Deserialize, Debug, Clone)]
13865pub struct LabTestsUpdateResultReleaseV1RequestItem {
13866 #[serde(rename = "PackageLabel")]
13867 pub package_label: Option<String>,
13868}
13869
13870#[derive(Serialize, Deserialize, Debug, Clone)]
13871pub struct LabTestsUpdateResultReleaseV2RequestItem {
13872 #[serde(rename = "PackageLabel")]
13873 pub package_label: Option<String>,
13874}
13875