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 transporters_create_driver_v2(&self, license_number: Option<String>, body: Option<&Vec<TransportersCreateDriverV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
36 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
37 let client = self.client.clone();
38 let body_val = body_val.clone();
39 self.rate_limiter.execute(None, false, move || {
40 let client = client.clone();
41 let license_number = license_number.clone();
42 let body_val = body_val.clone();
43 async move { client.transporters_create_driver_v2(license_number, body_val.as_ref()).await }
44 }).await
45 }
46
47 pub async fn transporters_create_vehicle_v2(&self, license_number: Option<String>, body: Option<&Vec<TransportersCreateVehicleV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
54 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
55 let client = self.client.clone();
56 let body_val = body_val.clone();
57 self.rate_limiter.execute(None, false, move || {
58 let client = client.clone();
59 let license_number = license_number.clone();
60 let body_val = body_val.clone();
61 async move { client.transporters_create_vehicle_v2(license_number, body_val.as_ref()).await }
62 }).await
63 }
64
65 pub async fn transporters_delete_driver_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
72 let id = id.to_string();
73 let client = self.client.clone();
74 let body = body.cloned();
75 self.rate_limiter.execute(None, false, move || {
76 let client = client.clone();
77 let id = id.clone();
78 let license_number = license_number.clone();
79 let body = body.clone();
80 async move { client.transporters_delete_driver_v2(&id, license_number, body.as_ref()).await }
81 }).await
82 }
83
84 pub async fn transporters_delete_vehicle_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
91 let id = id.to_string();
92 let client = self.client.clone();
93 let body = body.cloned();
94 self.rate_limiter.execute(None, false, move || {
95 let client = client.clone();
96 let id = id.clone();
97 let license_number = license_number.clone();
98 let body = body.clone();
99 async move { client.transporters_delete_vehicle_v2(&id, license_number, body.as_ref()).await }
100 }).await
101 }
102
103 pub async fn transporters_get_driver_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
110 let id = id.to_string();
111 let client = self.client.clone();
112 let body = body.cloned();
113 self.rate_limiter.execute(None, true, move || {
114 let client = client.clone();
115 let id = id.clone();
116 let license_number = license_number.clone();
117 let body = body.clone();
118 async move { client.transporters_get_driver_v2(&id, license_number, body.as_ref()).await }
119 }).await
120 }
121
122 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>> {
129 let client = self.client.clone();
130 let body = body.cloned();
131 self.rate_limiter.execute(None, true, move || {
132 let client = client.clone();
133 let license_number = license_number.clone();
134 let page_number = page_number.clone();
135 let page_size = page_size.clone();
136 let body = body.clone();
137 async move { client.transporters_get_drivers_v2(license_number, page_number, page_size, body.as_ref()).await }
138 }).await
139 }
140
141 pub async fn transporters_get_vehicle_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
148 let id = id.to_string();
149 let client = self.client.clone();
150 let body = body.cloned();
151 self.rate_limiter.execute(None, true, move || {
152 let client = client.clone();
153 let id = id.clone();
154 let license_number = license_number.clone();
155 let body = body.clone();
156 async move { client.transporters_get_vehicle_v2(&id, license_number, body.as_ref()).await }
157 }).await
158 }
159
160 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>> {
167 let client = self.client.clone();
168 let body = body.cloned();
169 self.rate_limiter.execute(None, true, move || {
170 let client = client.clone();
171 let license_number = license_number.clone();
172 let page_number = page_number.clone();
173 let page_size = page_size.clone();
174 let body = body.clone();
175 async move { client.transporters_get_vehicles_v2(license_number, page_number, page_size, body.as_ref()).await }
176 }).await
177 }
178
179 pub async fn transporters_update_driver_v2(&self, license_number: Option<String>, body: Option<&Vec<TransportersUpdateDriverV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
186 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
187 let client = self.client.clone();
188 let body_val = body_val.clone();
189 self.rate_limiter.execute(None, false, move || {
190 let client = client.clone();
191 let license_number = license_number.clone();
192 let body_val = body_val.clone();
193 async move { client.transporters_update_driver_v2(license_number, body_val.as_ref()).await }
194 }).await
195 }
196
197 pub async fn transporters_update_vehicle_v2(&self, license_number: Option<String>, body: Option<&Vec<TransportersUpdateVehicleV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
204 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
205 let client = self.client.clone();
206 let body_val = body_val.clone();
207 self.rate_limiter.execute(None, false, move || {
208 let client = client.clone();
209 let license_number = license_number.clone();
210 let body_val = body_val.clone();
211 async move { client.transporters_update_vehicle_v2(license_number, body_val.as_ref()).await }
212 }).await
213 }
214
215 pub async fn locations_create_v1(&self, license_number: Option<String>, body: Option<&Vec<LocationsCreateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
220 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
221 let client = self.client.clone();
222 let body_val = body_val.clone();
223 self.rate_limiter.execute(None, false, move || {
224 let client = client.clone();
225 let license_number = license_number.clone();
226 let body_val = body_val.clone();
227 async move { client.locations_create_v1(license_number, body_val.as_ref()).await }
228 }).await
229 }
230
231 pub async fn locations_create_v2(&self, license_number: Option<String>, body: Option<&Vec<LocationsCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
238 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
239 let client = self.client.clone();
240 let body_val = body_val.clone();
241 self.rate_limiter.execute(None, false, move || {
242 let client = client.clone();
243 let license_number = license_number.clone();
244 let body_val = body_val.clone();
245 async move { client.locations_create_v2(license_number, body_val.as_ref()).await }
246 }).await
247 }
248
249 pub async fn locations_create_update_v1(&self, license_number: Option<String>, body: Option<&Vec<LocationsCreateUpdateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
254 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
255 let client = self.client.clone();
256 let body_val = body_val.clone();
257 self.rate_limiter.execute(None, false, move || {
258 let client = client.clone();
259 let license_number = license_number.clone();
260 let body_val = body_val.clone();
261 async move { client.locations_create_update_v1(license_number, body_val.as_ref()).await }
262 }).await
263 }
264
265 pub async fn locations_delete_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
270 let id = id.to_string();
271 let client = self.client.clone();
272 let body = body.cloned();
273 self.rate_limiter.execute(None, false, move || {
274 let client = client.clone();
275 let id = id.clone();
276 let license_number = license_number.clone();
277 let body = body.clone();
278 async move { client.locations_delete_v1(&id, license_number, body.as_ref()).await }
279 }).await
280 }
281
282 pub async fn locations_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
289 let id = id.to_string();
290 let client = self.client.clone();
291 let body = body.cloned();
292 self.rate_limiter.execute(None, false, move || {
293 let client = client.clone();
294 let id = id.clone();
295 let license_number = license_number.clone();
296 let body = body.clone();
297 async move { client.locations_delete_v2(&id, license_number, body.as_ref()).await }
298 }).await
299 }
300
301 pub async fn locations_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
306 let id = id.to_string();
307 let client = self.client.clone();
308 let body = body.cloned();
309 self.rate_limiter.execute(None, true, move || {
310 let client = client.clone();
311 let id = id.clone();
312 let license_number = license_number.clone();
313 let body = body.clone();
314 async move { client.locations_get_v1(&id, license_number, body.as_ref()).await }
315 }).await
316 }
317
318 pub async fn locations_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
325 let id = id.to_string();
326 let client = self.client.clone();
327 let body = body.cloned();
328 self.rate_limiter.execute(None, true, move || {
329 let client = client.clone();
330 let id = id.clone();
331 let license_number = license_number.clone();
332 let body = body.clone();
333 async move { client.locations_get_v2(&id, license_number, body.as_ref()).await }
334 }).await
335 }
336
337 pub async fn locations_get_active_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
342 let client = self.client.clone();
343 let body = body.cloned();
344 self.rate_limiter.execute(None, true, move || {
345 let client = client.clone();
346 let license_number = license_number.clone();
347 let body = body.clone();
348 async move { client.locations_get_active_v1(license_number, body.as_ref()).await }
349 }).await
350 }
351
352 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>> {
359 let client = self.client.clone();
360 let body = body.cloned();
361 self.rate_limiter.execute(None, true, move || {
362 let client = client.clone();
363 let last_modified_end = last_modified_end.clone();
364 let last_modified_start = last_modified_start.clone();
365 let license_number = license_number.clone();
366 let page_number = page_number.clone();
367 let page_size = page_size.clone();
368 let body = body.clone();
369 async move { client.locations_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
370 }).await
371 }
372
373 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>> {
380 let client = self.client.clone();
381 let body = body.cloned();
382 self.rate_limiter.execute(None, true, move || {
383 let client = client.clone();
384 let license_number = license_number.clone();
385 let page_number = page_number.clone();
386 let page_size = page_size.clone();
387 let body = body.clone();
388 async move { client.locations_get_inactive_v2(license_number, page_number, page_size, body.as_ref()).await }
389 }).await
390 }
391
392 pub async fn locations_get_types_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
397 let client = self.client.clone();
398 let body = body.cloned();
399 self.rate_limiter.execute(None, true, move || {
400 let client = client.clone();
401 let license_number = license_number.clone();
402 let body = body.clone();
403 async move { client.locations_get_types_v1(license_number, body.as_ref()).await }
404 }).await
405 }
406
407 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>> {
414 let client = self.client.clone();
415 let body = body.cloned();
416 self.rate_limiter.execute(None, true, move || {
417 let client = client.clone();
418 let license_number = license_number.clone();
419 let page_number = page_number.clone();
420 let page_size = page_size.clone();
421 let body = body.clone();
422 async move { client.locations_get_types_v2(license_number, page_number, page_size, body.as_ref()).await }
423 }).await
424 }
425
426 pub async fn locations_update_v2(&self, license_number: Option<String>, body: Option<&Vec<LocationsUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
433 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
434 let client = self.client.clone();
435 let body_val = body_val.clone();
436 self.rate_limiter.execute(None, false, move || {
437 let client = client.clone();
438 let license_number = license_number.clone();
439 let body_val = body_val.clone();
440 async move { client.locations_update_v2(license_number, body_val.as_ref()).await }
441 }).await
442 }
443
444 pub async fn packages_create_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
450 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
451 let client = self.client.clone();
452 let body_val = body_val.clone();
453 self.rate_limiter.execute(None, false, move || {
454 let client = client.clone();
455 let license_number = license_number.clone();
456 let body_val = body_val.clone();
457 async move { client.packages_create_v1(license_number, body_val.as_ref()).await }
458 }).await
459 }
460
461 pub async fn packages_create_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
469 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
470 let client = self.client.clone();
471 let body_val = body_val.clone();
472 self.rate_limiter.execute(None, false, move || {
473 let client = client.clone();
474 let license_number = license_number.clone();
475 let body_val = body_val.clone();
476 async move { client.packages_create_v2(license_number, body_val.as_ref()).await }
477 }).await
478 }
479
480 pub async fn packages_create_adjust_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateAdjustV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
486 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
487 let client = self.client.clone();
488 let body_val = body_val.clone();
489 self.rate_limiter.execute(None, false, move || {
490 let client = client.clone();
491 let license_number = license_number.clone();
492 let body_val = body_val.clone();
493 async move { client.packages_create_adjust_v1(license_number, body_val.as_ref()).await }
494 }).await
495 }
496
497 pub async fn packages_create_adjust_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateAdjustV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
505 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
506 let client = self.client.clone();
507 let body_val = body_val.clone();
508 self.rate_limiter.execute(None, false, move || {
509 let client = client.clone();
510 let license_number = license_number.clone();
511 let body_val = body_val.clone();
512 async move { client.packages_create_adjust_v2(license_number, body_val.as_ref()).await }
513 }).await
514 }
515
516 pub async fn packages_create_change_item_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateChangeItemV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
522 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
523 let client = self.client.clone();
524 let body_val = body_val.clone();
525 self.rate_limiter.execute(None, false, move || {
526 let client = client.clone();
527 let license_number = license_number.clone();
528 let body_val = body_val.clone();
529 async move { client.packages_create_change_item_v1(license_number, body_val.as_ref()).await }
530 }).await
531 }
532
533 pub async fn packages_create_change_location_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateChangeLocationV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
539 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
540 let client = self.client.clone();
541 let body_val = body_val.clone();
542 self.rate_limiter.execute(None, false, move || {
543 let client = client.clone();
544 let license_number = license_number.clone();
545 let body_val = body_val.clone();
546 async move { client.packages_create_change_location_v1(license_number, body_val.as_ref()).await }
547 }).await
548 }
549
550 pub async fn packages_create_finish_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateFinishV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
556 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
557 let client = self.client.clone();
558 let body_val = body_val.clone();
559 self.rate_limiter.execute(None, false, move || {
560 let client = client.clone();
561 let license_number = license_number.clone();
562 let body_val = body_val.clone();
563 async move { client.packages_create_finish_v1(license_number, body_val.as_ref()).await }
564 }).await
565 }
566
567 pub async fn packages_create_plantings_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreatePlantingsV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
575 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
576 let client = self.client.clone();
577 let body_val = body_val.clone();
578 self.rate_limiter.execute(None, false, move || {
579 let client = client.clone();
580 let license_number = license_number.clone();
581 let body_val = body_val.clone();
582 async move { client.packages_create_plantings_v1(license_number, body_val.as_ref()).await }
583 }).await
584 }
585
586 pub async fn packages_create_plantings_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreatePlantingsV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
596 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
597 let client = self.client.clone();
598 let body_val = body_val.clone();
599 self.rate_limiter.execute(None, false, move || {
600 let client = client.clone();
601 let license_number = license_number.clone();
602 let body_val = body_val.clone();
603 async move { client.packages_create_plantings_v2(license_number, body_val.as_ref()).await }
604 }).await
605 }
606
607 pub async fn packages_create_remediate_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateRemediateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
613 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
614 let client = self.client.clone();
615 let body_val = body_val.clone();
616 self.rate_limiter.execute(None, false, move || {
617 let client = client.clone();
618 let license_number = license_number.clone();
619 let body_val = body_val.clone();
620 async move { client.packages_create_remediate_v1(license_number, body_val.as_ref()).await }
621 }).await
622 }
623
624 pub async fn packages_create_testing_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateTestingV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
630 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
631 let client = self.client.clone();
632 let body_val = body_val.clone();
633 self.rate_limiter.execute(None, false, move || {
634 let client = client.clone();
635 let license_number = license_number.clone();
636 let body_val = body_val.clone();
637 async move { client.packages_create_testing_v1(license_number, body_val.as_ref()).await }
638 }).await
639 }
640
641 pub async fn packages_create_testing_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateTestingV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
649 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
650 let client = self.client.clone();
651 let body_val = body_val.clone();
652 self.rate_limiter.execute(None, false, move || {
653 let client = client.clone();
654 let license_number = license_number.clone();
655 let body_val = body_val.clone();
656 async move { client.packages_create_testing_v2(license_number, body_val.as_ref()).await }
657 }).await
658 }
659
660 pub async fn packages_create_unfinish_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesCreateUnfinishV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
666 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
667 let client = self.client.clone();
668 let body_val = body_val.clone();
669 self.rate_limiter.execute(None, false, move || {
670 let client = client.clone();
671 let license_number = license_number.clone();
672 let body_val = body_val.clone();
673 async move { client.packages_create_unfinish_v1(license_number, body_val.as_ref()).await }
674 }).await
675 }
676
677 pub async fn packages_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
685 let id = id.to_string();
686 let client = self.client.clone();
687 let body = body.cloned();
688 self.rate_limiter.execute(None, false, move || {
689 let client = client.clone();
690 let id = id.clone();
691 let license_number = license_number.clone();
692 let body = body.clone();
693 async move { client.packages_delete_v2(&id, license_number, body.as_ref()).await }
694 }).await
695 }
696
697 pub async fn packages_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
702 let id = id.to_string();
703 let client = self.client.clone();
704 let body = body.cloned();
705 self.rate_limiter.execute(None, true, move || {
706 let client = client.clone();
707 let id = id.clone();
708 let license_number = license_number.clone();
709 let body = body.clone();
710 async move { client.packages_get_v1(&id, license_number, body.as_ref()).await }
711 }).await
712 }
713
714 pub async fn packages_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
721 let id = id.to_string();
722 let client = self.client.clone();
723 let body = body.cloned();
724 self.rate_limiter.execute(None, true, move || {
725 let client = client.clone();
726 let id = id.clone();
727 let license_number = license_number.clone();
728 let body = body.clone();
729 async move { client.packages_get_v2(&id, license_number, body.as_ref()).await }
730 }).await
731 }
732
733 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>> {
738 let client = self.client.clone();
739 let body = body.cloned();
740 self.rate_limiter.execute(None, true, move || {
741 let client = client.clone();
742 let last_modified_end = last_modified_end.clone();
743 let last_modified_start = last_modified_start.clone();
744 let license_number = license_number.clone();
745 let body = body.clone();
746 async move { client.packages_get_active_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
747 }).await
748 }
749
750 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>> {
757 let client = self.client.clone();
758 let body = body.cloned();
759 self.rate_limiter.execute(None, true, move || {
760 let client = client.clone();
761 let last_modified_end = last_modified_end.clone();
762 let last_modified_start = last_modified_start.clone();
763 let license_number = license_number.clone();
764 let page_number = page_number.clone();
765 let page_size = page_size.clone();
766 let body = body.clone();
767 async move { client.packages_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
768 }).await
769 }
770
771 pub async fn packages_get_adjust_reasons_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
776 let client = self.client.clone();
777 let body = body.cloned();
778 self.rate_limiter.execute(None, true, move || {
779 let client = client.clone();
780 let license_number = license_number.clone();
781 let body = body.clone();
782 async move { client.packages_get_adjust_reasons_v1(license_number, body.as_ref()).await }
783 }).await
784 }
785
786 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>> {
793 let client = self.client.clone();
794 let body = body.cloned();
795 self.rate_limiter.execute(None, true, move || {
796 let client = client.clone();
797 let license_number = license_number.clone();
798 let page_number = page_number.clone();
799 let page_size = page_size.clone();
800 let body = body.clone();
801 async move { client.packages_get_adjust_reasons_v2(license_number, page_number, page_size, body.as_ref()).await }
802 }).await
803 }
804
805 pub async fn packages_get_by_label_v1(&self, label: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
810 let label = label.to_string();
811 let client = self.client.clone();
812 let body = body.cloned();
813 self.rate_limiter.execute(None, true, move || {
814 let client = client.clone();
815 let label = label.clone();
816 let license_number = license_number.clone();
817 let body = body.clone();
818 async move { client.packages_get_by_label_v1(&label, license_number, body.as_ref()).await }
819 }).await
820 }
821
822 pub async fn packages_get_by_label_v2(&self, label: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
829 let label = label.to_string();
830 let client = self.client.clone();
831 let body = body.cloned();
832 self.rate_limiter.execute(None, true, move || {
833 let client = client.clone();
834 let label = label.clone();
835 let license_number = license_number.clone();
836 let body = body.clone();
837 async move { client.packages_get_by_label_v2(&label, license_number, body.as_ref()).await }
838 }).await
839 }
840
841 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>> {
846 let client = self.client.clone();
847 let body = body.cloned();
848 self.rate_limiter.execute(None, true, move || {
849 let client = client.clone();
850 let last_modified_end = last_modified_end.clone();
851 let last_modified_start = last_modified_start.clone();
852 let license_number = license_number.clone();
853 let body = body.clone();
854 async move { client.packages_get_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
855 }).await
856 }
857
858 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>> {
865 let client = self.client.clone();
866 let body = body.cloned();
867 self.rate_limiter.execute(None, true, move || {
868 let client = client.clone();
869 let last_modified_end = last_modified_end.clone();
870 let last_modified_start = last_modified_start.clone();
871 let license_number = license_number.clone();
872 let page_number = page_number.clone();
873 let page_size = page_size.clone();
874 let body = body.clone();
875 async move { client.packages_get_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
876 }).await
877 }
878
879 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>> {
886 let client = self.client.clone();
887 let body = body.cloned();
888 self.rate_limiter.execute(None, true, move || {
889 let client = client.clone();
890 let last_modified_end = last_modified_end.clone();
891 let last_modified_start = last_modified_start.clone();
892 let license_number = license_number.clone();
893 let page_number = page_number.clone();
894 let page_size = page_size.clone();
895 let body = body.clone();
896 async move { client.packages_get_intransit_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
897 }).await
898 }
899
900 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>> {
907 let client = self.client.clone();
908 let body = body.cloned();
909 self.rate_limiter.execute(None, true, move || {
910 let client = client.clone();
911 let last_modified_end = last_modified_end.clone();
912 let last_modified_start = last_modified_start.clone();
913 let license_number = license_number.clone();
914 let page_number = page_number.clone();
915 let page_size = page_size.clone();
916 let body = body.clone();
917 async move { client.packages_get_labsamples_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
918 }).await
919 }
920
921 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>> {
926 let client = self.client.clone();
927 let body = body.cloned();
928 self.rate_limiter.execute(None, true, move || {
929 let client = client.clone();
930 let last_modified_end = last_modified_end.clone();
931 let last_modified_start = last_modified_start.clone();
932 let license_number = license_number.clone();
933 let body = body.clone();
934 async move { client.packages_get_onhold_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
935 }).await
936 }
937
938 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>> {
945 let client = self.client.clone();
946 let body = body.cloned();
947 self.rate_limiter.execute(None, true, move || {
948 let client = client.clone();
949 let last_modified_end = last_modified_end.clone();
950 let last_modified_start = last_modified_start.clone();
951 let license_number = license_number.clone();
952 let page_number = page_number.clone();
953 let page_size = page_size.clone();
954 let body = body.clone();
955 async move { client.packages_get_onhold_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
956 }).await
957 }
958
959 pub async fn packages_get_source_harvest_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
966 let id = id.to_string();
967 let client = self.client.clone();
968 let body = body.cloned();
969 self.rate_limiter.execute(None, true, move || {
970 let client = client.clone();
971 let id = id.clone();
972 let license_number = license_number.clone();
973 let body = body.clone();
974 async move { client.packages_get_source_harvest_v2(&id, license_number, body.as_ref()).await }
975 }).await
976 }
977
978 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>> {
985 let client = self.client.clone();
986 let body = body.cloned();
987 self.rate_limiter.execute(None, true, move || {
988 let client = client.clone();
989 let last_modified_end = last_modified_end.clone();
990 let last_modified_start = last_modified_start.clone();
991 let license_number = license_number.clone();
992 let page_number = page_number.clone();
993 let page_size = page_size.clone();
994 let body = body.clone();
995 async move { client.packages_get_transferred_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
996 }).await
997 }
998
999 pub async fn packages_get_types_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1004 let client = self.client.clone();
1005 let body = body.cloned();
1006 self.rate_limiter.execute(None, true, move || {
1007 let client = client.clone();
1008 let no = no.clone();
1009 let body = body.clone();
1010 async move { client.packages_get_types_v1(no, body.as_ref()).await }
1011 }).await
1012 }
1013
1014 pub async fn packages_get_types_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1021 let client = self.client.clone();
1022 let body = body.cloned();
1023 self.rate_limiter.execute(None, true, move || {
1024 let client = client.clone();
1025 let no = no.clone();
1026 let body = body.clone();
1027 async move { client.packages_get_types_v2(no, body.as_ref()).await }
1028 }).await
1029 }
1030
1031 pub async fn packages_update_adjust_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateAdjustV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1039 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1040 let client = self.client.clone();
1041 let body_val = body_val.clone();
1042 self.rate_limiter.execute(None, false, move || {
1043 let client = client.clone();
1044 let license_number = license_number.clone();
1045 let body_val = body_val.clone();
1046 async move { client.packages_update_adjust_v2(license_number, body_val.as_ref()).await }
1047 }).await
1048 }
1049
1050 pub async fn packages_update_change_note_v1(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateChangeNoteV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1057 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1058 let client = self.client.clone();
1059 let body_val = body_val.clone();
1060 self.rate_limiter.execute(None, false, move || {
1061 let client = client.clone();
1062 let license_number = license_number.clone();
1063 let body_val = body_val.clone();
1064 async move { client.packages_update_change_note_v1(license_number, body_val.as_ref()).await }
1065 }).await
1066 }
1067
1068 pub async fn packages_update_decontaminate_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateDecontaminateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1076 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1077 let client = self.client.clone();
1078 let body_val = body_val.clone();
1079 self.rate_limiter.execute(None, false, move || {
1080 let client = client.clone();
1081 let license_number = license_number.clone();
1082 let body_val = body_val.clone();
1083 async move { client.packages_update_decontaminate_v2(license_number, body_val.as_ref()).await }
1084 }).await
1085 }
1086
1087 pub async fn packages_update_donation_flag_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateDonationFlagV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1095 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1096 let client = self.client.clone();
1097 let body_val = body_val.clone();
1098 self.rate_limiter.execute(None, false, move || {
1099 let client = client.clone();
1100 let license_number = license_number.clone();
1101 let body_val = body_val.clone();
1102 async move { client.packages_update_donation_flag_v2(license_number, body_val.as_ref()).await }
1103 }).await
1104 }
1105
1106 pub async fn packages_update_donation_unflag_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateDonationUnflagV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1114 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1115 let client = self.client.clone();
1116 let body_val = body_val.clone();
1117 self.rate_limiter.execute(None, false, move || {
1118 let client = client.clone();
1119 let license_number = license_number.clone();
1120 let body_val = body_val.clone();
1121 async move { client.packages_update_donation_unflag_v2(license_number, body_val.as_ref()).await }
1122 }).await
1123 }
1124
1125 pub async fn packages_update_externalid_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateExternalidV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1134 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1135 let client = self.client.clone();
1136 let body_val = body_val.clone();
1137 self.rate_limiter.execute(None, false, move || {
1138 let client = client.clone();
1139 let license_number = license_number.clone();
1140 let body_val = body_val.clone();
1141 async move { client.packages_update_externalid_v2(license_number, body_val.as_ref()).await }
1142 }).await
1143 }
1144
1145 pub async fn packages_update_finish_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateFinishV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1153 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1154 let client = self.client.clone();
1155 let body_val = body_val.clone();
1156 self.rate_limiter.execute(None, false, move || {
1157 let client = client.clone();
1158 let license_number = license_number.clone();
1159 let body_val = body_val.clone();
1160 async move { client.packages_update_finish_v2(license_number, body_val.as_ref()).await }
1161 }).await
1162 }
1163
1164 pub async fn packages_update_item_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateItemV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1172 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1173 let client = self.client.clone();
1174 let body_val = body_val.clone();
1175 self.rate_limiter.execute(None, false, move || {
1176 let client = client.clone();
1177 let license_number = license_number.clone();
1178 let body_val = body_val.clone();
1179 async move { client.packages_update_item_v2(license_number, body_val.as_ref()).await }
1180 }).await
1181 }
1182
1183 pub async fn packages_update_lab_test_required_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateLabTestRequiredV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1191 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1192 let client = self.client.clone();
1193 let body_val = body_val.clone();
1194 self.rate_limiter.execute(None, false, move || {
1195 let client = client.clone();
1196 let license_number = license_number.clone();
1197 let body_val = body_val.clone();
1198 async move { client.packages_update_lab_test_required_v2(license_number, body_val.as_ref()).await }
1199 }).await
1200 }
1201
1202 pub async fn packages_update_location_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateLocationV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1210 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1211 let client = self.client.clone();
1212 let body_val = body_val.clone();
1213 self.rate_limiter.execute(None, false, move || {
1214 let client = client.clone();
1215 let license_number = license_number.clone();
1216 let body_val = body_val.clone();
1217 async move { client.packages_update_location_v2(license_number, body_val.as_ref()).await }
1218 }).await
1219 }
1220
1221 pub async fn packages_update_note_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateNoteV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1230 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1231 let client = self.client.clone();
1232 let body_val = body_val.clone();
1233 self.rate_limiter.execute(None, false, move || {
1234 let client = client.clone();
1235 let license_number = license_number.clone();
1236 let body_val = body_val.clone();
1237 async move { client.packages_update_note_v2(license_number, body_val.as_ref()).await }
1238 }).await
1239 }
1240
1241 pub async fn packages_update_remediate_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateRemediateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1249 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1250 let client = self.client.clone();
1251 let body_val = body_val.clone();
1252 self.rate_limiter.execute(None, false, move || {
1253 let client = client.clone();
1254 let license_number = license_number.clone();
1255 let body_val = body_val.clone();
1256 async move { client.packages_update_remediate_v2(license_number, body_val.as_ref()).await }
1257 }).await
1258 }
1259
1260 pub async fn packages_update_tradesample_flag_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateTradesampleFlagV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1268 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1269 let client = self.client.clone();
1270 let body_val = body_val.clone();
1271 self.rate_limiter.execute(None, false, move || {
1272 let client = client.clone();
1273 let license_number = license_number.clone();
1274 let body_val = body_val.clone();
1275 async move { client.packages_update_tradesample_flag_v2(license_number, body_val.as_ref()).await }
1276 }).await
1277 }
1278
1279 pub async fn packages_update_tradesample_unflag_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateTradesampleUnflagV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1287 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1288 let client = self.client.clone();
1289 let body_val = body_val.clone();
1290 self.rate_limiter.execute(None, false, move || {
1291 let client = client.clone();
1292 let license_number = license_number.clone();
1293 let body_val = body_val.clone();
1294 async move { client.packages_update_tradesample_unflag_v2(license_number, body_val.as_ref()).await }
1295 }).await
1296 }
1297
1298 pub async fn packages_update_unfinish_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateUnfinishV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1306 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1307 let client = self.client.clone();
1308 let body_val = body_val.clone();
1309 self.rate_limiter.execute(None, false, move || {
1310 let client = client.clone();
1311 let license_number = license_number.clone();
1312 let body_val = body_val.clone();
1313 async move { client.packages_update_unfinish_v2(license_number, body_val.as_ref()).await }
1314 }).await
1315 }
1316
1317 pub async fn packages_update_usebydate_v2(&self, license_number: Option<String>, body: Option<&Vec<PackagesUpdateUsebydateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1325 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1326 let client = self.client.clone();
1327 let body_val = body_val.clone();
1328 self.rate_limiter.execute(None, false, move || {
1329 let client = client.clone();
1330 let license_number = license_number.clone();
1331 let body_val = body_val.clone();
1332 async move { client.packages_update_usebydate_v2(license_number, body_val.as_ref()).await }
1333 }).await
1334 }
1335
1336 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>> {
1343 let patient_license_number = patient_license_number.to_string();
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 patient_license_number = patient_license_number.clone();
1349 let license_number = license_number.clone();
1350 let body = body.clone();
1351 async move { client.patients_status_get_statuses_by_patient_license_number_v1(&patient_license_number, license_number, body.as_ref()).await }
1352 }).await
1353 }
1354
1355 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>> {
1362 let patient_license_number = patient_license_number.to_string();
1363 let client = self.client.clone();
1364 let body = body.cloned();
1365 self.rate_limiter.execute(None, true, move || {
1366 let client = client.clone();
1367 let patient_license_number = patient_license_number.clone();
1368 let license_number = license_number.clone();
1369 let body = body.clone();
1370 async move { client.patients_status_get_statuses_by_patient_license_number_v2(&patient_license_number, license_number, body.as_ref()).await }
1371 }).await
1372 }
1373
1374 pub async fn plant_batches_create_additives_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateAdditivesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1379 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1380 let client = self.client.clone();
1381 let body_val = body_val.clone();
1382 self.rate_limiter.execute(None, false, move || {
1383 let client = client.clone();
1384 let license_number = license_number.clone();
1385 let body_val = body_val.clone();
1386 async move { client.plant_batches_create_additives_v1(license_number, body_val.as_ref()).await }
1387 }).await
1388 }
1389
1390 pub async fn plant_batches_create_additives_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateAdditivesV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1397 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1398 let client = self.client.clone();
1399 let body_val = body_val.clone();
1400 self.rate_limiter.execute(None, false, move || {
1401 let client = client.clone();
1402 let license_number = license_number.clone();
1403 let body_val = body_val.clone();
1404 async move { client.plant_batches_create_additives_v2(license_number, body_val.as_ref()).await }
1405 }).await
1406 }
1407
1408 pub async fn plant_batches_create_additives_usingtemplate_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateAdditivesUsingtemplateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1415 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1416 let client = self.client.clone();
1417 let body_val = body_val.clone();
1418 self.rate_limiter.execute(None, false, move || {
1419 let client = client.clone();
1420 let license_number = license_number.clone();
1421 let body_val = body_val.clone();
1422 async move { client.plant_batches_create_additives_usingtemplate_v2(license_number, body_val.as_ref()).await }
1423 }).await
1424 }
1425
1426 pub async fn plant_batches_create_adjust_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateAdjustV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1432 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1433 let client = self.client.clone();
1434 let body_val = body_val.clone();
1435 self.rate_limiter.execute(None, false, move || {
1436 let client = client.clone();
1437 let license_number = license_number.clone();
1438 let body_val = body_val.clone();
1439 async move { client.plant_batches_create_adjust_v1(license_number, body_val.as_ref()).await }
1440 }).await
1441 }
1442
1443 pub async fn plant_batches_create_adjust_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateAdjustV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1451 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1452 let client = self.client.clone();
1453 let body_val = body_val.clone();
1454 self.rate_limiter.execute(None, false, move || {
1455 let client = client.clone();
1456 let license_number = license_number.clone();
1457 let body_val = body_val.clone();
1458 async move { client.plant_batches_create_adjust_v2(license_number, body_val.as_ref()).await }
1459 }).await
1460 }
1461
1462 pub async fn plant_batches_create_changegrowthphase_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateChangegrowthphaseV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1470 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1471 let client = self.client.clone();
1472 let body_val = body_val.clone();
1473 self.rate_limiter.execute(None, false, move || {
1474 let client = client.clone();
1475 let license_number = license_number.clone();
1476 let body_val = body_val.clone();
1477 async move { client.plant_batches_create_changegrowthphase_v1(license_number, body_val.as_ref()).await }
1478 }).await
1479 }
1480
1481 pub async fn plant_batches_create_growthphase_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateGrowthphaseV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1491 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1492 let client = self.client.clone();
1493 let body_val = body_val.clone();
1494 self.rate_limiter.execute(None, false, move || {
1495 let client = client.clone();
1496 let license_number = license_number.clone();
1497 let body_val = body_val.clone();
1498 async move { client.plant_batches_create_growthphase_v2(license_number, body_val.as_ref()).await }
1499 }).await
1500 }
1501
1502 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>> {
1512 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1513 let client = self.client.clone();
1514 let body_val = body_val.clone();
1515 self.rate_limiter.execute(None, false, move || {
1516 let client = client.clone();
1517 let is_from_mother_plant = is_from_mother_plant.clone();
1518 let license_number = license_number.clone();
1519 let body_val = body_val.clone();
1520 async move { client.plant_batches_create_package_v2(is_from_mother_plant, license_number, body_val.as_ref()).await }
1521 }).await
1522 }
1523
1524 pub async fn plant_batches_create_package_frommotherplant_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreatePackageFrommotherplantV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1532 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1533 let client = self.client.clone();
1534 let body_val = body_val.clone();
1535 self.rate_limiter.execute(None, false, move || {
1536 let client = client.clone();
1537 let license_number = license_number.clone();
1538 let body_val = body_val.clone();
1539 async move { client.plant_batches_create_package_frommotherplant_v1(license_number, body_val.as_ref()).await }
1540 }).await
1541 }
1542
1543 pub async fn plant_batches_create_package_frommotherplant_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreatePackageFrommotherplantV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1553 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1554 let client = self.client.clone();
1555 let body_val = body_val.clone();
1556 self.rate_limiter.execute(None, false, move || {
1557 let client = client.clone();
1558 let license_number = license_number.clone();
1559 let body_val = body_val.clone();
1560 async move { client.plant_batches_create_package_frommotherplant_v2(license_number, body_val.as_ref()).await }
1561 }).await
1562 }
1563
1564 pub async fn plant_batches_create_plantings_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreatePlantingsV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1572 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1573 let client = self.client.clone();
1574 let body_val = body_val.clone();
1575 self.rate_limiter.execute(None, false, move || {
1576 let client = client.clone();
1577 let license_number = license_number.clone();
1578 let body_val = body_val.clone();
1579 async move { client.plant_batches_create_plantings_v2(license_number, body_val.as_ref()).await }
1580 }).await
1581 }
1582
1583 pub async fn plant_batches_create_split_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateSplitV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1589 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1590 let client = self.client.clone();
1591 let body_val = body_val.clone();
1592 self.rate_limiter.execute(None, false, move || {
1593 let client = client.clone();
1594 let license_number = license_number.clone();
1595 let body_val = body_val.clone();
1596 async move { client.plant_batches_create_split_v1(license_number, body_val.as_ref()).await }
1597 }).await
1598 }
1599
1600 pub async fn plant_batches_create_split_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateSplitV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1608 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1609 let client = self.client.clone();
1610 let body_val = body_val.clone();
1611 self.rate_limiter.execute(None, false, move || {
1612 let client = client.clone();
1613 let license_number = license_number.clone();
1614 let body_val = body_val.clone();
1615 async move { client.plant_batches_create_split_v2(license_number, body_val.as_ref()).await }
1616 }).await
1617 }
1618
1619 pub async fn plant_batches_create_waste_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateWasteV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1624 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1625 let client = self.client.clone();
1626 let body_val = body_val.clone();
1627 self.rate_limiter.execute(None, false, move || {
1628 let client = client.clone();
1629 let license_number = license_number.clone();
1630 let body_val = body_val.clone();
1631 async move { client.plant_batches_create_waste_v1(license_number, body_val.as_ref()).await }
1632 }).await
1633 }
1634
1635 pub async fn plant_batches_create_waste_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateWasteV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1642 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1643 let client = self.client.clone();
1644 let body_val = body_val.clone();
1645 self.rate_limiter.execute(None, false, move || {
1646 let client = client.clone();
1647 let license_number = license_number.clone();
1648 let body_val = body_val.clone();
1649 async move { client.plant_batches_create_waste_v2(license_number, body_val.as_ref()).await }
1650 }).await
1651 }
1652
1653 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>> {
1661 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1662 let client = self.client.clone();
1663 let body_val = body_val.clone();
1664 self.rate_limiter.execute(None, false, move || {
1665 let client = client.clone();
1666 let is_from_mother_plant = is_from_mother_plant.clone();
1667 let license_number = license_number.clone();
1668 let body_val = body_val.clone();
1669 async move { client.plant_batches_createpackages_v1(is_from_mother_plant, license_number, body_val.as_ref()).await }
1670 }).await
1671 }
1672
1673 pub async fn plant_batches_createplantings_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesCreateplantingsV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1679 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1680 let client = self.client.clone();
1681 let body_val = body_val.clone();
1682 self.rate_limiter.execute(None, false, move || {
1683 let client = client.clone();
1684 let license_number = license_number.clone();
1685 let body_val = body_val.clone();
1686 async move { client.plant_batches_createplantings_v1(license_number, body_val.as_ref()).await }
1687 }).await
1688 }
1689
1690 pub async fn plant_batches_delete_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1696 let client = self.client.clone();
1697 let body = body.cloned();
1698 self.rate_limiter.execute(None, false, move || {
1699 let client = client.clone();
1700 let license_number = license_number.clone();
1701 let body = body.clone();
1702 async move { client.plant_batches_delete_v1(license_number, body.as_ref()).await }
1703 }).await
1704 }
1705
1706 pub async fn plant_batches_delete_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1714 let client = self.client.clone();
1715 let body = body.cloned();
1716 self.rate_limiter.execute(None, false, move || {
1717 let client = client.clone();
1718 let license_number = license_number.clone();
1719 let body = body.clone();
1720 async move { client.plant_batches_delete_v2(license_number, body.as_ref()).await }
1721 }).await
1722 }
1723
1724 pub async fn plant_batches_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1729 let id = id.to_string();
1730 let client = self.client.clone();
1731 let body = body.cloned();
1732 self.rate_limiter.execute(None, true, move || {
1733 let client = client.clone();
1734 let id = id.clone();
1735 let license_number = license_number.clone();
1736 let body = body.clone();
1737 async move { client.plant_batches_get_v1(&id, license_number, body.as_ref()).await }
1738 }).await
1739 }
1740
1741 pub async fn plant_batches_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1748 let id = id.to_string();
1749 let client = self.client.clone();
1750 let body = body.cloned();
1751 self.rate_limiter.execute(None, true, move || {
1752 let client = client.clone();
1753 let id = id.clone();
1754 let license_number = license_number.clone();
1755 let body = body.clone();
1756 async move { client.plant_batches_get_v2(&id, license_number, body.as_ref()).await }
1757 }).await
1758 }
1759
1760 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>> {
1765 let client = self.client.clone();
1766 let body = body.cloned();
1767 self.rate_limiter.execute(None, true, move || {
1768 let client = client.clone();
1769 let last_modified_end = last_modified_end.clone();
1770 let last_modified_start = last_modified_start.clone();
1771 let license_number = license_number.clone();
1772 let body = body.clone();
1773 async move { client.plant_batches_get_active_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
1774 }).await
1775 }
1776
1777 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>> {
1784 let client = self.client.clone();
1785 let body = body.cloned();
1786 self.rate_limiter.execute(None, true, move || {
1787 let client = client.clone();
1788 let last_modified_end = last_modified_end.clone();
1789 let last_modified_start = last_modified_start.clone();
1790 let license_number = license_number.clone();
1791 let page_number = page_number.clone();
1792 let page_size = page_size.clone();
1793 let body = body.clone();
1794 async move { client.plant_batches_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
1795 }).await
1796 }
1797
1798 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>> {
1803 let client = self.client.clone();
1804 let body = body.cloned();
1805 self.rate_limiter.execute(None, true, move || {
1806 let client = client.clone();
1807 let last_modified_end = last_modified_end.clone();
1808 let last_modified_start = last_modified_start.clone();
1809 let license_number = license_number.clone();
1810 let body = body.clone();
1811 async move { client.plant_batches_get_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
1812 }).await
1813 }
1814
1815 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>> {
1822 let client = self.client.clone();
1823 let body = body.cloned();
1824 self.rate_limiter.execute(None, true, move || {
1825 let client = client.clone();
1826 let last_modified_end = last_modified_end.clone();
1827 let last_modified_start = last_modified_start.clone();
1828 let license_number = license_number.clone();
1829 let page_number = page_number.clone();
1830 let page_size = page_size.clone();
1831 let body = body.clone();
1832 async move { client.plant_batches_get_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
1833 }).await
1834 }
1835
1836 pub async fn plant_batches_get_types_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1841 let client = self.client.clone();
1842 let body = body.cloned();
1843 self.rate_limiter.execute(None, true, move || {
1844 let client = client.clone();
1845 let no = no.clone();
1846 let body = body.clone();
1847 async move { client.plant_batches_get_types_v1(no, body.as_ref()).await }
1848 }).await
1849 }
1850
1851 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>> {
1858 let client = self.client.clone();
1859 let body = body.cloned();
1860 self.rate_limiter.execute(None, true, move || {
1861 let client = client.clone();
1862 let page_number = page_number.clone();
1863 let page_size = page_size.clone();
1864 let body = body.clone();
1865 async move { client.plant_batches_get_types_v2(page_number, page_size, body.as_ref()).await }
1866 }).await
1867 }
1868
1869 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>> {
1876 let client = self.client.clone();
1877 let body = body.cloned();
1878 self.rate_limiter.execute(None, true, move || {
1879 let client = client.clone();
1880 let license_number = license_number.clone();
1881 let page_number = page_number.clone();
1882 let page_size = page_size.clone();
1883 let body = body.clone();
1884 async move { client.plant_batches_get_waste_v2(license_number, page_number, page_size, body.as_ref()).await }
1885 }).await
1886 }
1887
1888 pub async fn plant_batches_get_waste_reasons_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1893 let client = self.client.clone();
1894 let body = body.cloned();
1895 self.rate_limiter.execute(None, true, move || {
1896 let client = client.clone();
1897 let license_number = license_number.clone();
1898 let body = body.clone();
1899 async move { client.plant_batches_get_waste_reasons_v1(license_number, body.as_ref()).await }
1900 }).await
1901 }
1902
1903 pub async fn plant_batches_get_waste_reasons_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
1910 let client = self.client.clone();
1911 let body = body.cloned();
1912 self.rate_limiter.execute(None, true, move || {
1913 let client = client.clone();
1914 let license_number = license_number.clone();
1915 let body = body.clone();
1916 async move { client.plant_batches_get_waste_reasons_v2(license_number, body.as_ref()).await }
1917 }).await
1918 }
1919
1920 pub async fn plant_batches_update_location_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesUpdateLocationV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1928 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1929 let client = self.client.clone();
1930 let body_val = body_val.clone();
1931 self.rate_limiter.execute(None, false, move || {
1932 let client = client.clone();
1933 let license_number = license_number.clone();
1934 let body_val = body_val.clone();
1935 async move { client.plant_batches_update_location_v2(license_number, body_val.as_ref()).await }
1936 }).await
1937 }
1938
1939 pub async fn plant_batches_update_moveplantbatches_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesUpdateMoveplantbatchesV1RequestItem>>) -> 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.plant_batches_update_moveplantbatches_v1(license_number, body_val.as_ref()).await }
1952 }).await
1953 }
1954
1955 pub async fn plant_batches_update_name_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesUpdateNameV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1963 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1964 let client = self.client.clone();
1965 let body_val = body_val.clone();
1966 self.rate_limiter.execute(None, false, move || {
1967 let client = client.clone();
1968 let license_number = license_number.clone();
1969 let body_val = body_val.clone();
1970 async move { client.plant_batches_update_name_v2(license_number, body_val.as_ref()).await }
1971 }).await
1972 }
1973
1974 pub async fn plant_batches_update_strain_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesUpdateStrainV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
1982 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
1983 let client = self.client.clone();
1984 let body_val = body_val.clone();
1985 self.rate_limiter.execute(None, false, move || {
1986 let client = client.clone();
1987 let license_number = license_number.clone();
1988 let body_val = body_val.clone();
1989 async move { client.plant_batches_update_strain_v2(license_number, body_val.as_ref()).await }
1990 }).await
1991 }
1992
1993 pub async fn plant_batches_update_tag_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantBatchesUpdateTagV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2001 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2002 let client = self.client.clone();
2003 let body_val = body_val.clone();
2004 self.rate_limiter.execute(None, false, move || {
2005 let client = client.clone();
2006 let license_number = license_number.clone();
2007 let body_val = body_val.clone();
2008 async move { client.plant_batches_update_tag_v2(license_number, body_val.as_ref()).await }
2009 }).await
2010 }
2011
2012 pub async fn plants_create_additives_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateAdditivesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2017 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2018 let client = self.client.clone();
2019 let body_val = body_val.clone();
2020 self.rate_limiter.execute(None, false, move || {
2021 let client = client.clone();
2022 let license_number = license_number.clone();
2023 let body_val = body_val.clone();
2024 async move { client.plants_create_additives_v1(license_number, body_val.as_ref()).await }
2025 }).await
2026 }
2027
2028 pub async fn plants_create_additives_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateAdditivesV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2035 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2036 let client = self.client.clone();
2037 let body_val = body_val.clone();
2038 self.rate_limiter.execute(None, false, move || {
2039 let client = client.clone();
2040 let license_number = license_number.clone();
2041 let body_val = body_val.clone();
2042 async move { client.plants_create_additives_v2(license_number, body_val.as_ref()).await }
2043 }).await
2044 }
2045
2046 pub async fn plants_create_additives_bylocation_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateAdditivesBylocationV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2052 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2053 let client = self.client.clone();
2054 let body_val = body_val.clone();
2055 self.rate_limiter.execute(None, false, move || {
2056 let client = client.clone();
2057 let license_number = license_number.clone();
2058 let body_val = body_val.clone();
2059 async move { client.plants_create_additives_bylocation_v1(license_number, body_val.as_ref()).await }
2060 }).await
2061 }
2062
2063 pub async fn plants_create_additives_bylocation_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateAdditivesBylocationV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2071 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2072 let client = self.client.clone();
2073 let body_val = body_val.clone();
2074 self.rate_limiter.execute(None, false, move || {
2075 let client = client.clone();
2076 let license_number = license_number.clone();
2077 let body_val = body_val.clone();
2078 async move { client.plants_create_additives_bylocation_v2(license_number, body_val.as_ref()).await }
2079 }).await
2080 }
2081
2082 pub async fn plants_create_additives_bylocation_usingtemplate_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateAdditivesBylocationUsingtemplateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2089 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2090 let client = self.client.clone();
2091 let body_val = body_val.clone();
2092 self.rate_limiter.execute(None, false, move || {
2093 let client = client.clone();
2094 let license_number = license_number.clone();
2095 let body_val = body_val.clone();
2096 async move { client.plants_create_additives_bylocation_usingtemplate_v2(license_number, body_val.as_ref()).await }
2097 }).await
2098 }
2099
2100 pub async fn plants_create_additives_usingtemplate_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateAdditivesUsingtemplateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2107 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2108 let client = self.client.clone();
2109 let body_val = body_val.clone();
2110 self.rate_limiter.execute(None, false, move || {
2111 let client = client.clone();
2112 let license_number = license_number.clone();
2113 let body_val = body_val.clone();
2114 async move { client.plants_create_additives_usingtemplate_v2(license_number, body_val.as_ref()).await }
2115 }).await
2116 }
2117
2118 pub async fn plants_create_changegrowthphases_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateChangegrowthphasesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2124 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2125 let client = self.client.clone();
2126 let body_val = body_val.clone();
2127 self.rate_limiter.execute(None, false, move || {
2128 let client = client.clone();
2129 let license_number = license_number.clone();
2130 let body_val = body_val.clone();
2131 async move { client.plants_create_changegrowthphases_v1(license_number, body_val.as_ref()).await }
2132 }).await
2133 }
2134
2135 pub async fn plants_create_harvestplants_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateHarvestplantsV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2143 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2144 let client = self.client.clone();
2145 let body_val = body_val.clone();
2146 self.rate_limiter.execute(None, false, move || {
2147 let client = client.clone();
2148 let license_number = license_number.clone();
2149 let body_val = body_val.clone();
2150 async move { client.plants_create_harvestplants_v1(license_number, body_val.as_ref()).await }
2151 }).await
2152 }
2153
2154 pub async fn plants_create_manicure_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateManicureV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2162 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2163 let client = self.client.clone();
2164 let body_val = body_val.clone();
2165 self.rate_limiter.execute(None, false, move || {
2166 let client = client.clone();
2167 let license_number = license_number.clone();
2168 let body_val = body_val.clone();
2169 async move { client.plants_create_manicure_v2(license_number, body_val.as_ref()).await }
2170 }).await
2171 }
2172
2173 pub async fn plants_create_manicureplants_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateManicureplantsV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2179 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2180 let client = self.client.clone();
2181 let body_val = body_val.clone();
2182 self.rate_limiter.execute(None, false, move || {
2183 let client = client.clone();
2184 let license_number = license_number.clone();
2185 let body_val = body_val.clone();
2186 async move { client.plants_create_manicureplants_v1(license_number, body_val.as_ref()).await }
2187 }).await
2188 }
2189
2190 pub async fn plants_create_moveplants_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateMoveplantsV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2196 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2197 let client = self.client.clone();
2198 let body_val = body_val.clone();
2199 self.rate_limiter.execute(None, false, move || {
2200 let client = client.clone();
2201 let license_number = license_number.clone();
2202 let body_val = body_val.clone();
2203 async move { client.plants_create_moveplants_v1(license_number, body_val.as_ref()).await }
2204 }).await
2205 }
2206
2207 pub async fn plants_create_plantbatch_package_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreatePlantbatchPackageV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2217 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2218 let client = self.client.clone();
2219 let body_val = body_val.clone();
2220 self.rate_limiter.execute(None, false, move || {
2221 let client = client.clone();
2222 let license_number = license_number.clone();
2223 let body_val = body_val.clone();
2224 async move { client.plants_create_plantbatch_package_v1(license_number, body_val.as_ref()).await }
2225 }).await
2226 }
2227
2228 pub async fn plants_create_plantbatch_package_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreatePlantbatchPackageV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2240 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2241 let client = self.client.clone();
2242 let body_val = body_val.clone();
2243 self.rate_limiter.execute(None, false, move || {
2244 let client = client.clone();
2245 let license_number = license_number.clone();
2246 let body_val = body_val.clone();
2247 async move { client.plants_create_plantbatch_package_v2(license_number, body_val.as_ref()).await }
2248 }).await
2249 }
2250
2251 pub async fn plants_create_plantings_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreatePlantingsV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2259 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2260 let client = self.client.clone();
2261 let body_val = body_val.clone();
2262 self.rate_limiter.execute(None, false, move || {
2263 let client = client.clone();
2264 let license_number = license_number.clone();
2265 let body_val = body_val.clone();
2266 async move { client.plants_create_plantings_v1(license_number, body_val.as_ref()).await }
2267 }).await
2268 }
2269
2270 pub async fn plants_create_plantings_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreatePlantingsV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2280 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2281 let client = self.client.clone();
2282 let body_val = body_val.clone();
2283 self.rate_limiter.execute(None, false, move || {
2284 let client = client.clone();
2285 let license_number = license_number.clone();
2286 let body_val = body_val.clone();
2287 async move { client.plants_create_plantings_v2(license_number, body_val.as_ref()).await }
2288 }).await
2289 }
2290
2291 pub async fn plants_create_waste_v1(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateWasteV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2296 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2297 let client = self.client.clone();
2298 let body_val = body_val.clone();
2299 self.rate_limiter.execute(None, false, move || {
2300 let client = client.clone();
2301 let license_number = license_number.clone();
2302 let body_val = body_val.clone();
2303 async move { client.plants_create_waste_v1(license_number, body_val.as_ref()).await }
2304 }).await
2305 }
2306
2307 pub async fn plants_create_waste_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsCreateWasteV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2314 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2315 let client = self.client.clone();
2316 let body_val = body_val.clone();
2317 self.rate_limiter.execute(None, false, move || {
2318 let client = client.clone();
2319 let license_number = license_number.clone();
2320 let body_val = body_val.clone();
2321 async move { client.plants_create_waste_v2(license_number, body_val.as_ref()).await }
2322 }).await
2323 }
2324
2325 pub async fn plants_delete_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2331 let client = self.client.clone();
2332 let body = body.cloned();
2333 self.rate_limiter.execute(None, false, move || {
2334 let client = client.clone();
2335 let license_number = license_number.clone();
2336 let body = body.clone();
2337 async move { client.plants_delete_v1(license_number, body.as_ref()).await }
2338 }).await
2339 }
2340
2341 pub async fn plants_delete_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2349 let client = self.client.clone();
2350 let body = body.cloned();
2351 self.rate_limiter.execute(None, false, move || {
2352 let client = client.clone();
2353 let license_number = license_number.clone();
2354 let body = body.clone();
2355 async move { client.plants_delete_v2(license_number, body.as_ref()).await }
2356 }).await
2357 }
2358
2359 pub async fn plants_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2364 let id = id.to_string();
2365 let client = self.client.clone();
2366 let body = body.cloned();
2367 self.rate_limiter.execute(None, true, move || {
2368 let client = client.clone();
2369 let id = id.clone();
2370 let license_number = license_number.clone();
2371 let body = body.clone();
2372 async move { client.plants_get_v1(&id, license_number, body.as_ref()).await }
2373 }).await
2374 }
2375
2376 pub async fn plants_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2383 let id = id.to_string();
2384 let client = self.client.clone();
2385 let body = body.cloned();
2386 self.rate_limiter.execute(None, true, move || {
2387 let client = client.clone();
2388 let id = id.clone();
2389 let license_number = license_number.clone();
2390 let body = body.clone();
2391 async move { client.plants_get_v2(&id, license_number, body.as_ref()).await }
2392 }).await
2393 }
2394
2395 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>> {
2400 let client = self.client.clone();
2401 let body = body.cloned();
2402 self.rate_limiter.execute(None, true, move || {
2403 let client = client.clone();
2404 let last_modified_end = last_modified_end.clone();
2405 let last_modified_start = last_modified_start.clone();
2406 let license_number = license_number.clone();
2407 let body = body.clone();
2408 async move { client.plants_get_additives_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
2409 }).await
2410 }
2411
2412 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>> {
2419 let client = self.client.clone();
2420 let body = body.cloned();
2421 self.rate_limiter.execute(None, true, move || {
2422 let client = client.clone();
2423 let last_modified_end = last_modified_end.clone();
2424 let last_modified_start = last_modified_start.clone();
2425 let license_number = license_number.clone();
2426 let page_number = page_number.clone();
2427 let page_size = page_size.clone();
2428 let body = body.clone();
2429 async move { client.plants_get_additives_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2430 }).await
2431 }
2432
2433 pub async fn plants_get_additives_types_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2438 let client = self.client.clone();
2439 let body = body.cloned();
2440 self.rate_limiter.execute(None, true, move || {
2441 let client = client.clone();
2442 let no = no.clone();
2443 let body = body.clone();
2444 async move { client.plants_get_additives_types_v1(no, body.as_ref()).await }
2445 }).await
2446 }
2447
2448 pub async fn plants_get_additives_types_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2455 let client = self.client.clone();
2456 let body = body.cloned();
2457 self.rate_limiter.execute(None, true, move || {
2458 let client = client.clone();
2459 let no = no.clone();
2460 let body = body.clone();
2461 async move { client.plants_get_additives_types_v2(no, body.as_ref()).await }
2462 }).await
2463 }
2464
2465 pub async fn plants_get_by_label_v1(&self, label: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2470 let label = label.to_string();
2471 let client = self.client.clone();
2472 let body = body.cloned();
2473 self.rate_limiter.execute(None, true, move || {
2474 let client = client.clone();
2475 let label = label.clone();
2476 let license_number = license_number.clone();
2477 let body = body.clone();
2478 async move { client.plants_get_by_label_v1(&label, license_number, body.as_ref()).await }
2479 }).await
2480 }
2481
2482 pub async fn plants_get_by_label_v2(&self, label: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2489 let label = label.to_string();
2490 let client = self.client.clone();
2491 let body = body.cloned();
2492 self.rate_limiter.execute(None, true, move || {
2493 let client = client.clone();
2494 let label = label.clone();
2495 let license_number = license_number.clone();
2496 let body = body.clone();
2497 async move { client.plants_get_by_label_v2(&label, license_number, body.as_ref()).await }
2498 }).await
2499 }
2500
2501 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>> {
2506 let client = self.client.clone();
2507 let body = body.cloned();
2508 self.rate_limiter.execute(None, true, move || {
2509 let client = client.clone();
2510 let last_modified_end = last_modified_end.clone();
2511 let last_modified_start = last_modified_start.clone();
2512 let license_number = license_number.clone();
2513 let body = body.clone();
2514 async move { client.plants_get_flowering_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
2515 }).await
2516 }
2517
2518 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>> {
2525 let client = self.client.clone();
2526 let body = body.cloned();
2527 self.rate_limiter.execute(None, true, move || {
2528 let client = client.clone();
2529 let last_modified_end = last_modified_end.clone();
2530 let last_modified_start = last_modified_start.clone();
2531 let license_number = license_number.clone();
2532 let page_number = page_number.clone();
2533 let page_size = page_size.clone();
2534 let body = body.clone();
2535 async move { client.plants_get_flowering_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2536 }).await
2537 }
2538
2539 pub async fn plants_get_growth_phases_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2544 let client = self.client.clone();
2545 let body = body.cloned();
2546 self.rate_limiter.execute(None, true, move || {
2547 let client = client.clone();
2548 let license_number = license_number.clone();
2549 let body = body.clone();
2550 async move { client.plants_get_growth_phases_v1(license_number, body.as_ref()).await }
2551 }).await
2552 }
2553
2554 pub async fn plants_get_growth_phases_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2561 let client = self.client.clone();
2562 let body = body.cloned();
2563 self.rate_limiter.execute(None, true, move || {
2564 let client = client.clone();
2565 let license_number = license_number.clone();
2566 let body = body.clone();
2567 async move { client.plants_get_growth_phases_v2(license_number, body.as_ref()).await }
2568 }).await
2569 }
2570
2571 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>> {
2576 let client = self.client.clone();
2577 let body = body.cloned();
2578 self.rate_limiter.execute(None, true, move || {
2579 let client = client.clone();
2580 let last_modified_end = last_modified_end.clone();
2581 let last_modified_start = last_modified_start.clone();
2582 let license_number = license_number.clone();
2583 let body = body.clone();
2584 async move { client.plants_get_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
2585 }).await
2586 }
2587
2588 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>> {
2595 let client = self.client.clone();
2596 let body = body.cloned();
2597 self.rate_limiter.execute(None, true, move || {
2598 let client = client.clone();
2599 let last_modified_end = last_modified_end.clone();
2600 let last_modified_start = last_modified_start.clone();
2601 let license_number = license_number.clone();
2602 let page_number = page_number.clone();
2603 let page_size = page_size.clone();
2604 let body = body.clone();
2605 async move { client.plants_get_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2606 }).await
2607 }
2608
2609 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>> {
2616 let client = self.client.clone();
2617 let body = body.cloned();
2618 self.rate_limiter.execute(None, true, move || {
2619 let client = client.clone();
2620 let last_modified_end = last_modified_end.clone();
2621 let last_modified_start = last_modified_start.clone();
2622 let license_number = license_number.clone();
2623 let page_number = page_number.clone();
2624 let page_size = page_size.clone();
2625 let body = body.clone();
2626 async move { client.plants_get_mother_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2627 }).await
2628 }
2629
2630 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>> {
2637 let client = self.client.clone();
2638 let body = body.cloned();
2639 self.rate_limiter.execute(None, true, move || {
2640 let client = client.clone();
2641 let last_modified_end = last_modified_end.clone();
2642 let last_modified_start = last_modified_start.clone();
2643 let license_number = license_number.clone();
2644 let page_number = page_number.clone();
2645 let page_size = page_size.clone();
2646 let body = body.clone();
2647 async move { client.plants_get_mother_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2648 }).await
2649 }
2650
2651 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>> {
2658 let client = self.client.clone();
2659 let body = body.cloned();
2660 self.rate_limiter.execute(None, true, move || {
2661 let client = client.clone();
2662 let last_modified_end = last_modified_end.clone();
2663 let last_modified_start = last_modified_start.clone();
2664 let license_number = license_number.clone();
2665 let page_number = page_number.clone();
2666 let page_size = page_size.clone();
2667 let body = body.clone();
2668 async move { client.plants_get_mother_onhold_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2669 }).await
2670 }
2671
2672 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>> {
2677 let client = self.client.clone();
2678 let body = body.cloned();
2679 self.rate_limiter.execute(None, true, move || {
2680 let client = client.clone();
2681 let last_modified_end = last_modified_end.clone();
2682 let last_modified_start = last_modified_start.clone();
2683 let license_number = license_number.clone();
2684 let body = body.clone();
2685 async move { client.plants_get_onhold_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
2686 }).await
2687 }
2688
2689 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>> {
2696 let client = self.client.clone();
2697 let body = body.cloned();
2698 self.rate_limiter.execute(None, true, move || {
2699 let client = client.clone();
2700 let last_modified_end = last_modified_end.clone();
2701 let last_modified_start = last_modified_start.clone();
2702 let license_number = license_number.clone();
2703 let page_number = page_number.clone();
2704 let page_size = page_size.clone();
2705 let body = body.clone();
2706 async move { client.plants_get_onhold_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2707 }).await
2708 }
2709
2710 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>> {
2715 let client = self.client.clone();
2716 let body = body.cloned();
2717 self.rate_limiter.execute(None, true, move || {
2718 let client = client.clone();
2719 let last_modified_end = last_modified_end.clone();
2720 let last_modified_start = last_modified_start.clone();
2721 let license_number = license_number.clone();
2722 let body = body.clone();
2723 async move { client.plants_get_vegetative_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
2724 }).await
2725 }
2726
2727 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>> {
2734 let client = self.client.clone();
2735 let body = body.cloned();
2736 self.rate_limiter.execute(None, true, move || {
2737 let client = client.clone();
2738 let last_modified_end = last_modified_end.clone();
2739 let last_modified_start = last_modified_start.clone();
2740 let license_number = license_number.clone();
2741 let page_number = page_number.clone();
2742 let page_size = page_size.clone();
2743 let body = body.clone();
2744 async move { client.plants_get_vegetative_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
2745 }).await
2746 }
2747
2748 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>> {
2755 let client = self.client.clone();
2756 let body = body.cloned();
2757 self.rate_limiter.execute(None, true, move || {
2758 let client = client.clone();
2759 let license_number = license_number.clone();
2760 let page_number = page_number.clone();
2761 let page_size = page_size.clone();
2762 let body = body.clone();
2763 async move { client.plants_get_waste_v2(license_number, page_number, page_size, body.as_ref()).await }
2764 }).await
2765 }
2766
2767 pub async fn plants_get_waste_methods_all_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2772 let client = self.client.clone();
2773 let body = body.cloned();
2774 self.rate_limiter.execute(None, true, move || {
2775 let client = client.clone();
2776 let no = no.clone();
2777 let body = body.clone();
2778 async move { client.plants_get_waste_methods_all_v1(no, body.as_ref()).await }
2779 }).await
2780 }
2781
2782 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>> {
2789 let client = self.client.clone();
2790 let body = body.cloned();
2791 self.rate_limiter.execute(None, true, move || {
2792 let client = client.clone();
2793 let page_number = page_number.clone();
2794 let page_size = page_size.clone();
2795 let body = body.clone();
2796 async move { client.plants_get_waste_methods_all_v2(page_number, page_size, body.as_ref()).await }
2797 }).await
2798 }
2799
2800 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>> {
2807 let id = id.to_string();
2808 let client = self.client.clone();
2809 let body = body.cloned();
2810 self.rate_limiter.execute(None, true, move || {
2811 let client = client.clone();
2812 let id = id.clone();
2813 let license_number = license_number.clone();
2814 let page_number = page_number.clone();
2815 let page_size = page_size.clone();
2816 let body = body.clone();
2817 async move { client.plants_get_waste_package_v2(&id, license_number, page_number, page_size, body.as_ref()).await }
2818 }).await
2819 }
2820
2821 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>> {
2828 let id = id.to_string();
2829 let client = self.client.clone();
2830 let body = body.cloned();
2831 self.rate_limiter.execute(None, true, move || {
2832 let client = client.clone();
2833 let id = id.clone();
2834 let license_number = license_number.clone();
2835 let page_number = page_number.clone();
2836 let page_size = page_size.clone();
2837 let body = body.clone();
2838 async move { client.plants_get_waste_plant_v2(&id, license_number, page_number, page_size, body.as_ref()).await }
2839 }).await
2840 }
2841
2842 pub async fn plants_get_waste_reasons_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
2847 let client = self.client.clone();
2848 let body = body.cloned();
2849 self.rate_limiter.execute(None, true, move || {
2850 let client = client.clone();
2851 let license_number = license_number.clone();
2852 let body = body.clone();
2853 async move { client.plants_get_waste_reasons_v1(license_number, body.as_ref()).await }
2854 }).await
2855 }
2856
2857 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>> {
2864 let client = self.client.clone();
2865 let body = body.cloned();
2866 self.rate_limiter.execute(None, true, move || {
2867 let client = client.clone();
2868 let license_number = license_number.clone();
2869 let page_number = page_number.clone();
2870 let page_size = page_size.clone();
2871 let body = body.clone();
2872 async move { client.plants_get_waste_reasons_v2(license_number, page_number, page_size, body.as_ref()).await }
2873 }).await
2874 }
2875
2876 pub async fn plants_update_adjust_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateAdjustV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2884 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2885 let client = self.client.clone();
2886 let body_val = body_val.clone();
2887 self.rate_limiter.execute(None, false, move || {
2888 let client = client.clone();
2889 let license_number = license_number.clone();
2890 let body_val = body_val.clone();
2891 async move { client.plants_update_adjust_v2(license_number, body_val.as_ref()).await }
2892 }).await
2893 }
2894
2895 pub async fn plants_update_growthphase_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateGrowthphaseV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2903 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2904 let client = self.client.clone();
2905 let body_val = body_val.clone();
2906 self.rate_limiter.execute(None, false, move || {
2907 let client = client.clone();
2908 let license_number = license_number.clone();
2909 let body_val = body_val.clone();
2910 async move { client.plants_update_growthphase_v2(license_number, body_val.as_ref()).await }
2911 }).await
2912 }
2913
2914 pub async fn plants_update_harvest_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateHarvestV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2922 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2923 let client = self.client.clone();
2924 let body_val = body_val.clone();
2925 self.rate_limiter.execute(None, false, move || {
2926 let client = client.clone();
2927 let license_number = license_number.clone();
2928 let body_val = body_val.clone();
2929 async move { client.plants_update_harvest_v2(license_number, body_val.as_ref()).await }
2930 }).await
2931 }
2932
2933 pub async fn plants_update_location_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateLocationV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2941 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2942 let client = self.client.clone();
2943 let body_val = body_val.clone();
2944 self.rate_limiter.execute(None, false, move || {
2945 let client = client.clone();
2946 let license_number = license_number.clone();
2947 let body_val = body_val.clone();
2948 async move { client.plants_update_location_v2(license_number, body_val.as_ref()).await }
2949 }).await
2950 }
2951
2952 pub async fn plants_update_merge_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateMergeV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2960 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2961 let client = self.client.clone();
2962 let body_val = body_val.clone();
2963 self.rate_limiter.execute(None, false, move || {
2964 let client = client.clone();
2965 let license_number = license_number.clone();
2966 let body_val = body_val.clone();
2967 async move { client.plants_update_merge_v2(license_number, body_val.as_ref()).await }
2968 }).await
2969 }
2970
2971 pub async fn plants_update_split_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateSplitV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2978 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2979 let client = self.client.clone();
2980 let body_val = body_val.clone();
2981 self.rate_limiter.execute(None, false, move || {
2982 let client = client.clone();
2983 let license_number = license_number.clone();
2984 let body_val = body_val.clone();
2985 async move { client.plants_update_split_v2(license_number, body_val.as_ref()).await }
2986 }).await
2987 }
2988
2989 pub async fn plants_update_strain_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateStrainV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
2997 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
2998 let client = self.client.clone();
2999 let body_val = body_val.clone();
3000 self.rate_limiter.execute(None, false, move || {
3001 let client = client.clone();
3002 let license_number = license_number.clone();
3003 let body_val = body_val.clone();
3004 async move { client.plants_update_strain_v2(license_number, body_val.as_ref()).await }
3005 }).await
3006 }
3007
3008 pub async fn plants_update_tag_v2(&self, license_number: Option<String>, body: Option<&Vec<PlantsUpdateTagV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3016 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3017 let client = self.client.clone();
3018 let body_val = body_val.clone();
3019 self.rate_limiter.execute(None, false, move || {
3020 let client = client.clone();
3021 let license_number = license_number.clone();
3022 let body_val = body_val.clone();
3023 async move { client.plants_update_tag_v2(license_number, body_val.as_ref()).await }
3024 }).await
3025 }
3026
3027 pub async fn processing_jobs_create_adjust_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreateAdjustV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3032 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3033 let client = self.client.clone();
3034 let body_val = body_val.clone();
3035 self.rate_limiter.execute(None, false, move || {
3036 let client = client.clone();
3037 let license_number = license_number.clone();
3038 let body_val = body_val.clone();
3039 async move { client.processing_jobs_create_adjust_v1(license_number, body_val.as_ref()).await }
3040 }).await
3041 }
3042
3043 pub async fn processing_jobs_create_adjust_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreateAdjustV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3050 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3051 let client = self.client.clone();
3052 let body_val = body_val.clone();
3053 self.rate_limiter.execute(None, false, move || {
3054 let client = client.clone();
3055 let license_number = license_number.clone();
3056 let body_val = body_val.clone();
3057 async move { client.processing_jobs_create_adjust_v2(license_number, body_val.as_ref()).await }
3058 }).await
3059 }
3060
3061 pub async fn processing_jobs_create_jobtypes_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreateJobtypesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3066 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3067 let client = self.client.clone();
3068 let body_val = body_val.clone();
3069 self.rate_limiter.execute(None, false, move || {
3070 let client = client.clone();
3071 let license_number = license_number.clone();
3072 let body_val = body_val.clone();
3073 async move { client.processing_jobs_create_jobtypes_v1(license_number, body_val.as_ref()).await }
3074 }).await
3075 }
3076
3077 pub async fn processing_jobs_create_jobtypes_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreateJobtypesV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3084 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3085 let client = self.client.clone();
3086 let body_val = body_val.clone();
3087 self.rate_limiter.execute(None, false, move || {
3088 let client = client.clone();
3089 let license_number = license_number.clone();
3090 let body_val = body_val.clone();
3091 async move { client.processing_jobs_create_jobtypes_v2(license_number, body_val.as_ref()).await }
3092 }).await
3093 }
3094
3095 pub async fn processing_jobs_create_start_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreateStartV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3100 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3101 let client = self.client.clone();
3102 let body_val = body_val.clone();
3103 self.rate_limiter.execute(None, false, move || {
3104 let client = client.clone();
3105 let license_number = license_number.clone();
3106 let body_val = body_val.clone();
3107 async move { client.processing_jobs_create_start_v1(license_number, body_val.as_ref()).await }
3108 }).await
3109 }
3110
3111 pub async fn processing_jobs_create_start_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreateStartV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3118 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3119 let client = self.client.clone();
3120 let body_val = body_val.clone();
3121 self.rate_limiter.execute(None, false, move || {
3122 let client = client.clone();
3123 let license_number = license_number.clone();
3124 let body_val = body_val.clone();
3125 async move { client.processing_jobs_create_start_v2(license_number, body_val.as_ref()).await }
3126 }).await
3127 }
3128
3129 pub async fn processing_jobs_createpackages_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreatepackagesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3134 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3135 let client = self.client.clone();
3136 let body_val = body_val.clone();
3137 self.rate_limiter.execute(None, false, move || {
3138 let client = client.clone();
3139 let license_number = license_number.clone();
3140 let body_val = body_val.clone();
3141 async move { client.processing_jobs_createpackages_v1(license_number, body_val.as_ref()).await }
3142 }).await
3143 }
3144
3145 pub async fn processing_jobs_createpackages_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsCreatepackagesV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3152 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3153 let client = self.client.clone();
3154 let body_val = body_val.clone();
3155 self.rate_limiter.execute(None, false, move || {
3156 let client = client.clone();
3157 let license_number = license_number.clone();
3158 let body_val = body_val.clone();
3159 async move { client.processing_jobs_createpackages_v2(license_number, body_val.as_ref()).await }
3160 }).await
3161 }
3162
3163 pub async fn processing_jobs_delete_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3168 let id = id.to_string();
3169 let client = self.client.clone();
3170 let body = body.cloned();
3171 self.rate_limiter.execute(None, false, move || {
3172 let client = client.clone();
3173 let id = id.clone();
3174 let license_number = license_number.clone();
3175 let body = body.clone();
3176 async move { client.processing_jobs_delete_v1(&id, license_number, body.as_ref()).await }
3177 }).await
3178 }
3179
3180 pub async fn processing_jobs_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3187 let id = id.to_string();
3188 let client = self.client.clone();
3189 let body = body.cloned();
3190 self.rate_limiter.execute(None, false, move || {
3191 let client = client.clone();
3192 let id = id.clone();
3193 let license_number = license_number.clone();
3194 let body = body.clone();
3195 async move { client.processing_jobs_delete_v2(&id, license_number, body.as_ref()).await }
3196 }).await
3197 }
3198
3199 pub async fn processing_jobs_delete_jobtypes_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3204 let id = id.to_string();
3205 let client = self.client.clone();
3206 let body = body.cloned();
3207 self.rate_limiter.execute(None, false, move || {
3208 let client = client.clone();
3209 let id = id.clone();
3210 let license_number = license_number.clone();
3211 let body = body.clone();
3212 async move { client.processing_jobs_delete_jobtypes_v1(&id, license_number, body.as_ref()).await }
3213 }).await
3214 }
3215
3216 pub async fn processing_jobs_delete_jobtypes_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3223 let id = id.to_string();
3224 let client = self.client.clone();
3225 let body = body.cloned();
3226 self.rate_limiter.execute(None, false, move || {
3227 let client = client.clone();
3228 let id = id.clone();
3229 let license_number = license_number.clone();
3230 let body = body.clone();
3231 async move { client.processing_jobs_delete_jobtypes_v2(&id, license_number, body.as_ref()).await }
3232 }).await
3233 }
3234
3235 pub async fn processing_jobs_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3240 let id = id.to_string();
3241 let client = self.client.clone();
3242 let body = body.cloned();
3243 self.rate_limiter.execute(None, true, move || {
3244 let client = client.clone();
3245 let id = id.clone();
3246 let license_number = license_number.clone();
3247 let body = body.clone();
3248 async move { client.processing_jobs_get_v1(&id, license_number, body.as_ref()).await }
3249 }).await
3250 }
3251
3252 pub async fn processing_jobs_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3259 let id = id.to_string();
3260 let client = self.client.clone();
3261 let body = body.cloned();
3262 self.rate_limiter.execute(None, true, move || {
3263 let client = client.clone();
3264 let id = id.clone();
3265 let license_number = license_number.clone();
3266 let body = body.clone();
3267 async move { client.processing_jobs_get_v2(&id, license_number, body.as_ref()).await }
3268 }).await
3269 }
3270
3271 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>> {
3276 let client = self.client.clone();
3277 let body = body.cloned();
3278 self.rate_limiter.execute(None, true, move || {
3279 let client = client.clone();
3280 let last_modified_end = last_modified_end.clone();
3281 let last_modified_start = last_modified_start.clone();
3282 let license_number = license_number.clone();
3283 let body = body.clone();
3284 async move { client.processing_jobs_get_active_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
3285 }).await
3286 }
3287
3288 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>> {
3295 let client = self.client.clone();
3296 let body = body.cloned();
3297 self.rate_limiter.execute(None, true, move || {
3298 let client = client.clone();
3299 let last_modified_end = last_modified_end.clone();
3300 let last_modified_start = last_modified_start.clone();
3301 let license_number = license_number.clone();
3302 let page_number = page_number.clone();
3303 let page_size = page_size.clone();
3304 let body = body.clone();
3305 async move { client.processing_jobs_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
3306 }).await
3307 }
3308
3309 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>> {
3314 let client = self.client.clone();
3315 let body = body.cloned();
3316 self.rate_limiter.execute(None, true, move || {
3317 let client = client.clone();
3318 let last_modified_end = last_modified_end.clone();
3319 let last_modified_start = last_modified_start.clone();
3320 let license_number = license_number.clone();
3321 let body = body.clone();
3322 async move { client.processing_jobs_get_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
3323 }).await
3324 }
3325
3326 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>> {
3333 let client = self.client.clone();
3334 let body = body.cloned();
3335 self.rate_limiter.execute(None, true, move || {
3336 let client = client.clone();
3337 let last_modified_end = last_modified_end.clone();
3338 let last_modified_start = last_modified_start.clone();
3339 let license_number = license_number.clone();
3340 let page_number = page_number.clone();
3341 let page_size = page_size.clone();
3342 let body = body.clone();
3343 async move { client.processing_jobs_get_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
3344 }).await
3345 }
3346
3347 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>> {
3352 let client = self.client.clone();
3353 let body = body.cloned();
3354 self.rate_limiter.execute(None, true, move || {
3355 let client = client.clone();
3356 let last_modified_end = last_modified_end.clone();
3357 let last_modified_start = last_modified_start.clone();
3358 let license_number = license_number.clone();
3359 let body = body.clone();
3360 async move { client.processing_jobs_get_jobtypes_active_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
3361 }).await
3362 }
3363
3364 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>> {
3371 let client = self.client.clone();
3372 let body = body.cloned();
3373 self.rate_limiter.execute(None, true, move || {
3374 let client = client.clone();
3375 let last_modified_end = last_modified_end.clone();
3376 let last_modified_start = last_modified_start.clone();
3377 let license_number = license_number.clone();
3378 let page_number = page_number.clone();
3379 let page_size = page_size.clone();
3380 let body = body.clone();
3381 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 }
3382 }).await
3383 }
3384
3385 pub async fn processing_jobs_get_jobtypes_attributes_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3390 let client = self.client.clone();
3391 let body = body.cloned();
3392 self.rate_limiter.execute(None, true, move || {
3393 let client = client.clone();
3394 let license_number = license_number.clone();
3395 let body = body.clone();
3396 async move { client.processing_jobs_get_jobtypes_attributes_v1(license_number, body.as_ref()).await }
3397 }).await
3398 }
3399
3400 pub async fn processing_jobs_get_jobtypes_attributes_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3407 let client = self.client.clone();
3408 let body = body.cloned();
3409 self.rate_limiter.execute(None, true, move || {
3410 let client = client.clone();
3411 let license_number = license_number.clone();
3412 let body = body.clone();
3413 async move { client.processing_jobs_get_jobtypes_attributes_v2(license_number, body.as_ref()).await }
3414 }).await
3415 }
3416
3417 pub async fn processing_jobs_get_jobtypes_categories_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3422 let client = self.client.clone();
3423 let body = body.cloned();
3424 self.rate_limiter.execute(None, true, move || {
3425 let client = client.clone();
3426 let license_number = license_number.clone();
3427 let body = body.clone();
3428 async move { client.processing_jobs_get_jobtypes_categories_v1(license_number, body.as_ref()).await }
3429 }).await
3430 }
3431
3432 pub async fn processing_jobs_get_jobtypes_categories_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3439 let client = self.client.clone();
3440 let body = body.cloned();
3441 self.rate_limiter.execute(None, true, move || {
3442 let client = client.clone();
3443 let license_number = license_number.clone();
3444 let body = body.clone();
3445 async move { client.processing_jobs_get_jobtypes_categories_v2(license_number, body.as_ref()).await }
3446 }).await
3447 }
3448
3449 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>> {
3454 let client = self.client.clone();
3455 let body = body.cloned();
3456 self.rate_limiter.execute(None, true, move || {
3457 let client = client.clone();
3458 let last_modified_end = last_modified_end.clone();
3459 let last_modified_start = last_modified_start.clone();
3460 let license_number = license_number.clone();
3461 let body = body.clone();
3462 async move { client.processing_jobs_get_jobtypes_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
3463 }).await
3464 }
3465
3466 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>> {
3473 let client = self.client.clone();
3474 let body = body.cloned();
3475 self.rate_limiter.execute(None, true, move || {
3476 let client = client.clone();
3477 let last_modified_end = last_modified_end.clone();
3478 let last_modified_start = last_modified_start.clone();
3479 let license_number = license_number.clone();
3480 let page_number = page_number.clone();
3481 let page_size = page_size.clone();
3482 let body = body.clone();
3483 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 }
3484 }).await
3485 }
3486
3487 pub async fn processing_jobs_update_finish_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsUpdateFinishV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3492 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3493 let client = self.client.clone();
3494 let body_val = body_val.clone();
3495 self.rate_limiter.execute(None, false, move || {
3496 let client = client.clone();
3497 let license_number = license_number.clone();
3498 let body_val = body_val.clone();
3499 async move { client.processing_jobs_update_finish_v1(license_number, body_val.as_ref()).await }
3500 }).await
3501 }
3502
3503 pub async fn processing_jobs_update_finish_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsUpdateFinishV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3510 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3511 let client = self.client.clone();
3512 let body_val = body_val.clone();
3513 self.rate_limiter.execute(None, false, move || {
3514 let client = client.clone();
3515 let license_number = license_number.clone();
3516 let body_val = body_val.clone();
3517 async move { client.processing_jobs_update_finish_v2(license_number, body_val.as_ref()).await }
3518 }).await
3519 }
3520
3521 pub async fn processing_jobs_update_jobtypes_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsUpdateJobtypesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3526 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3527 let client = self.client.clone();
3528 let body_val = body_val.clone();
3529 self.rate_limiter.execute(None, false, move || {
3530 let client = client.clone();
3531 let license_number = license_number.clone();
3532 let body_val = body_val.clone();
3533 async move { client.processing_jobs_update_jobtypes_v1(license_number, body_val.as_ref()).await }
3534 }).await
3535 }
3536
3537 pub async fn processing_jobs_update_jobtypes_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsUpdateJobtypesV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3544 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3545 let client = self.client.clone();
3546 let body_val = body_val.clone();
3547 self.rate_limiter.execute(None, false, move || {
3548 let client = client.clone();
3549 let license_number = license_number.clone();
3550 let body_val = body_val.clone();
3551 async move { client.processing_jobs_update_jobtypes_v2(license_number, body_val.as_ref()).await }
3552 }).await
3553 }
3554
3555 pub async fn processing_jobs_update_unfinish_v1(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsUpdateUnfinishV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3560 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3561 let client = self.client.clone();
3562 let body_val = body_val.clone();
3563 self.rate_limiter.execute(None, false, move || {
3564 let client = client.clone();
3565 let license_number = license_number.clone();
3566 let body_val = body_val.clone();
3567 async move { client.processing_jobs_update_unfinish_v1(license_number, body_val.as_ref()).await }
3568 }).await
3569 }
3570
3571 pub async fn processing_jobs_update_unfinish_v2(&self, license_number: Option<String>, body: Option<&Vec<ProcessingJobsUpdateUnfinishV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3578 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3579 let client = self.client.clone();
3580 let body_val = body_val.clone();
3581 self.rate_limiter.execute(None, false, move || {
3582 let client = client.clone();
3583 let license_number = license_number.clone();
3584 let body_val = body_val.clone();
3585 async move { client.processing_jobs_update_unfinish_v2(license_number, body_val.as_ref()).await }
3586 }).await
3587 }
3588
3589 pub async fn retail_id_create_associate_v2(&self, license_number: Option<String>, body: Option<&Vec<RetailIdCreateAssociateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3599 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3600 let client = self.client.clone();
3601 let body_val = body_val.clone();
3602 self.rate_limiter.execute(None, false, move || {
3603 let client = client.clone();
3604 let license_number = license_number.clone();
3605 let body_val = body_val.clone();
3606 async move { client.retail_id_create_associate_v2(license_number, body_val.as_ref()).await }
3607 }).await
3608 }
3609
3610 pub async fn retail_id_create_generate_v2(&self, license_number: Option<String>, body: Option<&RetailIdCreateGenerateV2Request>) -> Result<Option<Value>, Box<dyn Error>> {
3620 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3621 let client = self.client.clone();
3622 let body_val = body_val.clone();
3623 self.rate_limiter.execute(None, false, move || {
3624 let client = client.clone();
3625 let license_number = license_number.clone();
3626 let body_val = body_val.clone();
3627 async move { client.retail_id_create_generate_v2(license_number, body_val.as_ref()).await }
3628 }).await
3629 }
3630
3631 pub async fn retail_id_create_merge_v2(&self, license_number: Option<String>, body: Option<&RetailIdCreateMergeV2Request>) -> Result<Option<Value>, Box<dyn Error>> {
3640 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3641 let client = self.client.clone();
3642 let body_val = body_val.clone();
3643 self.rate_limiter.execute(None, false, move || {
3644 let client = client.clone();
3645 let license_number = license_number.clone();
3646 let body_val = body_val.clone();
3647 async move { client.retail_id_create_merge_v2(license_number, body_val.as_ref()).await }
3648 }).await
3649 }
3650
3651 pub async fn retail_id_create_package_info_v2(&self, license_number: Option<String>, body: Option<&RetailIdCreatePackageInfoV2Request>) -> Result<Option<Value>, Box<dyn Error>> {
3661 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3662 let client = self.client.clone();
3663 let body_val = body_val.clone();
3664 self.rate_limiter.execute(None, false, move || {
3665 let client = client.clone();
3666 let license_number = license_number.clone();
3667 let body_val = body_val.clone();
3668 async move { client.retail_id_create_package_info_v2(license_number, body_val.as_ref()).await }
3669 }).await
3670 }
3671
3672 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>> {
3682 let label = label.to_string();
3683 let client = self.client.clone();
3684 let body = body.cloned();
3685 self.rate_limiter.execute(None, true, move || {
3686 let client = client.clone();
3687 let label = label.clone();
3688 let license_number = license_number.clone();
3689 let body = body.clone();
3690 async move { client.retail_id_get_receive_by_label_v2(&label, license_number, body.as_ref()).await }
3691 }).await
3692 }
3693
3694 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>> {
3704 let short_code = short_code.to_string();
3705 let client = self.client.clone();
3706 let body = body.cloned();
3707 self.rate_limiter.execute(None, true, move || {
3708 let client = client.clone();
3709 let short_code = short_code.clone();
3710 let license_number = license_number.clone();
3711 let body = body.clone();
3712 async move { client.retail_id_get_receive_qr_by_short_code_v2(&short_code, license_number, body.as_ref()).await }
3713 }).await
3714 }
3715
3716 pub async fn sandbox_create_integrator_setup_v2(&self, user_key: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3723 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3724 let client = self.client.clone();
3725 let body_val = body_val.clone();
3726 self.rate_limiter.execute(None, false, move || {
3727 let client = client.clone();
3728 let user_key = user_key.clone();
3729 let body_val = body_val.clone();
3730 async move { client.sandbox_create_integrator_setup_v2(user_key, body_val.as_ref()).await }
3731 }).await
3732 }
3733
3734 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>> {
3741 let caregiver_license_number = caregiver_license_number.to_string();
3742 let client = self.client.clone();
3743 let body = body.cloned();
3744 self.rate_limiter.execute(None, true, move || {
3745 let client = client.clone();
3746 let caregiver_license_number = caregiver_license_number.clone();
3747 let license_number = license_number.clone();
3748 let body = body.clone();
3749 async move { client.caregivers_status_get_by_caregiver_license_number_v1(&caregiver_license_number, license_number, body.as_ref()).await }
3750 }).await
3751 }
3752
3753 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>> {
3760 let caregiver_license_number = caregiver_license_number.to_string();
3761 let client = self.client.clone();
3762 let body = body.cloned();
3763 self.rate_limiter.execute(None, true, move || {
3764 let client = client.clone();
3765 let caregiver_license_number = caregiver_license_number.clone();
3766 let license_number = license_number.clone();
3767 let body = body.clone();
3768 async move { client.caregivers_status_get_by_caregiver_license_number_v2(&caregiver_license_number, license_number, body.as_ref()).await }
3769 }).await
3770 }
3771
3772 pub async fn employees_get_all_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3777 let client = self.client.clone();
3778 let body = body.cloned();
3779 self.rate_limiter.execute(None, true, move || {
3780 let client = client.clone();
3781 let license_number = license_number.clone();
3782 let body = body.clone();
3783 async move { client.employees_get_all_v1(license_number, body.as_ref()).await }
3784 }).await
3785 }
3786
3787 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>> {
3795 let client = self.client.clone();
3796 let body = body.cloned();
3797 self.rate_limiter.execute(None, true, move || {
3798 let client = client.clone();
3799 let license_number = license_number.clone();
3800 let page_number = page_number.clone();
3801 let page_size = page_size.clone();
3802 let body = body.clone();
3803 async move { client.employees_get_all_v2(license_number, page_number, page_size, body.as_ref()).await }
3804 }).await
3805 }
3806
3807 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>> {
3814 let client = self.client.clone();
3815 let body = body.cloned();
3816 self.rate_limiter.execute(None, true, move || {
3817 let client = client.clone();
3818 let employee_license_number = employee_license_number.clone();
3819 let license_number = license_number.clone();
3820 let body = body.clone();
3821 async move { client.employees_get_permissions_v2(employee_license_number, license_number, body.as_ref()).await }
3822 }).await
3823 }
3824
3825 pub async fn lab_tests_create_record_v1(&self, license_number: Option<String>, body: Option<&Vec<LabTestsCreateRecordV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3831 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3832 let client = self.client.clone();
3833 let body_val = body_val.clone();
3834 self.rate_limiter.execute(None, false, move || {
3835 let client = client.clone();
3836 let license_number = license_number.clone();
3837 let body_val = body_val.clone();
3838 async move { client.lab_tests_create_record_v1(license_number, body_val.as_ref()).await }
3839 }).await
3840 }
3841
3842 pub async fn lab_tests_create_record_v2(&self, license_number: Option<String>, body: Option<&Vec<LabTestsCreateRecordV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
3850 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
3851 let client = self.client.clone();
3852 let body_val = body_val.clone();
3853 self.rate_limiter.execute(None, false, move || {
3854 let client = client.clone();
3855 let license_number = license_number.clone();
3856 let body_val = body_val.clone();
3857 async move { client.lab_tests_create_record_v2(license_number, body_val.as_ref()).await }
3858 }).await
3859 }
3860
3861 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>> {
3868 let client = self.client.clone();
3869 let body = body.cloned();
3870 self.rate_limiter.execute(None, true, move || {
3871 let client = client.clone();
3872 let page_number = page_number.clone();
3873 let page_size = page_size.clone();
3874 let body = body.clone();
3875 async move { client.lab_tests_get_batches_v2(page_number, page_size, body.as_ref()).await }
3876 }).await
3877 }
3878
3879 pub async fn lab_tests_get_labtestdocument_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3885 let id = id.to_string();
3886 let client = self.client.clone();
3887 let body = body.cloned();
3888 self.rate_limiter.execute(None, true, move || {
3889 let client = client.clone();
3890 let id = id.clone();
3891 let license_number = license_number.clone();
3892 let body = body.clone();
3893 async move { client.lab_tests_get_labtestdocument_v1(&id, license_number, body.as_ref()).await }
3894 }).await
3895 }
3896
3897 pub async fn lab_tests_get_labtestdocument_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3905 let id = id.to_string();
3906 let client = self.client.clone();
3907 let body = body.cloned();
3908 self.rate_limiter.execute(None, true, move || {
3909 let client = client.clone();
3910 let id = id.clone();
3911 let license_number = license_number.clone();
3912 let body = body.clone();
3913 async move { client.lab_tests_get_labtestdocument_v2(&id, license_number, body.as_ref()).await }
3914 }).await
3915 }
3916
3917 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>> {
3922 let client = self.client.clone();
3923 let body = body.cloned();
3924 self.rate_limiter.execute(None, true, move || {
3925 let client = client.clone();
3926 let license_number = license_number.clone();
3927 let package_id = package_id.clone();
3928 let body = body.clone();
3929 async move { client.lab_tests_get_results_v1(license_number, package_id, body.as_ref()).await }
3930 }).await
3931 }
3932
3933 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>> {
3941 let client = self.client.clone();
3942 let body = body.cloned();
3943 self.rate_limiter.execute(None, true, move || {
3944 let client = client.clone();
3945 let license_number = license_number.clone();
3946 let package_id = package_id.clone();
3947 let page_number = page_number.clone();
3948 let page_size = page_size.clone();
3949 let body = body.clone();
3950 async move { client.lab_tests_get_results_v2(license_number, package_id, page_number, page_size, body.as_ref()).await }
3951 }).await
3952 }
3953
3954 pub async fn lab_tests_get_states_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3959 let client = self.client.clone();
3960 let body = body.cloned();
3961 self.rate_limiter.execute(None, true, move || {
3962 let client = client.clone();
3963 let no = no.clone();
3964 let body = body.clone();
3965 async move { client.lab_tests_get_states_v1(no, body.as_ref()).await }
3966 }).await
3967 }
3968
3969 pub async fn lab_tests_get_states_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3976 let client = self.client.clone();
3977 let body = body.cloned();
3978 self.rate_limiter.execute(None, true, move || {
3979 let client = client.clone();
3980 let no = no.clone();
3981 let body = body.clone();
3982 async move { client.lab_tests_get_states_v2(no, body.as_ref()).await }
3983 }).await
3984 }
3985
3986 pub async fn lab_tests_get_types_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
3991 let client = self.client.clone();
3992 let body = body.cloned();
3993 self.rate_limiter.execute(None, true, move || {
3994 let client = client.clone();
3995 let no = no.clone();
3996 let body = body.clone();
3997 async move { client.lab_tests_get_types_v1(no, body.as_ref()).await }
3998 }).await
3999 }
4000
4001 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>> {
4008 let client = self.client.clone();
4009 let body = body.cloned();
4010 self.rate_limiter.execute(None, true, move || {
4011 let client = client.clone();
4012 let page_number = page_number.clone();
4013 let page_size = page_size.clone();
4014 let body = body.clone();
4015 async move { client.lab_tests_get_types_v2(page_number, page_size, body.as_ref()).await }
4016 }).await
4017 }
4018
4019 pub async fn lab_tests_update_labtestdocument_v1(&self, license_number: Option<String>, body: Option<&Vec<LabTestsUpdateLabtestdocumentV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4025 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4026 let client = self.client.clone();
4027 let body_val = body_val.clone();
4028 self.rate_limiter.execute(None, false, move || {
4029 let client = client.clone();
4030 let license_number = license_number.clone();
4031 let body_val = body_val.clone();
4032 async move { client.lab_tests_update_labtestdocument_v1(license_number, body_val.as_ref()).await }
4033 }).await
4034 }
4035
4036 pub async fn lab_tests_update_labtestdocument_v2(&self, license_number: Option<String>, body: Option<&Vec<LabTestsUpdateLabtestdocumentV2RequestItem>>) -> 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.lab_tests_update_labtestdocument_v2(license_number, body_val.as_ref()).await }
4052 }).await
4053 }
4054
4055 pub async fn lab_tests_update_result_release_v1(&self, license_number: Option<String>, body: Option<&Vec<LabTestsUpdateResultReleaseV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4061 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4062 let client = self.client.clone();
4063 let body_val = body_val.clone();
4064 self.rate_limiter.execute(None, false, move || {
4065 let client = client.clone();
4066 let license_number = license_number.clone();
4067 let body_val = body_val.clone();
4068 async move { client.lab_tests_update_result_release_v1(license_number, body_val.as_ref()).await }
4069 }).await
4070 }
4071
4072 pub async fn lab_tests_update_result_release_v2(&self, license_number: Option<String>, body: Option<&Vec<LabTestsUpdateResultReleaseV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4080 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4081 let client = self.client.clone();
4082 let body_val = body_val.clone();
4083 self.rate_limiter.execute(None, false, move || {
4084 let client = client.clone();
4085 let license_number = license_number.clone();
4086 let body_val = body_val.clone();
4087 async move { client.lab_tests_update_result_release_v2(license_number, body_val.as_ref()).await }
4088 }).await
4089 }
4090
4091 pub async fn sublocations_create_v2(&self, license_number: Option<String>, body: Option<&Vec<SublocationsCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4098 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4099 let client = self.client.clone();
4100 let body_val = body_val.clone();
4101 self.rate_limiter.execute(None, false, move || {
4102 let client = client.clone();
4103 let license_number = license_number.clone();
4104 let body_val = body_val.clone();
4105 async move { client.sublocations_create_v2(license_number, body_val.as_ref()).await }
4106 }).await
4107 }
4108
4109 pub async fn sublocations_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4116 let id = id.to_string();
4117 let client = self.client.clone();
4118 let body = body.cloned();
4119 self.rate_limiter.execute(None, false, move || {
4120 let client = client.clone();
4121 let id = id.clone();
4122 let license_number = license_number.clone();
4123 let body = body.clone();
4124 async move { client.sublocations_delete_v2(&id, license_number, body.as_ref()).await }
4125 }).await
4126 }
4127
4128 pub async fn sublocations_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4135 let id = id.to_string();
4136 let client = self.client.clone();
4137 let body = body.cloned();
4138 self.rate_limiter.execute(None, true, move || {
4139 let client = client.clone();
4140 let id = id.clone();
4141 let license_number = license_number.clone();
4142 let body = body.clone();
4143 async move { client.sublocations_get_v2(&id, license_number, body.as_ref()).await }
4144 }).await
4145 }
4146
4147 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>> {
4154 let client = self.client.clone();
4155 let body = body.cloned();
4156 self.rate_limiter.execute(None, true, move || {
4157 let client = client.clone();
4158 let last_modified_end = last_modified_end.clone();
4159 let last_modified_start = last_modified_start.clone();
4160 let license_number = license_number.clone();
4161 let page_number = page_number.clone();
4162 let page_size = page_size.clone();
4163 let body = body.clone();
4164 async move { client.sublocations_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
4165 }).await
4166 }
4167
4168 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>> {
4175 let client = self.client.clone();
4176 let body = body.cloned();
4177 self.rate_limiter.execute(None, true, move || {
4178 let client = client.clone();
4179 let license_number = license_number.clone();
4180 let page_number = page_number.clone();
4181 let page_size = page_size.clone();
4182 let body = body.clone();
4183 async move { client.sublocations_get_inactive_v2(license_number, page_number, page_size, body.as_ref()).await }
4184 }).await
4185 }
4186
4187 pub async fn sublocations_update_v2(&self, license_number: Option<String>, body: Option<&Vec<SublocationsUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4194 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4195 let client = self.client.clone();
4196 let body_val = body_val.clone();
4197 self.rate_limiter.execute(None, false, move || {
4198 let client = client.clone();
4199 let license_number = license_number.clone();
4200 let body_val = body_val.clone();
4201 async move { client.sublocations_update_v2(license_number, body_val.as_ref()).await }
4202 }).await
4203 }
4204
4205 pub async fn units_of_measure_get_active_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4210 let client = self.client.clone();
4211 let body = body.cloned();
4212 self.rate_limiter.execute(None, true, move || {
4213 let client = client.clone();
4214 let no = no.clone();
4215 let body = body.clone();
4216 async move { client.units_of_measure_get_active_v1(no, body.as_ref()).await }
4217 }).await
4218 }
4219
4220 pub async fn units_of_measure_get_active_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4227 let client = self.client.clone();
4228 let body = body.cloned();
4229 self.rate_limiter.execute(None, true, move || {
4230 let client = client.clone();
4231 let no = no.clone();
4232 let body = body.clone();
4233 async move { client.units_of_measure_get_active_v2(no, body.as_ref()).await }
4234 }).await
4235 }
4236
4237 pub async fn units_of_measure_get_inactive_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4244 let client = self.client.clone();
4245 let body = body.cloned();
4246 self.rate_limiter.execute(None, true, move || {
4247 let client = client.clone();
4248 let no = no.clone();
4249 let body = body.clone();
4250 async move { client.units_of_measure_get_inactive_v2(no, body.as_ref()).await }
4251 }).await
4252 }
4253
4254 pub async fn waste_methods_get_all_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4261 let client = self.client.clone();
4262 let body = body.cloned();
4263 self.rate_limiter.execute(None, true, move || {
4264 let client = client.clone();
4265 let no = no.clone();
4266 let body = body.clone();
4267 async move { client.waste_methods_get_all_v2(no, body.as_ref()).await }
4268 }).await
4269 }
4270
4271 pub async fn facilities_get_all_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4278 let client = self.client.clone();
4279 let body = body.cloned();
4280 self.rate_limiter.execute(None, true, move || {
4281 let client = client.clone();
4282 let no = no.clone();
4283 let body = body.clone();
4284 async move { client.facilities_get_all_v1(no, body.as_ref()).await }
4285 }).await
4286 }
4287
4288 pub async fn facilities_get_all_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4295 let client = self.client.clone();
4296 let body = body.cloned();
4297 self.rate_limiter.execute(None, true, move || {
4298 let client = client.clone();
4299 let no = no.clone();
4300 let body = body.clone();
4301 async move { client.facilities_get_all_v2(no, body.as_ref()).await }
4302 }).await
4303 }
4304
4305 pub async fn items_create_v1(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4312 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4313 let client = self.client.clone();
4314 let body_val = body_val.clone();
4315 self.rate_limiter.execute(None, false, move || {
4316 let client = client.clone();
4317 let license_number = license_number.clone();
4318 let body_val = body_val.clone();
4319 async move { client.items_create_v1(license_number, body_val.as_ref()).await }
4320 }).await
4321 }
4322
4323 pub async fn items_create_v2(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4330 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4331 let client = self.client.clone();
4332 let body_val = body_val.clone();
4333 self.rate_limiter.execute(None, false, move || {
4334 let client = client.clone();
4335 let license_number = license_number.clone();
4336 let body_val = body_val.clone();
4337 async move { client.items_create_v2(license_number, body_val.as_ref()).await }
4338 }).await
4339 }
4340
4341 pub async fn items_create_brand_v2(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreateBrandV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4348 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4349 let client = self.client.clone();
4350 let body_val = body_val.clone();
4351 self.rate_limiter.execute(None, false, move || {
4352 let client = client.clone();
4353 let license_number = license_number.clone();
4354 let body_val = body_val.clone();
4355 async move { client.items_create_brand_v2(license_number, body_val.as_ref()).await }
4356 }).await
4357 }
4358
4359 pub async fn items_create_file_v2(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreateFileV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4366 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4367 let client = self.client.clone();
4368 let body_val = body_val.clone();
4369 self.rate_limiter.execute(None, false, move || {
4370 let client = client.clone();
4371 let license_number = license_number.clone();
4372 let body_val = body_val.clone();
4373 async move { client.items_create_file_v2(license_number, body_val.as_ref()).await }
4374 }).await
4375 }
4376
4377 pub async fn items_create_photo_v1(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreatePhotoV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4384 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4385 let client = self.client.clone();
4386 let body_val = body_val.clone();
4387 self.rate_limiter.execute(None, false, move || {
4388 let client = client.clone();
4389 let license_number = license_number.clone();
4390 let body_val = body_val.clone();
4391 async move { client.items_create_photo_v1(license_number, body_val.as_ref()).await }
4392 }).await
4393 }
4394
4395 pub async fn items_create_photo_v2(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreatePhotoV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4402 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4403 let client = self.client.clone();
4404 let body_val = body_val.clone();
4405 self.rate_limiter.execute(None, false, move || {
4406 let client = client.clone();
4407 let license_number = license_number.clone();
4408 let body_val = body_val.clone();
4409 async move { client.items_create_photo_v2(license_number, body_val.as_ref()).await }
4410 }).await
4411 }
4412
4413 pub async fn items_create_update_v1(&self, license_number: Option<String>, body: Option<&Vec<ItemsCreateUpdateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4418 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4419 let client = self.client.clone();
4420 let body_val = body_val.clone();
4421 self.rate_limiter.execute(None, false, move || {
4422 let client = client.clone();
4423 let license_number = license_number.clone();
4424 let body_val = body_val.clone();
4425 async move { client.items_create_update_v1(license_number, body_val.as_ref()).await }
4426 }).await
4427 }
4428
4429 pub async fn items_delete_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4434 let id = id.to_string();
4435 let client = self.client.clone();
4436 let body = body.cloned();
4437 self.rate_limiter.execute(None, false, move || {
4438 let client = client.clone();
4439 let id = id.clone();
4440 let license_number = license_number.clone();
4441 let body = body.clone();
4442 async move { client.items_delete_v1(&id, license_number, body.as_ref()).await }
4443 }).await
4444 }
4445
4446 pub async fn items_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4453 let id = id.to_string();
4454 let client = self.client.clone();
4455 let body = body.cloned();
4456 self.rate_limiter.execute(None, false, move || {
4457 let client = client.clone();
4458 let id = id.clone();
4459 let license_number = license_number.clone();
4460 let body = body.clone();
4461 async move { client.items_delete_v2(&id, license_number, body.as_ref()).await }
4462 }).await
4463 }
4464
4465 pub async fn items_delete_brand_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4472 let id = id.to_string();
4473 let client = self.client.clone();
4474 let body = body.cloned();
4475 self.rate_limiter.execute(None, false, move || {
4476 let client = client.clone();
4477 let id = id.clone();
4478 let license_number = license_number.clone();
4479 let body = body.clone();
4480 async move { client.items_delete_brand_v2(&id, license_number, body.as_ref()).await }
4481 }).await
4482 }
4483
4484 pub async fn items_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4489 let id = id.to_string();
4490 let client = self.client.clone();
4491 let body = body.cloned();
4492 self.rate_limiter.execute(None, true, move || {
4493 let client = client.clone();
4494 let id = id.clone();
4495 let license_number = license_number.clone();
4496 let body = body.clone();
4497 async move { client.items_get_v1(&id, license_number, body.as_ref()).await }
4498 }).await
4499 }
4500
4501 pub async fn items_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4508 let id = id.to_string();
4509 let client = self.client.clone();
4510 let body = body.cloned();
4511 self.rate_limiter.execute(None, true, move || {
4512 let client = client.clone();
4513 let id = id.clone();
4514 let license_number = license_number.clone();
4515 let body = body.clone();
4516 async move { client.items_get_v2(&id, license_number, body.as_ref()).await }
4517 }).await
4518 }
4519
4520 pub async fn items_get_active_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4525 let client = self.client.clone();
4526 let body = body.cloned();
4527 self.rate_limiter.execute(None, true, move || {
4528 let client = client.clone();
4529 let license_number = license_number.clone();
4530 let body = body.clone();
4531 async move { client.items_get_active_v1(license_number, body.as_ref()).await }
4532 }).await
4533 }
4534
4535 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>> {
4542 let client = self.client.clone();
4543 let body = body.cloned();
4544 self.rate_limiter.execute(None, true, move || {
4545 let client = client.clone();
4546 let last_modified_end = last_modified_end.clone();
4547 let last_modified_start = last_modified_start.clone();
4548 let license_number = license_number.clone();
4549 let page_number = page_number.clone();
4550 let page_size = page_size.clone();
4551 let body = body.clone();
4552 async move { client.items_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
4553 }).await
4554 }
4555
4556 pub async fn items_get_brands_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4561 let client = self.client.clone();
4562 let body = body.cloned();
4563 self.rate_limiter.execute(None, true, move || {
4564 let client = client.clone();
4565 let license_number = license_number.clone();
4566 let body = body.clone();
4567 async move { client.items_get_brands_v1(license_number, body.as_ref()).await }
4568 }).await
4569 }
4570
4571 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>> {
4578 let client = self.client.clone();
4579 let body = body.cloned();
4580 self.rate_limiter.execute(None, true, move || {
4581 let client = client.clone();
4582 let license_number = license_number.clone();
4583 let page_number = page_number.clone();
4584 let page_size = page_size.clone();
4585 let body = body.clone();
4586 async move { client.items_get_brands_v2(license_number, page_number, page_size, body.as_ref()).await }
4587 }).await
4588 }
4589
4590 pub async fn items_get_categories_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4595 let client = self.client.clone();
4596 let body = body.cloned();
4597 self.rate_limiter.execute(None, true, move || {
4598 let client = client.clone();
4599 let license_number = license_number.clone();
4600 let body = body.clone();
4601 async move { client.items_get_categories_v1(license_number, body.as_ref()).await }
4602 }).await
4603 }
4604
4605 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>> {
4612 let client = self.client.clone();
4613 let body = body.cloned();
4614 self.rate_limiter.execute(None, true, move || {
4615 let client = client.clone();
4616 let license_number = license_number.clone();
4617 let page_number = page_number.clone();
4618 let page_size = page_size.clone();
4619 let body = body.clone();
4620 async move { client.items_get_categories_v2(license_number, page_number, page_size, body.as_ref()).await }
4621 }).await
4622 }
4623
4624 pub async fn items_get_file_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4631 let id = id.to_string();
4632 let client = self.client.clone();
4633 let body = body.cloned();
4634 self.rate_limiter.execute(None, true, move || {
4635 let client = client.clone();
4636 let id = id.clone();
4637 let license_number = license_number.clone();
4638 let body = body.clone();
4639 async move { client.items_get_file_v2(&id, license_number, body.as_ref()).await }
4640 }).await
4641 }
4642
4643 pub async fn items_get_inactive_v1(&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.items_get_inactive_v1(license_number, body.as_ref()).await }
4655 }).await
4656 }
4657
4658 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>> {
4665 let client = self.client.clone();
4666 let body = body.cloned();
4667 self.rate_limiter.execute(None, true, move || {
4668 let client = client.clone();
4669 let license_number = license_number.clone();
4670 let page_number = page_number.clone();
4671 let page_size = page_size.clone();
4672 let body = body.clone();
4673 async move { client.items_get_inactive_v2(license_number, page_number, page_size, body.as_ref()).await }
4674 }).await
4675 }
4676
4677 pub async fn items_get_photo_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4682 let id = id.to_string();
4683 let client = self.client.clone();
4684 let body = body.cloned();
4685 self.rate_limiter.execute(None, true, move || {
4686 let client = client.clone();
4687 let id = id.clone();
4688 let license_number = license_number.clone();
4689 let body = body.clone();
4690 async move { client.items_get_photo_v1(&id, license_number, body.as_ref()).await }
4691 }).await
4692 }
4693
4694 pub async fn items_get_photo_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4701 let id = id.to_string();
4702 let client = self.client.clone();
4703 let body = body.cloned();
4704 self.rate_limiter.execute(None, true, move || {
4705 let client = client.clone();
4706 let id = id.clone();
4707 let license_number = license_number.clone();
4708 let body = body.clone();
4709 async move { client.items_get_photo_v2(&id, license_number, body.as_ref()).await }
4710 }).await
4711 }
4712
4713 pub async fn items_update_v2(&self, license_number: Option<String>, body: Option<&Vec<ItemsUpdateV2RequestItem>>) -> 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.items_update_v2(license_number, body_val.as_ref()).await }
4728 }).await
4729 }
4730
4731 pub async fn items_update_brand_v2(&self, license_number: Option<String>, body: Option<&Vec<ItemsUpdateBrandV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4738 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4739 let client = self.client.clone();
4740 let body_val = body_val.clone();
4741 self.rate_limiter.execute(None, false, move || {
4742 let client = client.clone();
4743 let license_number = license_number.clone();
4744 let body_val = body_val.clone();
4745 async move { client.items_update_brand_v2(license_number, body_val.as_ref()).await }
4746 }).await
4747 }
4748
4749 pub async fn patient_check_ins_create_v1(&self, license_number: Option<String>, body: Option<&Vec<PatientCheckInsCreateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4754 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4755 let client = self.client.clone();
4756 let body_val = body_val.clone();
4757 self.rate_limiter.execute(None, false, move || {
4758 let client = client.clone();
4759 let license_number = license_number.clone();
4760 let body_val = body_val.clone();
4761 async move { client.patient_check_ins_create_v1(license_number, body_val.as_ref()).await }
4762 }).await
4763 }
4764
4765 pub async fn patient_check_ins_create_v2(&self, license_number: Option<String>, body: Option<&Vec<PatientCheckInsCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4772 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4773 let client = self.client.clone();
4774 let body_val = body_val.clone();
4775 self.rate_limiter.execute(None, false, move || {
4776 let client = client.clone();
4777 let license_number = license_number.clone();
4778 let body_val = body_val.clone();
4779 async move { client.patient_check_ins_create_v2(license_number, body_val.as_ref()).await }
4780 }).await
4781 }
4782
4783 pub async fn patient_check_ins_delete_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4788 let id = id.to_string();
4789 let client = self.client.clone();
4790 let body = body.cloned();
4791 self.rate_limiter.execute(None, false, move || {
4792 let client = client.clone();
4793 let id = id.clone();
4794 let license_number = license_number.clone();
4795 let body = body.clone();
4796 async move { client.patient_check_ins_delete_v1(&id, license_number, body.as_ref()).await }
4797 }).await
4798 }
4799
4800 pub async fn patient_check_ins_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4807 let id = id.to_string();
4808 let client = self.client.clone();
4809 let body = body.cloned();
4810 self.rate_limiter.execute(None, false, move || {
4811 let client = client.clone();
4812 let id = id.clone();
4813 let license_number = license_number.clone();
4814 let body = body.clone();
4815 async move { client.patient_check_ins_delete_v2(&id, license_number, body.as_ref()).await }
4816 }).await
4817 }
4818
4819 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>> {
4824 let client = self.client.clone();
4825 let body = body.cloned();
4826 self.rate_limiter.execute(None, true, move || {
4827 let client = client.clone();
4828 let checkin_date_end = checkin_date_end.clone();
4829 let checkin_date_start = checkin_date_start.clone();
4830 let license_number = license_number.clone();
4831 let body = body.clone();
4832 async move { client.patient_check_ins_get_all_v1(checkin_date_end, checkin_date_start, license_number, body.as_ref()).await }
4833 }).await
4834 }
4835
4836 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>> {
4843 let client = self.client.clone();
4844 let body = body.cloned();
4845 self.rate_limiter.execute(None, true, move || {
4846 let client = client.clone();
4847 let checkin_date_end = checkin_date_end.clone();
4848 let checkin_date_start = checkin_date_start.clone();
4849 let license_number = license_number.clone();
4850 let body = body.clone();
4851 async move { client.patient_check_ins_get_all_v2(checkin_date_end, checkin_date_start, license_number, body.as_ref()).await }
4852 }).await
4853 }
4854
4855 pub async fn patient_check_ins_get_locations_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4860 let client = self.client.clone();
4861 let body = body.cloned();
4862 self.rate_limiter.execute(None, true, move || {
4863 let client = client.clone();
4864 let no = no.clone();
4865 let body = body.clone();
4866 async move { client.patient_check_ins_get_locations_v1(no, body.as_ref()).await }
4867 }).await
4868 }
4869
4870 pub async fn patient_check_ins_get_locations_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4877 let client = self.client.clone();
4878 let body = body.cloned();
4879 self.rate_limiter.execute(None, true, move || {
4880 let client = client.clone();
4881 let no = no.clone();
4882 let body = body.clone();
4883 async move { client.patient_check_ins_get_locations_v2(no, body.as_ref()).await }
4884 }).await
4885 }
4886
4887 pub async fn patient_check_ins_update_v1(&self, license_number: Option<String>, body: Option<&Vec<PatientCheckInsUpdateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4892 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4893 let client = self.client.clone();
4894 let body_val = body_val.clone();
4895 self.rate_limiter.execute(None, false, move || {
4896 let client = client.clone();
4897 let license_number = license_number.clone();
4898 let body_val = body_val.clone();
4899 async move { client.patient_check_ins_update_v1(license_number, body_val.as_ref()).await }
4900 }).await
4901 }
4902
4903 pub async fn patient_check_ins_update_v2(&self, license_number: Option<String>, body: Option<&Vec<PatientCheckInsUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4910 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4911 let client = self.client.clone();
4912 let body_val = body_val.clone();
4913 self.rate_limiter.execute(None, false, move || {
4914 let client = client.clone();
4915 let license_number = license_number.clone();
4916 let body_val = body_val.clone();
4917 async move { client.patient_check_ins_update_v2(license_number, body_val.as_ref()).await }
4918 }).await
4919 }
4920
4921 pub async fn additives_templates_create_v2(&self, license_number: Option<String>, body: Option<&Vec<AdditivesTemplatesCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
4928 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
4929 let client = self.client.clone();
4930 let body_val = body_val.clone();
4931 self.rate_limiter.execute(None, false, move || {
4932 let client = client.clone();
4933 let license_number = license_number.clone();
4934 let body_val = body_val.clone();
4935 async move { client.additives_templates_create_v2(license_number, body_val.as_ref()).await }
4936 }).await
4937 }
4938
4939 pub async fn additives_templates_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
4946 let id = id.to_string();
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 id = id.clone();
4952 let license_number = license_number.clone();
4953 let body = body.clone();
4954 async move { client.additives_templates_get_v2(&id, license_number, body.as_ref()).await }
4955 }).await
4956 }
4957
4958 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>> {
4965 let client = self.client.clone();
4966 let body = body.cloned();
4967 self.rate_limiter.execute(None, true, move || {
4968 let client = client.clone();
4969 let last_modified_end = last_modified_end.clone();
4970 let last_modified_start = last_modified_start.clone();
4971 let license_number = license_number.clone();
4972 let page_number = page_number.clone();
4973 let page_size = page_size.clone();
4974 let body = body.clone();
4975 async move { client.additives_templates_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
4976 }).await
4977 }
4978
4979 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>> {
4986 let client = self.client.clone();
4987 let body = body.cloned();
4988 self.rate_limiter.execute(None, true, move || {
4989 let client = client.clone();
4990 let last_modified_end = last_modified_end.clone();
4991 let last_modified_start = last_modified_start.clone();
4992 let license_number = license_number.clone();
4993 let page_number = page_number.clone();
4994 let page_size = page_size.clone();
4995 let body = body.clone();
4996 async move { client.additives_templates_get_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
4997 }).await
4998 }
4999
5000 pub async fn additives_templates_update_v2(&self, license_number: Option<String>, body: Option<&Vec<AdditivesTemplatesUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5007 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5008 let client = self.client.clone();
5009 let body_val = body_val.clone();
5010 self.rate_limiter.execute(None, false, move || {
5011 let client = client.clone();
5012 let license_number = license_number.clone();
5013 let body_val = body_val.clone();
5014 async move { client.additives_templates_update_v2(license_number, body_val.as_ref()).await }
5015 }).await
5016 }
5017
5018 pub async fn harvests_create_finish_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreateFinishV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5024 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5025 let client = self.client.clone();
5026 let body_val = body_val.clone();
5027 self.rate_limiter.execute(None, false, move || {
5028 let client = client.clone();
5029 let license_number = license_number.clone();
5030 let body_val = body_val.clone();
5031 async move { client.harvests_create_finish_v1(license_number, body_val.as_ref()).await }
5032 }).await
5033 }
5034
5035 pub async fn harvests_create_package_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreatePackageV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5043 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5044 let client = self.client.clone();
5045 let body_val = body_val.clone();
5046 self.rate_limiter.execute(None, false, move || {
5047 let client = client.clone();
5048 let license_number = license_number.clone();
5049 let body_val = body_val.clone();
5050 async move { client.harvests_create_package_v1(license_number, body_val.as_ref()).await }
5051 }).await
5052 }
5053
5054 pub async fn harvests_create_package_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreatePackageV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5064 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5065 let client = self.client.clone();
5066 let body_val = body_val.clone();
5067 self.rate_limiter.execute(None, false, move || {
5068 let client = client.clone();
5069 let license_number = license_number.clone();
5070 let body_val = body_val.clone();
5071 async move { client.harvests_create_package_v2(license_number, body_val.as_ref()).await }
5072 }).await
5073 }
5074
5075 pub async fn harvests_create_package_testing_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreatePackageTestingV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5083 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5084 let client = self.client.clone();
5085 let body_val = body_val.clone();
5086 self.rate_limiter.execute(None, false, move || {
5087 let client = client.clone();
5088 let license_number = license_number.clone();
5089 let body_val = body_val.clone();
5090 async move { client.harvests_create_package_testing_v1(license_number, body_val.as_ref()).await }
5091 }).await
5092 }
5093
5094 pub async fn harvests_create_package_testing_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreatePackageTestingV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5104 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5105 let client = self.client.clone();
5106 let body_val = body_val.clone();
5107 self.rate_limiter.execute(None, false, move || {
5108 let client = client.clone();
5109 let license_number = license_number.clone();
5110 let body_val = body_val.clone();
5111 async move { client.harvests_create_package_testing_v2(license_number, body_val.as_ref()).await }
5112 }).await
5113 }
5114
5115 pub async fn harvests_create_remove_waste_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreateRemoveWasteV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5121 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5122 let client = self.client.clone();
5123 let body_val = body_val.clone();
5124 self.rate_limiter.execute(None, false, move || {
5125 let client = client.clone();
5126 let license_number = license_number.clone();
5127 let body_val = body_val.clone();
5128 async move { client.harvests_create_remove_waste_v1(license_number, body_val.as_ref()).await }
5129 }).await
5130 }
5131
5132 pub async fn harvests_create_unfinish_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreateUnfinishV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5138 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5139 let client = self.client.clone();
5140 let body_val = body_val.clone();
5141 self.rate_limiter.execute(None, false, move || {
5142 let client = client.clone();
5143 let license_number = license_number.clone();
5144 let body_val = body_val.clone();
5145 async move { client.harvests_create_unfinish_v1(license_number, body_val.as_ref()).await }
5146 }).await
5147 }
5148
5149 pub async fn harvests_create_waste_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsCreateWasteV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5157 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5158 let client = self.client.clone();
5159 let body_val = body_val.clone();
5160 self.rate_limiter.execute(None, false, move || {
5161 let client = client.clone();
5162 let license_number = license_number.clone();
5163 let body_val = body_val.clone();
5164 async move { client.harvests_create_waste_v2(license_number, body_val.as_ref()).await }
5165 }).await
5166 }
5167
5168 pub async fn harvests_delete_waste_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5176 let id = id.to_string();
5177 let client = self.client.clone();
5178 let body = body.cloned();
5179 self.rate_limiter.execute(None, false, move || {
5180 let client = client.clone();
5181 let id = id.clone();
5182 let license_number = license_number.clone();
5183 let body = body.clone();
5184 async move { client.harvests_delete_waste_v2(&id, license_number, body.as_ref()).await }
5185 }).await
5186 }
5187
5188 pub async fn harvests_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5193 let id = id.to_string();
5194 let client = self.client.clone();
5195 let body = body.cloned();
5196 self.rate_limiter.execute(None, true, move || {
5197 let client = client.clone();
5198 let id = id.clone();
5199 let license_number = license_number.clone();
5200 let body = body.clone();
5201 async move { client.harvests_get_v1(&id, license_number, body.as_ref()).await }
5202 }).await
5203 }
5204
5205 pub async fn harvests_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5212 let id = id.to_string();
5213 let client = self.client.clone();
5214 let body = body.cloned();
5215 self.rate_limiter.execute(None, true, move || {
5216 let client = client.clone();
5217 let id = id.clone();
5218 let license_number = license_number.clone();
5219 let body = body.clone();
5220 async move { client.harvests_get_v2(&id, license_number, body.as_ref()).await }
5221 }).await
5222 }
5223
5224 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>> {
5229 let client = self.client.clone();
5230 let body = body.cloned();
5231 self.rate_limiter.execute(None, true, move || {
5232 let client = client.clone();
5233 let last_modified_end = last_modified_end.clone();
5234 let last_modified_start = last_modified_start.clone();
5235 let license_number = license_number.clone();
5236 let body = body.clone();
5237 async move { client.harvests_get_active_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
5238 }).await
5239 }
5240
5241 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>> {
5248 let client = self.client.clone();
5249 let body = body.cloned();
5250 self.rate_limiter.execute(None, true, move || {
5251 let client = client.clone();
5252 let last_modified_end = last_modified_end.clone();
5253 let last_modified_start = last_modified_start.clone();
5254 let license_number = license_number.clone();
5255 let page_number = page_number.clone();
5256 let page_size = page_size.clone();
5257 let body = body.clone();
5258 async move { client.harvests_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
5259 }).await
5260 }
5261
5262 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>> {
5267 let client = self.client.clone();
5268 let body = body.cloned();
5269 self.rate_limiter.execute(None, true, move || {
5270 let client = client.clone();
5271 let last_modified_end = last_modified_end.clone();
5272 let last_modified_start = last_modified_start.clone();
5273 let license_number = license_number.clone();
5274 let body = body.clone();
5275 async move { client.harvests_get_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
5276 }).await
5277 }
5278
5279 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>> {
5286 let client = self.client.clone();
5287 let body = body.cloned();
5288 self.rate_limiter.execute(None, true, move || {
5289 let client = client.clone();
5290 let last_modified_end = last_modified_end.clone();
5291 let last_modified_start = last_modified_start.clone();
5292 let license_number = license_number.clone();
5293 let page_number = page_number.clone();
5294 let page_size = page_size.clone();
5295 let body = body.clone();
5296 async move { client.harvests_get_inactive_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
5297 }).await
5298 }
5299
5300 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>> {
5305 let client = self.client.clone();
5306 let body = body.cloned();
5307 self.rate_limiter.execute(None, true, move || {
5308 let client = client.clone();
5309 let last_modified_end = last_modified_end.clone();
5310 let last_modified_start = last_modified_start.clone();
5311 let license_number = license_number.clone();
5312 let body = body.clone();
5313 async move { client.harvests_get_onhold_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
5314 }).await
5315 }
5316
5317 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>> {
5324 let client = self.client.clone();
5325 let body = body.cloned();
5326 self.rate_limiter.execute(None, true, move || {
5327 let client = client.clone();
5328 let last_modified_end = last_modified_end.clone();
5329 let last_modified_start = last_modified_start.clone();
5330 let license_number = license_number.clone();
5331 let page_number = page_number.clone();
5332 let page_size = page_size.clone();
5333 let body = body.clone();
5334 async move { client.harvests_get_onhold_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
5335 }).await
5336 }
5337
5338 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>> {
5345 let client = self.client.clone();
5346 let body = body.cloned();
5347 self.rate_limiter.execute(None, true, move || {
5348 let client = client.clone();
5349 let harvest_id = harvest_id.clone();
5350 let license_number = license_number.clone();
5351 let page_number = page_number.clone();
5352 let page_size = page_size.clone();
5353 let body = body.clone();
5354 async move { client.harvests_get_waste_v2(harvest_id, license_number, page_number, page_size, body.as_ref()).await }
5355 }).await
5356 }
5357
5358 pub async fn harvests_get_waste_types_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5363 let client = self.client.clone();
5364 let body = body.cloned();
5365 self.rate_limiter.execute(None, true, move || {
5366 let client = client.clone();
5367 let no = no.clone();
5368 let body = body.clone();
5369 async move { client.harvests_get_waste_types_v1(no, body.as_ref()).await }
5370 }).await
5371 }
5372
5373 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>> {
5380 let client = self.client.clone();
5381 let body = body.cloned();
5382 self.rate_limiter.execute(None, true, move || {
5383 let client = client.clone();
5384 let page_number = page_number.clone();
5385 let page_size = page_size.clone();
5386 let body = body.clone();
5387 async move { client.harvests_get_waste_types_v2(page_number, page_size, body.as_ref()).await }
5388 }).await
5389 }
5390
5391 pub async fn harvests_update_finish_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateFinishV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5399 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5400 let client = self.client.clone();
5401 let body_val = body_val.clone();
5402 self.rate_limiter.execute(None, false, move || {
5403 let client = client.clone();
5404 let license_number = license_number.clone();
5405 let body_val = body_val.clone();
5406 async move { client.harvests_update_finish_v2(license_number, body_val.as_ref()).await }
5407 }).await
5408 }
5409
5410 pub async fn harvests_update_location_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateLocationV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5418 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5419 let client = self.client.clone();
5420 let body_val = body_val.clone();
5421 self.rate_limiter.execute(None, false, move || {
5422 let client = client.clone();
5423 let license_number = license_number.clone();
5424 let body_val = body_val.clone();
5425 async move { client.harvests_update_location_v2(license_number, body_val.as_ref()).await }
5426 }).await
5427 }
5428
5429 pub async fn harvests_update_move_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateMoveV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5435 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5436 let client = self.client.clone();
5437 let body_val = body_val.clone();
5438 self.rate_limiter.execute(None, false, move || {
5439 let client = client.clone();
5440 let license_number = license_number.clone();
5441 let body_val = body_val.clone();
5442 async move { client.harvests_update_move_v1(license_number, body_val.as_ref()).await }
5443 }).await
5444 }
5445
5446 pub async fn harvests_update_rename_v1(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateRenameV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5452 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5453 let client = self.client.clone();
5454 let body_val = body_val.clone();
5455 self.rate_limiter.execute(None, false, move || {
5456 let client = client.clone();
5457 let license_number = license_number.clone();
5458 let body_val = body_val.clone();
5459 async move { client.harvests_update_rename_v1(license_number, body_val.as_ref()).await }
5460 }).await
5461 }
5462
5463 pub async fn harvests_update_rename_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateRenameV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5471 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5472 let client = self.client.clone();
5473 let body_val = body_val.clone();
5474 self.rate_limiter.execute(None, false, move || {
5475 let client = client.clone();
5476 let license_number = license_number.clone();
5477 let body_val = body_val.clone();
5478 async move { client.harvests_update_rename_v2(license_number, body_val.as_ref()).await }
5479 }).await
5480 }
5481
5482 pub async fn harvests_update_restore_harvested_plants_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateRestoreHarvestedPlantsV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5490 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5491 let client = self.client.clone();
5492 let body_val = body_val.clone();
5493 self.rate_limiter.execute(None, false, move || {
5494 let client = client.clone();
5495 let license_number = license_number.clone();
5496 let body_val = body_val.clone();
5497 async move { client.harvests_update_restore_harvested_plants_v2(license_number, body_val.as_ref()).await }
5498 }).await
5499 }
5500
5501 pub async fn harvests_update_unfinish_v2(&self, license_number: Option<String>, body: Option<&Vec<HarvestsUpdateUnfinishV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5509 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5510 let client = self.client.clone();
5511 let body_val = body_val.clone();
5512 self.rate_limiter.execute(None, false, move || {
5513 let client = client.clone();
5514 let license_number = license_number.clone();
5515 let body_val = body_val.clone();
5516 async move { client.harvests_update_unfinish_v2(license_number, body_val.as_ref()).await }
5517 }).await
5518 }
5519
5520 pub async fn patients_create_v2(&self, license_number: Option<String>, body: Option<&Vec<PatientsCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5527 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5528 let client = self.client.clone();
5529 let body_val = body_val.clone();
5530 self.rate_limiter.execute(None, false, move || {
5531 let client = client.clone();
5532 let license_number = license_number.clone();
5533 let body_val = body_val.clone();
5534 async move { client.patients_create_v2(license_number, body_val.as_ref()).await }
5535 }).await
5536 }
5537
5538 pub async fn patients_create_add_v1(&self, license_number: Option<String>, body: Option<&Vec<PatientsCreateAddV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5543 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5544 let client = self.client.clone();
5545 let body_val = body_val.clone();
5546 self.rate_limiter.execute(None, false, move || {
5547 let client = client.clone();
5548 let license_number = license_number.clone();
5549 let body_val = body_val.clone();
5550 async move { client.patients_create_add_v1(license_number, body_val.as_ref()).await }
5551 }).await
5552 }
5553
5554 pub async fn patients_create_update_v1(&self, license_number: Option<String>, body: Option<&Vec<PatientsCreateUpdateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5559 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5560 let client = self.client.clone();
5561 let body_val = body_val.clone();
5562 self.rate_limiter.execute(None, false, move || {
5563 let client = client.clone();
5564 let license_number = license_number.clone();
5565 let body_val = body_val.clone();
5566 async move { client.patients_create_update_v1(license_number, body_val.as_ref()).await }
5567 }).await
5568 }
5569
5570 pub async fn patients_delete_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5575 let id = id.to_string();
5576 let client = self.client.clone();
5577 let body = body.cloned();
5578 self.rate_limiter.execute(None, false, move || {
5579 let client = client.clone();
5580 let id = id.clone();
5581 let license_number = license_number.clone();
5582 let body = body.clone();
5583 async move { client.patients_delete_v1(&id, license_number, body.as_ref()).await }
5584 }).await
5585 }
5586
5587 pub async fn patients_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5594 let id = id.to_string();
5595 let client = self.client.clone();
5596 let body = body.cloned();
5597 self.rate_limiter.execute(None, false, move || {
5598 let client = client.clone();
5599 let id = id.clone();
5600 let license_number = license_number.clone();
5601 let body = body.clone();
5602 async move { client.patients_delete_v2(&id, license_number, body.as_ref()).await }
5603 }).await
5604 }
5605
5606 pub async fn patients_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5611 let id = id.to_string();
5612 let client = self.client.clone();
5613 let body = body.cloned();
5614 self.rate_limiter.execute(None, true, move || {
5615 let client = client.clone();
5616 let id = id.clone();
5617 let license_number = license_number.clone();
5618 let body = body.clone();
5619 async move { client.patients_get_v1(&id, license_number, body.as_ref()).await }
5620 }).await
5621 }
5622
5623 pub async fn patients_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5630 let id = id.to_string();
5631 let client = self.client.clone();
5632 let body = body.cloned();
5633 self.rate_limiter.execute(None, true, move || {
5634 let client = client.clone();
5635 let id = id.clone();
5636 let license_number = license_number.clone();
5637 let body = body.clone();
5638 async move { client.patients_get_v2(&id, license_number, body.as_ref()).await }
5639 }).await
5640 }
5641
5642 pub async fn patients_get_active_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5647 let client = self.client.clone();
5648 let body = body.cloned();
5649 self.rate_limiter.execute(None, true, move || {
5650 let client = client.clone();
5651 let license_number = license_number.clone();
5652 let body = body.clone();
5653 async move { client.patients_get_active_v1(license_number, body.as_ref()).await }
5654 }).await
5655 }
5656
5657 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>> {
5664 let client = self.client.clone();
5665 let body = body.cloned();
5666 self.rate_limiter.execute(None, true, move || {
5667 let client = client.clone();
5668 let license_number = license_number.clone();
5669 let page_number = page_number.clone();
5670 let page_size = page_size.clone();
5671 let body = body.clone();
5672 async move { client.patients_get_active_v2(license_number, page_number, page_size, body.as_ref()).await }
5673 }).await
5674 }
5675
5676 pub async fn patients_update_v2(&self, license_number: Option<String>, body: Option<&Vec<PatientsUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5683 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5684 let client = self.client.clone();
5685 let body_val = body_val.clone();
5686 self.rate_limiter.execute(None, false, move || {
5687 let client = client.clone();
5688 let license_number = license_number.clone();
5689 let body_val = body_val.clone();
5690 async move { client.patients_update_v2(license_number, body_val.as_ref()).await }
5691 }).await
5692 }
5693
5694 pub async fn sales_create_delivery_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5701 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5702 let client = self.client.clone();
5703 let body_val = body_val.clone();
5704 self.rate_limiter.execute(None, false, move || {
5705 let client = client.clone();
5706 let license_number = license_number.clone();
5707 let body_val = body_val.clone();
5708 async move { client.sales_create_delivery_v1(license_number, body_val.as_ref()).await }
5709 }).await
5710 }
5711
5712 pub async fn sales_create_delivery_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5723 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5724 let client = self.client.clone();
5725 let body_val = body_val.clone();
5726 self.rate_limiter.execute(None, false, move || {
5727 let client = client.clone();
5728 let license_number = license_number.clone();
5729 let body_val = body_val.clone();
5730 async move { client.sales_create_delivery_v2(license_number, body_val.as_ref()).await }
5731 }).await
5732 }
5733
5734 pub async fn sales_create_delivery_retailer_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5741 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5742 let client = self.client.clone();
5743 let body_val = body_val.clone();
5744 self.rate_limiter.execute(None, false, move || {
5745 let client = client.clone();
5746 let license_number = license_number.clone();
5747 let body_val = body_val.clone();
5748 async move { client.sales_create_delivery_retailer_v1(license_number, body_val.as_ref()).await }
5749 }).await
5750 }
5751
5752 pub async fn sales_create_delivery_retailer_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5765 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5766 let client = self.client.clone();
5767 let body_val = body_val.clone();
5768 self.rate_limiter.execute(None, false, move || {
5769 let client = client.clone();
5770 let license_number = license_number.clone();
5771 let body_val = body_val.clone();
5772 async move { client.sales_create_delivery_retailer_v2(license_number, body_val.as_ref()).await }
5773 }).await
5774 }
5775
5776 pub async fn sales_create_delivery_retailer_depart_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerDepartV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5781 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5782 let client = self.client.clone();
5783 let body_val = body_val.clone();
5784 self.rate_limiter.execute(None, false, move || {
5785 let client = client.clone();
5786 let license_number = license_number.clone();
5787 let body_val = body_val.clone();
5788 async move { client.sales_create_delivery_retailer_depart_v1(license_number, body_val.as_ref()).await }
5789 }).await
5790 }
5791
5792 pub async fn sales_create_delivery_retailer_depart_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerDepartV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5803 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5804 let client = self.client.clone();
5805 let body_val = body_val.clone();
5806 self.rate_limiter.execute(None, false, move || {
5807 let client = client.clone();
5808 let license_number = license_number.clone();
5809 let body_val = body_val.clone();
5810 async move { client.sales_create_delivery_retailer_depart_v2(license_number, body_val.as_ref()).await }
5811 }).await
5812 }
5813
5814 pub async fn sales_create_delivery_retailer_end_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerEndV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5821 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5822 let client = self.client.clone();
5823 let body_val = body_val.clone();
5824 self.rate_limiter.execute(None, false, move || {
5825 let client = client.clone();
5826 let license_number = license_number.clone();
5827 let body_val = body_val.clone();
5828 async move { client.sales_create_delivery_retailer_end_v1(license_number, body_val.as_ref()).await }
5829 }).await
5830 }
5831
5832 pub async fn sales_create_delivery_retailer_end_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerEndV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5843 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5844 let client = self.client.clone();
5845 let body_val = body_val.clone();
5846 self.rate_limiter.execute(None, false, move || {
5847 let client = client.clone();
5848 let license_number = license_number.clone();
5849 let body_val = body_val.clone();
5850 async move { client.sales_create_delivery_retailer_end_v2(license_number, body_val.as_ref()).await }
5851 }).await
5852 }
5853
5854 pub async fn sales_create_delivery_retailer_restock_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerRestockV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5861 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5862 let client = self.client.clone();
5863 let body_val = body_val.clone();
5864 self.rate_limiter.execute(None, false, move || {
5865 let client = client.clone();
5866 let license_number = license_number.clone();
5867 let body_val = body_val.clone();
5868 async move { client.sales_create_delivery_retailer_restock_v1(license_number, body_val.as_ref()).await }
5869 }).await
5870 }
5871
5872 pub async fn sales_create_delivery_retailer_restock_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerRestockV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5883 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5884 let client = self.client.clone();
5885 let body_val = body_val.clone();
5886 self.rate_limiter.execute(None, false, move || {
5887 let client = client.clone();
5888 let license_number = license_number.clone();
5889 let body_val = body_val.clone();
5890 async move { client.sales_create_delivery_retailer_restock_v2(license_number, body_val.as_ref()).await }
5891 }).await
5892 }
5893
5894 pub async fn sales_create_delivery_retailer_sale_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerSaleV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5901 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5902 let client = self.client.clone();
5903 let body_val = body_val.clone();
5904 self.rate_limiter.execute(None, false, move || {
5905 let client = client.clone();
5906 let license_number = license_number.clone();
5907 let body_val = body_val.clone();
5908 async move { client.sales_create_delivery_retailer_sale_v1(license_number, body_val.as_ref()).await }
5909 }).await
5910 }
5911
5912 pub async fn sales_create_delivery_retailer_sale_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateDeliveryRetailerSaleV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5924 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5925 let client = self.client.clone();
5926 let body_val = body_val.clone();
5927 self.rate_limiter.execute(None, false, move || {
5928 let client = client.clone();
5929 let license_number = license_number.clone();
5930 let body_val = body_val.clone();
5931 async move { client.sales_create_delivery_retailer_sale_v2(license_number, body_val.as_ref()).await }
5932 }).await
5933 }
5934
5935 pub async fn sales_create_receipt_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateReceiptV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5942 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5943 let client = self.client.clone();
5944 let body_val = body_val.clone();
5945 self.rate_limiter.execute(None, false, move || {
5946 let client = client.clone();
5947 let license_number = license_number.clone();
5948 let body_val = body_val.clone();
5949 async move { client.sales_create_receipt_v1(license_number, body_val.as_ref()).await }
5950 }).await
5951 }
5952
5953 pub async fn sales_create_receipt_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesCreateReceiptV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
5965 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5966 let client = self.client.clone();
5967 let body_val = body_val.clone();
5968 self.rate_limiter.execute(None, false, move || {
5969 let client = client.clone();
5970 let license_number = license_number.clone();
5971 let body_val = body_val.clone();
5972 async move { client.sales_create_receipt_v2(license_number, body_val.as_ref()).await }
5973 }).await
5974 }
5975
5976 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>> {
5981 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
5982 let date = date.to_string();
5983 let client = self.client.clone();
5984 let body_val = body_val.clone();
5985 self.rate_limiter.execute(None, false, move || {
5986 let client = client.clone();
5987 let date = date.clone();
5988 let license_number = license_number.clone();
5989 let body_val = body_val.clone();
5990 async move { client.sales_create_transaction_by_date_v1(&date, license_number, body_val.as_ref()).await }
5991 }).await
5992 }
5993
5994 pub async fn sales_delete_delivery_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
5999 let id = id.to_string();
6000 let client = self.client.clone();
6001 let body = body.cloned();
6002 self.rate_limiter.execute(None, false, move || {
6003 let client = client.clone();
6004 let id = id.clone();
6005 let license_number = license_number.clone();
6006 let body = body.clone();
6007 async move { client.sales_delete_delivery_v1(&id, license_number, body.as_ref()).await }
6008 }).await
6009 }
6010
6011 pub async fn sales_delete_delivery_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6018 let id = id.to_string();
6019 let client = self.client.clone();
6020 let body = body.cloned();
6021 self.rate_limiter.execute(None, false, move || {
6022 let client = client.clone();
6023 let id = id.clone();
6024 let license_number = license_number.clone();
6025 let body = body.clone();
6026 async move { client.sales_delete_delivery_v2(&id, license_number, body.as_ref()).await }
6027 }).await
6028 }
6029
6030 pub async fn sales_delete_delivery_retailer_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6035 let id = id.to_string();
6036 let client = self.client.clone();
6037 let body = body.cloned();
6038 self.rate_limiter.execute(None, false, move || {
6039 let client = client.clone();
6040 let id = id.clone();
6041 let license_number = license_number.clone();
6042 let body = body.clone();
6043 async move { client.sales_delete_delivery_retailer_v1(&id, license_number, body.as_ref()).await }
6044 }).await
6045 }
6046
6047 pub async fn sales_delete_delivery_retailer_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6058 let id = id.to_string();
6059 let client = self.client.clone();
6060 let body = body.cloned();
6061 self.rate_limiter.execute(None, false, move || {
6062 let client = client.clone();
6063 let id = id.clone();
6064 let license_number = license_number.clone();
6065 let body = body.clone();
6066 async move { client.sales_delete_delivery_retailer_v2(&id, license_number, body.as_ref()).await }
6067 }).await
6068 }
6069
6070 pub async fn sales_delete_receipt_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6075 let id = id.to_string();
6076 let client = self.client.clone();
6077 let body = body.cloned();
6078 self.rate_limiter.execute(None, false, move || {
6079 let client = client.clone();
6080 let id = id.clone();
6081 let license_number = license_number.clone();
6082 let body = body.clone();
6083 async move { client.sales_delete_receipt_v1(&id, license_number, body.as_ref()).await }
6084 }).await
6085 }
6086
6087 pub async fn sales_delete_receipt_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6094 let id = id.to_string();
6095 let client = self.client.clone();
6096 let body = body.cloned();
6097 self.rate_limiter.execute(None, false, move || {
6098 let client = client.clone();
6099 let id = id.clone();
6100 let license_number = license_number.clone();
6101 let body = body.clone();
6102 async move { client.sales_delete_receipt_v2(&id, license_number, body.as_ref()).await }
6103 }).await
6104 }
6105
6106 pub async fn sales_get_counties_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6111 let client = self.client.clone();
6112 let body = body.cloned();
6113 self.rate_limiter.execute(None, true, move || {
6114 let client = client.clone();
6115 let no = no.clone();
6116 let body = body.clone();
6117 async move { client.sales_get_counties_v1(no, body.as_ref()).await }
6118 }).await
6119 }
6120
6121 pub async fn sales_get_counties_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6128 let client = self.client.clone();
6129 let body = body.cloned();
6130 self.rate_limiter.execute(None, true, move || {
6131 let client = client.clone();
6132 let no = no.clone();
6133 let body = body.clone();
6134 async move { client.sales_get_counties_v2(no, body.as_ref()).await }
6135 }).await
6136 }
6137
6138 pub async fn sales_get_customertypes_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6143 let client = self.client.clone();
6144 let body = body.cloned();
6145 self.rate_limiter.execute(None, true, move || {
6146 let client = client.clone();
6147 let no = no.clone();
6148 let body = body.clone();
6149 async move { client.sales_get_customertypes_v1(no, body.as_ref()).await }
6150 }).await
6151 }
6152
6153 pub async fn sales_get_customertypes_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6160 let client = self.client.clone();
6161 let body = body.cloned();
6162 self.rate_limiter.execute(None, true, move || {
6163 let client = client.clone();
6164 let no = no.clone();
6165 let body = body.clone();
6166 async move { client.sales_get_customertypes_v2(no, body.as_ref()).await }
6167 }).await
6168 }
6169
6170 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>> {
6175 let client = self.client.clone();
6176 let body = body.cloned();
6177 self.rate_limiter.execute(None, true, move || {
6178 let client = client.clone();
6179 let last_modified_end = last_modified_end.clone();
6180 let last_modified_start = last_modified_start.clone();
6181 let license_number = license_number.clone();
6182 let sales_date_end = sales_date_end.clone();
6183 let sales_date_start = sales_date_start.clone();
6184 let body = body.clone();
6185 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 }
6186 }).await
6187 }
6188
6189 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>> {
6197 let client = self.client.clone();
6198 let body = body.cloned();
6199 self.rate_limiter.execute(None, true, move || {
6200 let client = client.clone();
6201 let last_modified_end = last_modified_end.clone();
6202 let last_modified_start = last_modified_start.clone();
6203 let license_number = license_number.clone();
6204 let page_number = page_number.clone();
6205 let page_size = page_size.clone();
6206 let sales_date_end = sales_date_end.clone();
6207 let sales_date_start = sales_date_start.clone();
6208 let body = body.clone();
6209 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 }
6210 }).await
6211 }
6212
6213 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>> {
6218 let client = self.client.clone();
6219 let body = body.cloned();
6220 self.rate_limiter.execute(None, true, move || {
6221 let client = client.clone();
6222 let last_modified_end = last_modified_end.clone();
6223 let last_modified_start = last_modified_start.clone();
6224 let license_number = license_number.clone();
6225 let sales_date_end = sales_date_end.clone();
6226 let sales_date_start = sales_date_start.clone();
6227 let body = body.clone();
6228 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 }
6229 }).await
6230 }
6231
6232 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>> {
6240 let client = self.client.clone();
6241 let body = body.cloned();
6242 self.rate_limiter.execute(None, true, move || {
6243 let client = client.clone();
6244 let last_modified_end = last_modified_end.clone();
6245 let last_modified_start = last_modified_start.clone();
6246 let license_number = license_number.clone();
6247 let page_number = page_number.clone();
6248 let page_size = page_size.clone();
6249 let sales_date_end = sales_date_end.clone();
6250 let sales_date_start = sales_date_start.clone();
6251 let body = body.clone();
6252 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 }
6253 }).await
6254 }
6255
6256 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>> {
6261 let client = self.client.clone();
6262 let body = body.cloned();
6263 self.rate_limiter.execute(None, true, move || {
6264 let client = client.clone();
6265 let last_modified_end = last_modified_end.clone();
6266 let last_modified_start = last_modified_start.clone();
6267 let license_number = license_number.clone();
6268 let body = body.clone();
6269 async move { client.sales_get_deliveries_retailer_active_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
6270 }).await
6271 }
6272
6273 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>> {
6281 let client = self.client.clone();
6282 let body = body.cloned();
6283 self.rate_limiter.execute(None, true, move || {
6284 let client = client.clone();
6285 let last_modified_end = last_modified_end.clone();
6286 let last_modified_start = last_modified_start.clone();
6287 let license_number = license_number.clone();
6288 let page_number = page_number.clone();
6289 let page_size = page_size.clone();
6290 let body = body.clone();
6291 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 }
6292 }).await
6293 }
6294
6295 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>> {
6300 let client = self.client.clone();
6301 let body = body.cloned();
6302 self.rate_limiter.execute(None, true, move || {
6303 let client = client.clone();
6304 let last_modified_end = last_modified_end.clone();
6305 let last_modified_start = last_modified_start.clone();
6306 let license_number = license_number.clone();
6307 let body = body.clone();
6308 async move { client.sales_get_deliveries_retailer_inactive_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
6309 }).await
6310 }
6311
6312 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>> {
6320 let client = self.client.clone();
6321 let body = body.cloned();
6322 self.rate_limiter.execute(None, true, move || {
6323 let client = client.clone();
6324 let last_modified_end = last_modified_end.clone();
6325 let last_modified_start = last_modified_start.clone();
6326 let license_number = license_number.clone();
6327 let page_number = page_number.clone();
6328 let page_size = page_size.clone();
6329 let body = body.clone();
6330 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 }
6331 }).await
6332 }
6333
6334 pub async fn sales_get_deliveries_returnreasons_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6339 let client = self.client.clone();
6340 let body = body.cloned();
6341 self.rate_limiter.execute(None, true, move || {
6342 let client = client.clone();
6343 let license_number = license_number.clone();
6344 let body = body.clone();
6345 async move { client.sales_get_deliveries_returnreasons_v1(license_number, body.as_ref()).await }
6346 }).await
6347 }
6348
6349 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>> {
6356 let client = self.client.clone();
6357 let body = body.cloned();
6358 self.rate_limiter.execute(None, true, move || {
6359 let client = client.clone();
6360 let license_number = license_number.clone();
6361 let page_number = page_number.clone();
6362 let page_size = page_size.clone();
6363 let body = body.clone();
6364 async move { client.sales_get_deliveries_returnreasons_v2(license_number, page_number, page_size, body.as_ref()).await }
6365 }).await
6366 }
6367
6368 pub async fn sales_get_delivery_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6373 let id = id.to_string();
6374 let client = self.client.clone();
6375 let body = body.cloned();
6376 self.rate_limiter.execute(None, true, move || {
6377 let client = client.clone();
6378 let id = id.clone();
6379 let license_number = license_number.clone();
6380 let body = body.clone();
6381 async move { client.sales_get_delivery_v1(&id, license_number, body.as_ref()).await }
6382 }).await
6383 }
6384
6385 pub async fn sales_get_delivery_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6393 let id = id.to_string();
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 id = id.clone();
6399 let license_number = license_number.clone();
6400 let body = body.clone();
6401 async move { client.sales_get_delivery_v2(&id, license_number, body.as_ref()).await }
6402 }).await
6403 }
6404
6405 pub async fn sales_get_delivery_retailer_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6410 let id = id.to_string();
6411 let client = self.client.clone();
6412 let body = body.cloned();
6413 self.rate_limiter.execute(None, true, move || {
6414 let client = client.clone();
6415 let id = id.clone();
6416 let license_number = license_number.clone();
6417 let body = body.clone();
6418 async move { client.sales_get_delivery_retailer_v1(&id, license_number, body.as_ref()).await }
6419 }).await
6420 }
6421
6422 pub async fn sales_get_delivery_retailer_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6430 let id = id.to_string();
6431 let client = self.client.clone();
6432 let body = body.cloned();
6433 self.rate_limiter.execute(None, true, move || {
6434 let client = client.clone();
6435 let id = id.clone();
6436 let license_number = license_number.clone();
6437 let body = body.clone();
6438 async move { client.sales_get_delivery_retailer_v2(&id, license_number, body.as_ref()).await }
6439 }).await
6440 }
6441
6442 pub async fn sales_get_patient_registrations_locations_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6447 let client = self.client.clone();
6448 let body = body.cloned();
6449 self.rate_limiter.execute(None, true, move || {
6450 let client = client.clone();
6451 let no = no.clone();
6452 let body = body.clone();
6453 async move { client.sales_get_patient_registrations_locations_v1(no, body.as_ref()).await }
6454 }).await
6455 }
6456
6457 pub async fn sales_get_patient_registrations_locations_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6464 let client = self.client.clone();
6465 let body = body.cloned();
6466 self.rate_limiter.execute(None, true, move || {
6467 let client = client.clone();
6468 let no = no.clone();
6469 let body = body.clone();
6470 async move { client.sales_get_patient_registrations_locations_v2(no, body.as_ref()).await }
6471 }).await
6472 }
6473
6474 pub async fn sales_get_paymenttypes_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6479 let client = self.client.clone();
6480 let body = body.cloned();
6481 self.rate_limiter.execute(None, true, move || {
6482 let client = client.clone();
6483 let license_number = license_number.clone();
6484 let body = body.clone();
6485 async move { client.sales_get_paymenttypes_v1(license_number, body.as_ref()).await }
6486 }).await
6487 }
6488
6489 pub async fn sales_get_paymenttypes_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6497 let client = self.client.clone();
6498 let body = body.cloned();
6499 self.rate_limiter.execute(None, true, move || {
6500 let client = client.clone();
6501 let license_number = license_number.clone();
6502 let body = body.clone();
6503 async move { client.sales_get_paymenttypes_v2(license_number, body.as_ref()).await }
6504 }).await
6505 }
6506
6507 pub async fn sales_get_receipt_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6512 let id = id.to_string();
6513 let client = self.client.clone();
6514 let body = body.cloned();
6515 self.rate_limiter.execute(None, true, move || {
6516 let client = client.clone();
6517 let id = id.clone();
6518 let license_number = license_number.clone();
6519 let body = body.clone();
6520 async move { client.sales_get_receipt_v1(&id, license_number, body.as_ref()).await }
6521 }).await
6522 }
6523
6524 pub async fn sales_get_receipt_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6532 let id = id.to_string();
6533 let client = self.client.clone();
6534 let body = body.cloned();
6535 self.rate_limiter.execute(None, true, move || {
6536 let client = client.clone();
6537 let id = id.clone();
6538 let license_number = license_number.clone();
6539 let body = body.clone();
6540 async move { client.sales_get_receipt_v2(&id, license_number, body.as_ref()).await }
6541 }).await
6542 }
6543
6544 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>> {
6549 let client = self.client.clone();
6550 let body = body.cloned();
6551 self.rate_limiter.execute(None, true, move || {
6552 let client = client.clone();
6553 let last_modified_end = last_modified_end.clone();
6554 let last_modified_start = last_modified_start.clone();
6555 let license_number = license_number.clone();
6556 let sales_date_end = sales_date_end.clone();
6557 let sales_date_start = sales_date_start.clone();
6558 let body = body.clone();
6559 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 }
6560 }).await
6561 }
6562
6563 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>> {
6571 let client = self.client.clone();
6572 let body = body.cloned();
6573 self.rate_limiter.execute(None, true, move || {
6574 let client = client.clone();
6575 let last_modified_end = last_modified_end.clone();
6576 let last_modified_start = last_modified_start.clone();
6577 let license_number = license_number.clone();
6578 let page_number = page_number.clone();
6579 let page_size = page_size.clone();
6580 let sales_date_end = sales_date_end.clone();
6581 let sales_date_start = sales_date_start.clone();
6582 let body = body.clone();
6583 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 }
6584 }).await
6585 }
6586
6587 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>> {
6595 let external_number = external_number.to_string();
6596 let client = self.client.clone();
6597 let body = body.cloned();
6598 self.rate_limiter.execute(None, true, move || {
6599 let client = client.clone();
6600 let external_number = external_number.clone();
6601 let license_number = license_number.clone();
6602 let body = body.clone();
6603 async move { client.sales_get_receipts_external_by_external_number_v2(&external_number, license_number, body.as_ref()).await }
6604 }).await
6605 }
6606
6607 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>> {
6612 let client = self.client.clone();
6613 let body = body.cloned();
6614 self.rate_limiter.execute(None, true, move || {
6615 let client = client.clone();
6616 let last_modified_end = last_modified_end.clone();
6617 let last_modified_start = last_modified_start.clone();
6618 let license_number = license_number.clone();
6619 let sales_date_end = sales_date_end.clone();
6620 let sales_date_start = sales_date_start.clone();
6621 let body = body.clone();
6622 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 }
6623 }).await
6624 }
6625
6626 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>> {
6634 let client = self.client.clone();
6635 let body = body.cloned();
6636 self.rate_limiter.execute(None, true, move || {
6637 let client = client.clone();
6638 let last_modified_end = last_modified_end.clone();
6639 let last_modified_start = last_modified_start.clone();
6640 let license_number = license_number.clone();
6641 let page_number = page_number.clone();
6642 let page_size = page_size.clone();
6643 let sales_date_end = sales_date_end.clone();
6644 let sales_date_start = sales_date_start.clone();
6645 let body = body.clone();
6646 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 }
6647 }).await
6648 }
6649
6650 pub async fn sales_get_transactions_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
6655 let client = self.client.clone();
6656 let body = body.cloned();
6657 self.rate_limiter.execute(None, true, move || {
6658 let client = client.clone();
6659 let license_number = license_number.clone();
6660 let body = body.clone();
6661 async move { client.sales_get_transactions_v1(license_number, body.as_ref()).await }
6662 }).await
6663 }
6664
6665 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>> {
6670 let sales_date_start = sales_date_start.to_string();
6671 let sales_date_end = sales_date_end.to_string();
6672 let client = self.client.clone();
6673 let body = body.cloned();
6674 self.rate_limiter.execute(None, true, move || {
6675 let client = client.clone();
6676 let sales_date_start = sales_date_start.clone();
6677 let sales_date_end = sales_date_end.clone();
6678 let license_number = license_number.clone();
6679 let body = body.clone();
6680 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 }
6681 }).await
6682 }
6683
6684 pub async fn sales_update_delivery_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6691 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6692 let client = self.client.clone();
6693 let body_val = body_val.clone();
6694 self.rate_limiter.execute(None, false, move || {
6695 let client = client.clone();
6696 let license_number = license_number.clone();
6697 let body_val = body_val.clone();
6698 async move { client.sales_update_delivery_v1(license_number, body_val.as_ref()).await }
6699 }).await
6700 }
6701
6702 pub async fn sales_update_delivery_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6709 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6710 let client = self.client.clone();
6711 let body_val = body_val.clone();
6712 self.rate_limiter.execute(None, false, move || {
6713 let client = client.clone();
6714 let license_number = license_number.clone();
6715 let body_val = body_val.clone();
6716 async move { client.sales_update_delivery_v2(license_number, body_val.as_ref()).await }
6717 }).await
6718 }
6719
6720 pub async fn sales_update_delivery_complete_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryCompleteV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6725 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6726 let client = self.client.clone();
6727 let body_val = body_val.clone();
6728 self.rate_limiter.execute(None, false, move || {
6729 let client = client.clone();
6730 let license_number = license_number.clone();
6731 let body_val = body_val.clone();
6732 async move { client.sales_update_delivery_complete_v1(license_number, body_val.as_ref()).await }
6733 }).await
6734 }
6735
6736 pub async fn sales_update_delivery_complete_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryCompleteV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6743 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6744 let client = self.client.clone();
6745 let body_val = body_val.clone();
6746 self.rate_limiter.execute(None, false, move || {
6747 let client = client.clone();
6748 let license_number = license_number.clone();
6749 let body_val = body_val.clone();
6750 async move { client.sales_update_delivery_complete_v2(license_number, body_val.as_ref()).await }
6751 }).await
6752 }
6753
6754 pub async fn sales_update_delivery_hub_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6761 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6762 let client = self.client.clone();
6763 let body_val = body_val.clone();
6764 self.rate_limiter.execute(None, false, move || {
6765 let client = client.clone();
6766 let license_number = license_number.clone();
6767 let body_val = body_val.clone();
6768 async move { client.sales_update_delivery_hub_v1(license_number, body_val.as_ref()).await }
6769 }).await
6770 }
6771
6772 pub async fn sales_update_delivery_hub_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6779 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6780 let client = self.client.clone();
6781 let body_val = body_val.clone();
6782 self.rate_limiter.execute(None, false, move || {
6783 let client = client.clone();
6784 let license_number = license_number.clone();
6785 let body_val = body_val.clone();
6786 async move { client.sales_update_delivery_hub_v2(license_number, body_val.as_ref()).await }
6787 }).await
6788 }
6789
6790 pub async fn sales_update_delivery_hub_accept_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubAcceptV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6795 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6796 let client = self.client.clone();
6797 let body_val = body_val.clone();
6798 self.rate_limiter.execute(None, false, move || {
6799 let client = client.clone();
6800 let license_number = license_number.clone();
6801 let body_val = body_val.clone();
6802 async move { client.sales_update_delivery_hub_accept_v1(license_number, body_val.as_ref()).await }
6803 }).await
6804 }
6805
6806 pub async fn sales_update_delivery_hub_accept_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubAcceptV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6813 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6814 let client = self.client.clone();
6815 let body_val = body_val.clone();
6816 self.rate_limiter.execute(None, false, move || {
6817 let client = client.clone();
6818 let license_number = license_number.clone();
6819 let body_val = body_val.clone();
6820 async move { client.sales_update_delivery_hub_accept_v2(license_number, body_val.as_ref()).await }
6821 }).await
6822 }
6823
6824 pub async fn sales_update_delivery_hub_depart_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubDepartV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6829 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6830 let client = self.client.clone();
6831 let body_val = body_val.clone();
6832 self.rate_limiter.execute(None, false, move || {
6833 let client = client.clone();
6834 let license_number = license_number.clone();
6835 let body_val = body_val.clone();
6836 async move { client.sales_update_delivery_hub_depart_v1(license_number, body_val.as_ref()).await }
6837 }).await
6838 }
6839
6840 pub async fn sales_update_delivery_hub_depart_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryHubDepartV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6847 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6848 let client = self.client.clone();
6849 let body_val = body_val.clone();
6850 self.rate_limiter.execute(None, false, move || {
6851 let client = client.clone();
6852 let license_number = license_number.clone();
6853 let body_val = body_val.clone();
6854 async move { client.sales_update_delivery_hub_depart_v2(license_number, body_val.as_ref()).await }
6855 }).await
6856 }
6857
6858 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>> {
6863 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6864 let client = self.client.clone();
6865 let body_val = body_val.clone();
6866 self.rate_limiter.execute(None, false, move || {
6867 let client = client.clone();
6868 let license_number = license_number.clone();
6869 let body_val = body_val.clone();
6870 async move { client.sales_update_delivery_hub_verify_id_v1(license_number, body_val.as_ref()).await }
6871 }).await
6872 }
6873
6874 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>> {
6881 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6882 let client = self.client.clone();
6883 let body_val = body_val.clone();
6884 self.rate_limiter.execute(None, false, move || {
6885 let client = client.clone();
6886 let license_number = license_number.clone();
6887 let body_val = body_val.clone();
6888 async move { client.sales_update_delivery_hub_verify_id_v2(license_number, body_val.as_ref()).await }
6889 }).await
6890 }
6891
6892 pub async fn sales_update_delivery_retailer_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryRetailerV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6899 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6900 let client = self.client.clone();
6901 let body_val = body_val.clone();
6902 self.rate_limiter.execute(None, false, move || {
6903 let client = client.clone();
6904 let license_number = license_number.clone();
6905 let body_val = body_val.clone();
6906 async move { client.sales_update_delivery_retailer_v1(license_number, body_val.as_ref()).await }
6907 }).await
6908 }
6909
6910 pub async fn sales_update_delivery_retailer_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateDeliveryRetailerV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6923 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6924 let client = self.client.clone();
6925 let body_val = body_val.clone();
6926 self.rate_limiter.execute(None, false, move || {
6927 let client = client.clone();
6928 let license_number = license_number.clone();
6929 let body_val = body_val.clone();
6930 async move { client.sales_update_delivery_retailer_v2(license_number, body_val.as_ref()).await }
6931 }).await
6932 }
6933
6934 pub async fn sales_update_receipt_v1(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateReceiptV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6941 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6942 let client = self.client.clone();
6943 let body_val = body_val.clone();
6944 self.rate_limiter.execute(None, false, move || {
6945 let client = client.clone();
6946 let license_number = license_number.clone();
6947 let body_val = body_val.clone();
6948 async move { client.sales_update_receipt_v1(license_number, body_val.as_ref()).await }
6949 }).await
6950 }
6951
6952 pub async fn sales_update_receipt_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateReceiptV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6959 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6960 let client = self.client.clone();
6961 let body_val = body_val.clone();
6962 self.rate_limiter.execute(None, false, move || {
6963 let client = client.clone();
6964 let license_number = license_number.clone();
6965 let body_val = body_val.clone();
6966 async move { client.sales_update_receipt_v2(license_number, body_val.as_ref()).await }
6967 }).await
6968 }
6969
6970 pub async fn sales_update_receipt_finalize_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateReceiptFinalizeV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6977 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6978 let client = self.client.clone();
6979 let body_val = body_val.clone();
6980 self.rate_limiter.execute(None, false, move || {
6981 let client = client.clone();
6982 let license_number = license_number.clone();
6983 let body_val = body_val.clone();
6984 async move { client.sales_update_receipt_finalize_v2(license_number, body_val.as_ref()).await }
6985 }).await
6986 }
6987
6988 pub async fn sales_update_receipt_unfinalize_v2(&self, license_number: Option<String>, body: Option<&Vec<SalesUpdateReceiptUnfinalizeV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
6995 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
6996 let client = self.client.clone();
6997 let body_val = body_val.clone();
6998 self.rate_limiter.execute(None, false, move || {
6999 let client = client.clone();
7000 let license_number = license_number.clone();
7001 let body_val = body_val.clone();
7002 async move { client.sales_update_receipt_unfinalize_v2(license_number, body_val.as_ref()).await }
7003 }).await
7004 }
7005
7006 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>> {
7011 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7012 let date = date.to_string();
7013 let client = self.client.clone();
7014 let body_val = body_val.clone();
7015 self.rate_limiter.execute(None, false, move || {
7016 let client = client.clone();
7017 let date = date.clone();
7018 let license_number = license_number.clone();
7019 let body_val = body_val.clone();
7020 async move { client.sales_update_transaction_by_date_v1(&date, license_number, body_val.as_ref()).await }
7021 }).await
7022 }
7023
7024 pub async fn strains_create_v1(&self, license_number: Option<String>, body: Option<&Vec<StrainsCreateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7029 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7030 let client = self.client.clone();
7031 let body_val = body_val.clone();
7032 self.rate_limiter.execute(None, false, move || {
7033 let client = client.clone();
7034 let license_number = license_number.clone();
7035 let body_val = body_val.clone();
7036 async move { client.strains_create_v1(license_number, body_val.as_ref()).await }
7037 }).await
7038 }
7039
7040 pub async fn strains_create_v2(&self, license_number: Option<String>, body: Option<&Vec<StrainsCreateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7047 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7048 let client = self.client.clone();
7049 let body_val = body_val.clone();
7050 self.rate_limiter.execute(None, false, move || {
7051 let client = client.clone();
7052 let license_number = license_number.clone();
7053 let body_val = body_val.clone();
7054 async move { client.strains_create_v2(license_number, body_val.as_ref()).await }
7055 }).await
7056 }
7057
7058 pub async fn strains_create_update_v1(&self, license_number: Option<String>, body: Option<&Vec<StrainsCreateUpdateV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7063 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7064 let client = self.client.clone();
7065 let body_val = body_val.clone();
7066 self.rate_limiter.execute(None, false, move || {
7067 let client = client.clone();
7068 let license_number = license_number.clone();
7069 let body_val = body_val.clone();
7070 async move { client.strains_create_update_v1(license_number, body_val.as_ref()).await }
7071 }).await
7072 }
7073
7074 pub async fn strains_delete_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7079 let id = id.to_string();
7080 let client = self.client.clone();
7081 let body = body.cloned();
7082 self.rate_limiter.execute(None, false, move || {
7083 let client = client.clone();
7084 let id = id.clone();
7085 let license_number = license_number.clone();
7086 let body = body.clone();
7087 async move { client.strains_delete_v1(&id, license_number, body.as_ref()).await }
7088 }).await
7089 }
7090
7091 pub async fn strains_delete_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7098 let id = id.to_string();
7099 let client = self.client.clone();
7100 let body = body.cloned();
7101 self.rate_limiter.execute(None, false, move || {
7102 let client = client.clone();
7103 let id = id.clone();
7104 let license_number = license_number.clone();
7105 let body = body.clone();
7106 async move { client.strains_delete_v2(&id, license_number, body.as_ref()).await }
7107 }).await
7108 }
7109
7110 pub async fn strains_get_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7115 let id = id.to_string();
7116 let client = self.client.clone();
7117 let body = body.cloned();
7118 self.rate_limiter.execute(None, true, move || {
7119 let client = client.clone();
7120 let id = id.clone();
7121 let license_number = license_number.clone();
7122 let body = body.clone();
7123 async move { client.strains_get_v1(&id, license_number, body.as_ref()).await }
7124 }).await
7125 }
7126
7127 pub async fn strains_get_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7134 let id = id.to_string();
7135 let client = self.client.clone();
7136 let body = body.cloned();
7137 self.rate_limiter.execute(None, true, move || {
7138 let client = client.clone();
7139 let id = id.clone();
7140 let license_number = license_number.clone();
7141 let body = body.clone();
7142 async move { client.strains_get_v2(&id, license_number, body.as_ref()).await }
7143 }).await
7144 }
7145
7146 pub async fn strains_get_active_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7151 let client = self.client.clone();
7152 let body = body.cloned();
7153 self.rate_limiter.execute(None, true, move || {
7154 let client = client.clone();
7155 let license_number = license_number.clone();
7156 let body = body.clone();
7157 async move { client.strains_get_active_v1(license_number, body.as_ref()).await }
7158 }).await
7159 }
7160
7161 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>> {
7168 let client = self.client.clone();
7169 let body = body.cloned();
7170 self.rate_limiter.execute(None, true, move || {
7171 let client = client.clone();
7172 let last_modified_end = last_modified_end.clone();
7173 let last_modified_start = last_modified_start.clone();
7174 let license_number = license_number.clone();
7175 let page_number = page_number.clone();
7176 let page_size = page_size.clone();
7177 let body = body.clone();
7178 async move { client.strains_get_active_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
7179 }).await
7180 }
7181
7182 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>> {
7189 let client = self.client.clone();
7190 let body = body.cloned();
7191 self.rate_limiter.execute(None, true, move || {
7192 let client = client.clone();
7193 let license_number = license_number.clone();
7194 let page_number = page_number.clone();
7195 let page_size = page_size.clone();
7196 let body = body.clone();
7197 async move { client.strains_get_inactive_v2(license_number, page_number, page_size, body.as_ref()).await }
7198 }).await
7199 }
7200
7201 pub async fn strains_update_v2(&self, license_number: Option<String>, body: Option<&Vec<StrainsUpdateV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7208 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7209 let client = self.client.clone();
7210 let body_val = body_val.clone();
7211 self.rate_limiter.execute(None, false, move || {
7212 let client = client.clone();
7213 let license_number = license_number.clone();
7214 let body_val = body_val.clone();
7215 async move { client.strains_update_v2(license_number, body_val.as_ref()).await }
7216 }).await
7217 }
7218
7219 pub async fn tags_get_package_available_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7226 let client = self.client.clone();
7227 let body = body.cloned();
7228 self.rate_limiter.execute(None, true, move || {
7229 let client = client.clone();
7230 let license_number = license_number.clone();
7231 let body = body.clone();
7232 async move { client.tags_get_package_available_v2(license_number, body.as_ref()).await }
7233 }).await
7234 }
7235
7236 pub async fn tags_get_plant_available_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7243 let client = self.client.clone();
7244 let body = body.cloned();
7245 self.rate_limiter.execute(None, true, move || {
7246 let client = client.clone();
7247 let license_number = license_number.clone();
7248 let body = body.clone();
7249 async move { client.tags_get_plant_available_v2(license_number, body.as_ref()).await }
7250 }).await
7251 }
7252
7253 pub async fn tags_get_staged_v2(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7261 let client = self.client.clone();
7262 let body = body.cloned();
7263 self.rate_limiter.execute(None, true, move || {
7264 let client = client.clone();
7265 let license_number = license_number.clone();
7266 let body = body.clone();
7267 async move { client.tags_get_staged_v2(license_number, body.as_ref()).await }
7268 }).await
7269 }
7270
7271 pub async fn transfers_create_external_incoming_v1(&self, license_number: Option<String>, body: Option<&Vec<TransfersCreateExternalIncomingV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7276 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7277 let client = self.client.clone();
7278 let body_val = body_val.clone();
7279 self.rate_limiter.execute(None, false, move || {
7280 let client = client.clone();
7281 let license_number = license_number.clone();
7282 let body_val = body_val.clone();
7283 async move { client.transfers_create_external_incoming_v1(license_number, body_val.as_ref()).await }
7284 }).await
7285 }
7286
7287 pub async fn transfers_create_external_incoming_v2(&self, license_number: Option<String>, body: Option<&Vec<TransfersCreateExternalIncomingV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7294 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7295 let client = self.client.clone();
7296 let body_val = body_val.clone();
7297 self.rate_limiter.execute(None, false, move || {
7298 let client = client.clone();
7299 let license_number = license_number.clone();
7300 let body_val = body_val.clone();
7301 async move { client.transfers_create_external_incoming_v2(license_number, body_val.as_ref()).await }
7302 }).await
7303 }
7304
7305 pub async fn transfers_create_templates_v1(&self, license_number: Option<String>, body: Option<&Vec<TransfersCreateTemplatesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7310 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7311 let client = self.client.clone();
7312 let body_val = body_val.clone();
7313 self.rate_limiter.execute(None, false, move || {
7314 let client = client.clone();
7315 let license_number = license_number.clone();
7316 let body_val = body_val.clone();
7317 async move { client.transfers_create_templates_v1(license_number, body_val.as_ref()).await }
7318 }).await
7319 }
7320
7321 pub async fn transfers_create_templates_outgoing_v2(&self, license_number: Option<String>, body: Option<&Vec<TransfersCreateTemplatesOutgoingV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
7328 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
7329 let client = self.client.clone();
7330 let body_val = body_val.clone();
7331 self.rate_limiter.execute(None, false, move || {
7332 let client = client.clone();
7333 let license_number = license_number.clone();
7334 let body_val = body_val.clone();
7335 async move { client.transfers_create_templates_outgoing_v2(license_number, body_val.as_ref()).await }
7336 }).await
7337 }
7338
7339 pub async fn transfers_delete_external_incoming_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7344 let id = id.to_string();
7345 let client = self.client.clone();
7346 let body = body.cloned();
7347 self.rate_limiter.execute(None, false, move || {
7348 let client = client.clone();
7349 let id = id.clone();
7350 let license_number = license_number.clone();
7351 let body = body.clone();
7352 async move { client.transfers_delete_external_incoming_v1(&id, license_number, body.as_ref()).await }
7353 }).await
7354 }
7355
7356 pub async fn transfers_delete_external_incoming_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7363 let id = id.to_string();
7364 let client = self.client.clone();
7365 let body = body.cloned();
7366 self.rate_limiter.execute(None, false, move || {
7367 let client = client.clone();
7368 let id = id.clone();
7369 let license_number = license_number.clone();
7370 let body = body.clone();
7371 async move { client.transfers_delete_external_incoming_v2(&id, license_number, body.as_ref()).await }
7372 }).await
7373 }
7374
7375 pub async fn transfers_delete_templates_v1(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7380 let id = id.to_string();
7381 let client = self.client.clone();
7382 let body = body.cloned();
7383 self.rate_limiter.execute(None, false, move || {
7384 let client = client.clone();
7385 let id = id.clone();
7386 let license_number = license_number.clone();
7387 let body = body.clone();
7388 async move { client.transfers_delete_templates_v1(&id, license_number, body.as_ref()).await }
7389 }).await
7390 }
7391
7392 pub async fn transfers_delete_templates_outgoing_v2(&self, id: &str, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7399 let id = id.to_string();
7400 let client = self.client.clone();
7401 let body = body.cloned();
7402 self.rate_limiter.execute(None, false, move || {
7403 let client = client.clone();
7404 let id = id.clone();
7405 let license_number = license_number.clone();
7406 let body = body.clone();
7407 async move { client.transfers_delete_templates_outgoing_v2(&id, license_number, body.as_ref()).await }
7408 }).await
7409 }
7410
7411 pub async fn transfers_get_deliveries_packages_states_v1(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7416 let client = self.client.clone();
7417 let body = body.cloned();
7418 self.rate_limiter.execute(None, true, move || {
7419 let client = client.clone();
7420 let no = no.clone();
7421 let body = body.clone();
7422 async move { client.transfers_get_deliveries_packages_states_v1(no, body.as_ref()).await }
7423 }).await
7424 }
7425
7426 pub async fn transfers_get_deliveries_packages_states_v2(&self, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7433 let client = self.client.clone();
7434 let body = body.cloned();
7435 self.rate_limiter.execute(None, true, move || {
7436 let client = client.clone();
7437 let no = no.clone();
7438 let body = body.clone();
7439 async move { client.transfers_get_deliveries_packages_states_v2(no, body.as_ref()).await }
7440 }).await
7441 }
7442
7443 pub async fn transfers_get_delivery_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7450 let id = id.to_string();
7451 let client = self.client.clone();
7452 let body = body.cloned();
7453 self.rate_limiter.execute(None, true, move || {
7454 let client = client.clone();
7455 let id = id.clone();
7456 let no = no.clone();
7457 let body = body.clone();
7458 async move { client.transfers_get_delivery_v1(&id, no, body.as_ref()).await }
7459 }).await
7460 }
7461
7462 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>> {
7470 let id = id.to_string();
7471 let client = self.client.clone();
7472 let body = body.cloned();
7473 self.rate_limiter.execute(None, true, move || {
7474 let client = client.clone();
7475 let id = id.clone();
7476 let page_number = page_number.clone();
7477 let page_size = page_size.clone();
7478 let body = body.clone();
7479 async move { client.transfers_get_delivery_v2(&id, page_number, page_size, body.as_ref()).await }
7480 }).await
7481 }
7482
7483 pub async fn transfers_get_delivery_package_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7490 let id = id.to_string();
7491 let client = self.client.clone();
7492 let body = body.cloned();
7493 self.rate_limiter.execute(None, true, move || {
7494 let client = client.clone();
7495 let id = id.clone();
7496 let no = no.clone();
7497 let body = body.clone();
7498 async move { client.transfers_get_delivery_package_v1(&id, no, body.as_ref()).await }
7499 }).await
7500 }
7501
7502 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>> {
7510 let id = id.to_string();
7511 let client = self.client.clone();
7512 let body = body.cloned();
7513 self.rate_limiter.execute(None, true, move || {
7514 let client = client.clone();
7515 let id = id.clone();
7516 let page_number = page_number.clone();
7517 let page_size = page_size.clone();
7518 let body = body.clone();
7519 async move { client.transfers_get_delivery_package_v2(&id, page_number, page_size, body.as_ref()).await }
7520 }).await
7521 }
7522
7523 pub async fn transfers_get_delivery_package_requiredlabtestbatches_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7530 let id = id.to_string();
7531 let client = self.client.clone();
7532 let body = body.cloned();
7533 self.rate_limiter.execute(None, true, move || {
7534 let client = client.clone();
7535 let id = id.clone();
7536 let no = no.clone();
7537 let body = body.clone();
7538 async move { client.transfers_get_delivery_package_requiredlabtestbatches_v1(&id, no, body.as_ref()).await }
7539 }).await
7540 }
7541
7542 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>> {
7550 let id = id.to_string();
7551 let client = self.client.clone();
7552 let body = body.cloned();
7553 self.rate_limiter.execute(None, true, move || {
7554 let client = client.clone();
7555 let id = id.clone();
7556 let page_number = page_number.clone();
7557 let page_size = page_size.clone();
7558 let body = body.clone();
7559 async move { client.transfers_get_delivery_package_requiredlabtestbatches_v2(&id, page_number, page_size, body.as_ref()).await }
7560 }).await
7561 }
7562
7563 pub async fn transfers_get_delivery_package_wholesale_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7570 let id = id.to_string();
7571 let client = self.client.clone();
7572 let body = body.cloned();
7573 self.rate_limiter.execute(None, true, move || {
7574 let client = client.clone();
7575 let id = id.clone();
7576 let no = no.clone();
7577 let body = body.clone();
7578 async move { client.transfers_get_delivery_package_wholesale_v1(&id, no, body.as_ref()).await }
7579 }).await
7580 }
7581
7582 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>> {
7590 let id = id.to_string();
7591 let client = self.client.clone();
7592 let body = body.cloned();
7593 self.rate_limiter.execute(None, true, move || {
7594 let client = client.clone();
7595 let id = id.clone();
7596 let page_number = page_number.clone();
7597 let page_size = page_size.clone();
7598 let body = body.clone();
7599 async move { client.transfers_get_delivery_package_wholesale_v2(&id, page_number, page_size, body.as_ref()).await }
7600 }).await
7601 }
7602
7603 pub async fn transfers_get_delivery_transporters_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7610 let id = id.to_string();
7611 let client = self.client.clone();
7612 let body = body.cloned();
7613 self.rate_limiter.execute(None, true, move || {
7614 let client = client.clone();
7615 let id = id.clone();
7616 let no = no.clone();
7617 let body = body.clone();
7618 async move { client.transfers_get_delivery_transporters_v1(&id, no, body.as_ref()).await }
7619 }).await
7620 }
7621
7622 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>> {
7630 let id = id.to_string();
7631 let client = self.client.clone();
7632 let body = body.cloned();
7633 self.rate_limiter.execute(None, true, move || {
7634 let client = client.clone();
7635 let id = id.clone();
7636 let page_number = page_number.clone();
7637 let page_size = page_size.clone();
7638 let body = body.clone();
7639 async move { client.transfers_get_delivery_transporters_v2(&id, page_number, page_size, body.as_ref()).await }
7640 }).await
7641 }
7642
7643 pub async fn transfers_get_delivery_transporters_details_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7650 let id = id.to_string();
7651 let client = self.client.clone();
7652 let body = body.cloned();
7653 self.rate_limiter.execute(None, true, move || {
7654 let client = client.clone();
7655 let id = id.clone();
7656 let no = no.clone();
7657 let body = body.clone();
7658 async move { client.transfers_get_delivery_transporters_details_v1(&id, no, body.as_ref()).await }
7659 }).await
7660 }
7661
7662 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>> {
7670 let id = id.to_string();
7671 let client = self.client.clone();
7672 let body = body.cloned();
7673 self.rate_limiter.execute(None, true, move || {
7674 let client = client.clone();
7675 let id = id.clone();
7676 let page_number = page_number.clone();
7677 let page_size = page_size.clone();
7678 let body = body.clone();
7679 async move { client.transfers_get_delivery_transporters_details_v2(&id, page_number, page_size, body.as_ref()).await }
7680 }).await
7681 }
7682
7683 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>> {
7691 let client = self.client.clone();
7692 let body = body.cloned();
7693 self.rate_limiter.execute(None, true, move || {
7694 let client = client.clone();
7695 let estimated_arrival_end = estimated_arrival_end.clone();
7696 let estimated_arrival_start = estimated_arrival_start.clone();
7697 let last_modified_end = last_modified_end.clone();
7698 let last_modified_start = last_modified_start.clone();
7699 let license_number = license_number.clone();
7700 let page_number = page_number.clone();
7701 let page_size = page_size.clone();
7702 let body = body.clone();
7703 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 }
7704 }).await
7705 }
7706
7707 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>> {
7712 let client = self.client.clone();
7713 let body = body.cloned();
7714 self.rate_limiter.execute(None, true, move || {
7715 let client = client.clone();
7716 let last_modified_end = last_modified_end.clone();
7717 let last_modified_start = last_modified_start.clone();
7718 let license_number = license_number.clone();
7719 let body = body.clone();
7720 async move { client.transfers_get_incoming_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
7721 }).await
7722 }
7723
7724 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>> {
7732 let client = self.client.clone();
7733 let body = body.cloned();
7734 self.rate_limiter.execute(None, true, move || {
7735 let client = client.clone();
7736 let last_modified_end = last_modified_end.clone();
7737 let last_modified_start = last_modified_start.clone();
7738 let license_number = license_number.clone();
7739 let page_number = page_number.clone();
7740 let page_size = page_size.clone();
7741 let body = body.clone();
7742 async move { client.transfers_get_incoming_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
7743 }).await
7744 }
7745
7746 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>> {
7751 let client = self.client.clone();
7752 let body = body.cloned();
7753 self.rate_limiter.execute(None, true, move || {
7754 let client = client.clone();
7755 let last_modified_end = last_modified_end.clone();
7756 let last_modified_start = last_modified_start.clone();
7757 let license_number = license_number.clone();
7758 let body = body.clone();
7759 async move { client.transfers_get_outgoing_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
7760 }).await
7761 }
7762
7763 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>> {
7771 let client = self.client.clone();
7772 let body = body.cloned();
7773 self.rate_limiter.execute(None, true, move || {
7774 let client = client.clone();
7775 let last_modified_end = last_modified_end.clone();
7776 let last_modified_start = last_modified_start.clone();
7777 let license_number = license_number.clone();
7778 let page_number = page_number.clone();
7779 let page_size = page_size.clone();
7780 let body = body.clone();
7781 async move { client.transfers_get_outgoing_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
7782 }).await
7783 }
7784
7785 pub async fn transfers_get_rejected_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7790 let client = self.client.clone();
7791 let body = body.cloned();
7792 self.rate_limiter.execute(None, true, move || {
7793 let client = client.clone();
7794 let license_number = license_number.clone();
7795 let body = body.clone();
7796 async move { client.transfers_get_rejected_v1(license_number, body.as_ref()).await }
7797 }).await
7798 }
7799
7800 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>> {
7808 let client = self.client.clone();
7809 let body = body.cloned();
7810 self.rate_limiter.execute(None, true, move || {
7811 let client = client.clone();
7812 let license_number = license_number.clone();
7813 let page_number = page_number.clone();
7814 let page_size = page_size.clone();
7815 let body = body.clone();
7816 async move { client.transfers_get_rejected_v2(license_number, page_number, page_size, body.as_ref()).await }
7817 }).await
7818 }
7819
7820 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>> {
7825 let client = self.client.clone();
7826 let body = body.cloned();
7827 self.rate_limiter.execute(None, true, move || {
7828 let client = client.clone();
7829 let last_modified_end = last_modified_end.clone();
7830 let last_modified_start = last_modified_start.clone();
7831 let license_number = license_number.clone();
7832 let body = body.clone();
7833 async move { client.transfers_get_templates_v1(last_modified_end, last_modified_start, license_number, body.as_ref()).await }
7834 }).await
7835 }
7836
7837 pub async fn transfers_get_templates_delivery_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7842 let id = id.to_string();
7843 let client = self.client.clone();
7844 let body = body.cloned();
7845 self.rate_limiter.execute(None, true, move || {
7846 let client = client.clone();
7847 let id = id.clone();
7848 let no = no.clone();
7849 let body = body.clone();
7850 async move { client.transfers_get_templates_delivery_v1(&id, no, body.as_ref()).await }
7851 }).await
7852 }
7853
7854 pub async fn transfers_get_templates_delivery_package_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7861 let id = id.to_string();
7862 let client = self.client.clone();
7863 let body = body.cloned();
7864 self.rate_limiter.execute(None, true, move || {
7865 let client = client.clone();
7866 let id = id.clone();
7867 let no = no.clone();
7868 let body = body.clone();
7869 async move { client.transfers_get_templates_delivery_package_v1(&id, no, body.as_ref()).await }
7870 }).await
7871 }
7872
7873 pub async fn transfers_get_templates_delivery_transporters_v1(&self, id: &str, no: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
7880 let id = id.to_string();
7881 let client = self.client.clone();
7882 let body = body.cloned();
7883 self.rate_limiter.execute(None, true, move || {
7884 let client = client.clone();
7885 let id = id.clone();
7886 let no = no.clone();
7887 let body = body.clone();
7888 async move { client.transfers_get_templates_delivery_transporters_v1(&id, no, body.as_ref()).await }
7889 }).await
7890 }
7891
7892 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>> {
7899 let id = id.to_string();
7900 let client = self.client.clone();
7901 let body = body.cloned();
7902 self.rate_limiter.execute(None, true, move || {
7903 let client = client.clone();
7904 let id = id.clone();
7905 let no = no.clone();
7906 let body = body.clone();
7907 async move { client.transfers_get_templates_delivery_transporters_details_v1(&id, no, body.as_ref()).await }
7908 }).await
7909 }
7910
7911 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>> {
7919 let client = self.client.clone();
7920 let body = body.cloned();
7921 self.rate_limiter.execute(None, true, move || {
7922 let client = client.clone();
7923 let last_modified_end = last_modified_end.clone();
7924 let last_modified_start = last_modified_start.clone();
7925 let license_number = license_number.clone();
7926 let page_number = page_number.clone();
7927 let page_size = page_size.clone();
7928 let body = body.clone();
7929 async move { client.transfers_get_templates_outgoing_v2(last_modified_end, last_modified_start, license_number, page_number, page_size, body.as_ref()).await }
7930 }).await
7931 }
7932
7933 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>> {
7941 let id = id.to_string();
7942 let client = self.client.clone();
7943 let body = body.cloned();
7944 self.rate_limiter.execute(None, true, move || {
7945 let client = client.clone();
7946 let id = id.clone();
7947 let page_number = page_number.clone();
7948 let page_size = page_size.clone();
7949 let body = body.clone();
7950 async move { client.transfers_get_templates_outgoing_delivery_v2(&id, page_number, page_size, body.as_ref()).await }
7951 }).await
7952 }
7953
7954 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>> {
7962 let id = id.to_string();
7963 let client = self.client.clone();
7964 let body = body.cloned();
7965 self.rate_limiter.execute(None, true, move || {
7966 let client = client.clone();
7967 let id = id.clone();
7968 let page_number = page_number.clone();
7969 let page_size = page_size.clone();
7970 let body = body.clone();
7971 async move { client.transfers_get_templates_outgoing_delivery_package_v2(&id, page_number, page_size, body.as_ref()).await }
7972 }).await
7973 }
7974
7975 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>> {
7983 let id = id.to_string();
7984 let client = self.client.clone();
7985 let body = body.cloned();
7986 self.rate_limiter.execute(None, true, move || {
7987 let client = client.clone();
7988 let id = id.clone();
7989 let page_number = page_number.clone();
7990 let page_size = page_size.clone();
7991 let body = body.clone();
7992 async move { client.transfers_get_templates_outgoing_delivery_transporters_v2(&id, page_number, page_size, body.as_ref()).await }
7993 }).await
7994 }
7995
7996 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>> {
8004 let id = id.to_string();
8005 let client = self.client.clone();
8006 let body = body.cloned();
8007 self.rate_limiter.execute(None, true, move || {
8008 let client = client.clone();
8009 let id = id.clone();
8010 let no = no.clone();
8011 let body = body.clone();
8012 async move { client.transfers_get_templates_outgoing_delivery_transporters_details_v2(&id, no, body.as_ref()).await }
8013 }).await
8014 }
8015
8016 pub async fn transfers_get_types_v1(&self, license_number: Option<String>, body: Option<&Value>) -> Result<Option<Value>, Box<dyn Error>> {
8021 let client = self.client.clone();
8022 let body = body.cloned();
8023 self.rate_limiter.execute(None, true, move || {
8024 let client = client.clone();
8025 let license_number = license_number.clone();
8026 let body = body.clone();
8027 async move { client.transfers_get_types_v1(license_number, body.as_ref()).await }
8028 }).await
8029 }
8030
8031 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>> {
8038 let client = self.client.clone();
8039 let body = body.cloned();
8040 self.rate_limiter.execute(None, true, move || {
8041 let client = client.clone();
8042 let license_number = license_number.clone();
8043 let page_number = page_number.clone();
8044 let page_size = page_size.clone();
8045 let body = body.clone();
8046 async move { client.transfers_get_types_v2(license_number, page_number, page_size, body.as_ref()).await }
8047 }).await
8048 }
8049
8050 pub async fn transfers_update_external_incoming_v1(&self, license_number: Option<String>, body: Option<&Vec<TransfersUpdateExternalIncomingV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
8055 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
8056 let client = self.client.clone();
8057 let body_val = body_val.clone();
8058 self.rate_limiter.execute(None, false, move || {
8059 let client = client.clone();
8060 let license_number = license_number.clone();
8061 let body_val = body_val.clone();
8062 async move { client.transfers_update_external_incoming_v1(license_number, body_val.as_ref()).await }
8063 }).await
8064 }
8065
8066 pub async fn transfers_update_external_incoming_v2(&self, license_number: Option<String>, body: Option<&Vec<TransfersUpdateExternalIncomingV2RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
8073 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
8074 let client = self.client.clone();
8075 let body_val = body_val.clone();
8076 self.rate_limiter.execute(None, false, move || {
8077 let client = client.clone();
8078 let license_number = license_number.clone();
8079 let body_val = body_val.clone();
8080 async move { client.transfers_update_external_incoming_v2(license_number, body_val.as_ref()).await }
8081 }).await
8082 }
8083
8084 pub async fn transfers_update_templates_v1(&self, license_number: Option<String>, body: Option<&Vec<TransfersUpdateTemplatesV1RequestItem>>) -> Result<Option<Value>, Box<dyn Error>> {
8089 let body_val = if let Some(b) = body { Some(serde_json::to_value(b)?) } else { None };
8090 let client = self.client.clone();
8091 let body_val = body_val.clone();
8092 self.rate_limiter.execute(None, false, move || {
8093 let client = client.clone();
8094 let license_number = license_number.clone();
8095 let body_val = body_val.clone();
8096 async move { client.transfers_update_templates_v1(license_number, body_val.as_ref()).await }
8097 }).await
8098 }
8099
8100 pub async fn transfers_update_templates_outgoing_v2(&self, license_number: Option<String>, body: Option<&Vec<TransfersUpdateTemplatesOutgoingV2RequestItem>>) -> 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.transfers_update_templates_outgoing_v2(license_number, body_val.as_ref()).await }
8115 }).await
8116 }
8117
8118}
8119
8120#[derive(Serialize, Deserialize, Debug, Clone)]
8121pub struct TransportersCreateDriverV2RequestItem {
8122 #[serde(rename = "DriversLicenseNumber")]
8123 pub drivers_license_number: Option<String>,
8124 #[serde(rename = "EmployeeId")]
8125 pub employee_id: Option<String>,
8126 #[serde(rename = "Name")]
8127 pub name: Option<String>,
8128}
8129
8130#[derive(Serialize, Deserialize, Debug, Clone)]
8131pub struct TransportersCreateVehicleV2RequestItem {
8132 #[serde(rename = "LicensePlateNumber")]
8133 pub license_plate_number: Option<String>,
8134 #[serde(rename = "Make")]
8135 pub make: Option<String>,
8136 #[serde(rename = "Model")]
8137 pub model: Option<String>,
8138}
8139
8140#[derive(Serialize, Deserialize, Debug, Clone)]
8141pub struct TransportersUpdateDriverV2RequestItem {
8142 #[serde(rename = "DriversLicenseNumber")]
8143 pub drivers_license_number: Option<String>,
8144 #[serde(rename = "EmployeeId")]
8145 pub employee_id: Option<String>,
8146 #[serde(rename = "Id")]
8147 pub id: Option<String>,
8148 #[serde(rename = "Name")]
8149 pub name: Option<String>,
8150}
8151
8152#[derive(Serialize, Deserialize, Debug, Clone)]
8153pub struct TransportersUpdateVehicleV2RequestItem {
8154 #[serde(rename = "Id")]
8155 pub id: Option<String>,
8156 #[serde(rename = "LicensePlateNumber")]
8157 pub license_plate_number: Option<String>,
8158 #[serde(rename = "Make")]
8159 pub make: Option<String>,
8160 #[serde(rename = "Model")]
8161 pub model: Option<String>,
8162}
8163
8164#[derive(Serialize, Deserialize, Debug, Clone)]
8165pub struct LocationsCreateV1RequestItem {
8166 #[serde(rename = "LocationTypeName")]
8167 pub location_type_name: Option<String>,
8168 #[serde(rename = "Name")]
8169 pub name: Option<String>,
8170}
8171
8172#[derive(Serialize, Deserialize, Debug, Clone)]
8173pub struct LocationsCreateV2RequestItem {
8174 #[serde(rename = "LocationTypeName")]
8175 pub location_type_name: Option<String>,
8176 #[serde(rename = "Name")]
8177 pub name: Option<String>,
8178}
8179
8180#[derive(Serialize, Deserialize, Debug, Clone)]
8181pub struct LocationsCreateUpdateV1RequestItem {
8182 #[serde(rename = "Id")]
8183 pub id: Option<i64>,
8184 #[serde(rename = "LocationTypeName")]
8185 pub location_type_name: Option<String>,
8186 #[serde(rename = "Name")]
8187 pub name: Option<String>,
8188}
8189
8190#[derive(Serialize, Deserialize, Debug, Clone)]
8191pub struct LocationsUpdateV2RequestItem {
8192 #[serde(rename = "Id")]
8193 pub id: Option<i64>,
8194 #[serde(rename = "LocationTypeName")]
8195 pub location_type_name: Option<String>,
8196 #[serde(rename = "Name")]
8197 pub name: Option<String>,
8198}
8199
8200#[derive(Serialize, Deserialize, Debug, Clone)]
8201pub struct PackagesCreateV1RequestItem {
8202 #[serde(rename = "ActualDate")]
8203 pub actual_date: Option<String>,
8204 #[serde(rename = "ExpirationDate")]
8205 pub expiration_date: Option<String>,
8206 #[serde(rename = "Ingredients")]
8207 pub ingredients: Option<Vec<PackagesCreateV1RequestItemIngredients>>,
8208 #[serde(rename = "IsDonation")]
8209 pub is_donation: Option<bool>,
8210 #[serde(rename = "IsProductionBatch")]
8211 pub is_production_batch: Option<bool>,
8212 #[serde(rename = "IsTradeSample")]
8213 pub is_trade_sample: Option<bool>,
8214 #[serde(rename = "Item")]
8215 pub item: Option<String>,
8216 #[serde(rename = "LabTestStageId")]
8217 pub lab_test_stage_id: Option<i64>,
8218 #[serde(rename = "Location")]
8219 pub location: Option<String>,
8220 #[serde(rename = "Note")]
8221 pub note: Option<String>,
8222 #[serde(rename = "PatientLicenseNumber")]
8223 pub patient_license_number: Option<String>,
8224 #[serde(rename = "ProcessingJobTypeId")]
8225 pub processing_job_type_id: Option<i64>,
8226 #[serde(rename = "ProductRequiresRemediation")]
8227 pub product_requires_remediation: Option<bool>,
8228 #[serde(rename = "ProductionBatchNumber")]
8229 pub production_batch_number: Option<String>,
8230 #[serde(rename = "Quantity")]
8231 pub quantity: Option<i64>,
8232 #[serde(rename = "RequiredLabTestBatches")]
8233 pub required_lab_test_batches: Option<bool>,
8234 #[serde(rename = "SellByDate")]
8235 pub sell_by_date: Option<String>,
8236 #[serde(rename = "Sublocation")]
8237 pub sublocation: Option<String>,
8238 #[serde(rename = "Tag")]
8239 pub tag: Option<String>,
8240 #[serde(rename = "UnitOfMeasure")]
8241 pub unit_of_measure: Option<String>,
8242 #[serde(rename = "UseByDate")]
8243 pub use_by_date: Option<String>,
8244 #[serde(rename = "UseSameItem")]
8245 pub use_same_item: Option<bool>,
8246}
8247
8248#[derive(Serialize, Deserialize, Debug, Clone)]
8249pub struct PackagesCreateV1RequestItemIngredients {
8250 #[serde(rename = "Package")]
8251 pub package: Option<String>,
8252 #[serde(rename = "Quantity")]
8253 pub quantity: Option<i64>,
8254 #[serde(rename = "UnitOfMeasure")]
8255 pub unit_of_measure: Option<String>,
8256}
8257
8258#[derive(Serialize, Deserialize, Debug, Clone)]
8259pub struct PackagesCreateV2RequestItem {
8260 #[serde(rename = "ActualDate")]
8261 pub actual_date: Option<String>,
8262 #[serde(rename = "ExpirationDate")]
8263 pub expiration_date: Option<String>,
8264 #[serde(rename = "Ingredients")]
8265 pub ingredients: Option<Vec<PackagesCreateV2RequestItemIngredients>>,
8266 #[serde(rename = "IsDonation")]
8267 pub is_donation: Option<bool>,
8268 #[serde(rename = "IsProductionBatch")]
8269 pub is_production_batch: Option<bool>,
8270 #[serde(rename = "IsTradeSample")]
8271 pub is_trade_sample: Option<bool>,
8272 #[serde(rename = "Item")]
8273 pub item: Option<String>,
8274 #[serde(rename = "LabTestStageId")]
8275 pub lab_test_stage_id: Option<i64>,
8276 #[serde(rename = "Location")]
8277 pub location: Option<String>,
8278 #[serde(rename = "Note")]
8279 pub note: Option<String>,
8280 #[serde(rename = "PatientLicenseNumber")]
8281 pub patient_license_number: Option<String>,
8282 #[serde(rename = "ProcessingJobTypeId")]
8283 pub processing_job_type_id: Option<i64>,
8284 #[serde(rename = "ProductRequiresRemediation")]
8285 pub product_requires_remediation: Option<bool>,
8286 #[serde(rename = "ProductionBatchNumber")]
8287 pub production_batch_number: Option<String>,
8288 #[serde(rename = "Quantity")]
8289 pub quantity: Option<i64>,
8290 #[serde(rename = "RequiredLabTestBatches")]
8291 pub required_lab_test_batches: Option<bool>,
8292 #[serde(rename = "SellByDate")]
8293 pub sell_by_date: Option<String>,
8294 #[serde(rename = "Sublocation")]
8295 pub sublocation: Option<String>,
8296 #[serde(rename = "Tag")]
8297 pub tag: Option<String>,
8298 #[serde(rename = "UnitOfMeasure")]
8299 pub unit_of_measure: Option<String>,
8300 #[serde(rename = "UseByDate")]
8301 pub use_by_date: Option<String>,
8302 #[serde(rename = "UseSameItem")]
8303 pub use_same_item: Option<bool>,
8304}
8305
8306#[derive(Serialize, Deserialize, Debug, Clone)]
8307pub struct PackagesCreateV2RequestItemIngredients {
8308 #[serde(rename = "Package")]
8309 pub package: Option<String>,
8310 #[serde(rename = "Quantity")]
8311 pub quantity: Option<i64>,
8312 #[serde(rename = "UnitOfMeasure")]
8313 pub unit_of_measure: Option<String>,
8314}
8315
8316#[derive(Serialize, Deserialize, Debug, Clone)]
8317pub struct PackagesCreateAdjustV1RequestItem {
8318 #[serde(rename = "AdjustmentDate")]
8319 pub adjustment_date: Option<String>,
8320 #[serde(rename = "AdjustmentReason")]
8321 pub adjustment_reason: Option<String>,
8322 #[serde(rename = "Label")]
8323 pub label: Option<String>,
8324 #[serde(rename = "Quantity")]
8325 pub quantity: Option<i64>,
8326 #[serde(rename = "ReasonNote")]
8327 pub reason_note: Option<String>,
8328 #[serde(rename = "UnitOfMeasure")]
8329 pub unit_of_measure: Option<String>,
8330}
8331
8332#[derive(Serialize, Deserialize, Debug, Clone)]
8333pub struct PackagesCreateAdjustV2RequestItem {
8334 #[serde(rename = "AdjustmentDate")]
8335 pub adjustment_date: Option<String>,
8336 #[serde(rename = "AdjustmentReason")]
8337 pub adjustment_reason: Option<String>,
8338 #[serde(rename = "Label")]
8339 pub label: Option<String>,
8340 #[serde(rename = "Quantity")]
8341 pub quantity: Option<i64>,
8342 #[serde(rename = "ReasonNote")]
8343 pub reason_note: Option<String>,
8344 #[serde(rename = "UnitOfMeasure")]
8345 pub unit_of_measure: Option<String>,
8346}
8347
8348#[derive(Serialize, Deserialize, Debug, Clone)]
8349pub struct PackagesCreateChangeItemV1RequestItem {
8350 #[serde(rename = "Item")]
8351 pub item: Option<String>,
8352 #[serde(rename = "Label")]
8353 pub label: Option<String>,
8354}
8355
8356#[derive(Serialize, Deserialize, Debug, Clone)]
8357pub struct PackagesCreateChangeLocationV1RequestItem {
8358 #[serde(rename = "Label")]
8359 pub label: Option<String>,
8360 #[serde(rename = "Location")]
8361 pub location: Option<String>,
8362 #[serde(rename = "MoveDate")]
8363 pub move_date: Option<String>,
8364 #[serde(rename = "Sublocation")]
8365 pub sublocation: Option<String>,
8366}
8367
8368#[derive(Serialize, Deserialize, Debug, Clone)]
8369pub struct PackagesCreateFinishV1RequestItem {
8370 #[serde(rename = "ActualDate")]
8371 pub actual_date: Option<String>,
8372 #[serde(rename = "Label")]
8373 pub label: Option<String>,
8374}
8375
8376#[derive(Serialize, Deserialize, Debug, Clone)]
8377pub struct PackagesCreatePlantingsV1RequestItem {
8378 #[serde(rename = "LocationName")]
8379 pub location_name: Option<String>,
8380 #[serde(rename = "PackageAdjustmentAmount")]
8381 pub package_adjustment_amount: Option<i64>,
8382 #[serde(rename = "PackageAdjustmentUnitOfMeasureName")]
8383 pub package_adjustment_unit_of_measure_name: Option<String>,
8384 #[serde(rename = "PackageLabel")]
8385 pub package_label: Option<String>,
8386 #[serde(rename = "PatientLicenseNumber")]
8387 pub patient_license_number: Option<String>,
8388 #[serde(rename = "PlantBatchName")]
8389 pub plant_batch_name: Option<String>,
8390 #[serde(rename = "PlantBatchType")]
8391 pub plant_batch_type: Option<String>,
8392 #[serde(rename = "PlantCount")]
8393 pub plant_count: Option<i64>,
8394 #[serde(rename = "PlantedDate")]
8395 pub planted_date: Option<String>,
8396 #[serde(rename = "StrainName")]
8397 pub strain_name: Option<String>,
8398 #[serde(rename = "SublocationName")]
8399 pub sublocation_name: Option<String>,
8400 #[serde(rename = "UnpackagedDate")]
8401 pub unpackaged_date: Option<String>,
8402}
8403
8404#[derive(Serialize, Deserialize, Debug, Clone)]
8405pub struct PackagesCreatePlantingsV2RequestItem {
8406 #[serde(rename = "LocationName")]
8407 pub location_name: Option<String>,
8408 #[serde(rename = "PackageAdjustmentAmount")]
8409 pub package_adjustment_amount: Option<i64>,
8410 #[serde(rename = "PackageAdjustmentUnitOfMeasureName")]
8411 pub package_adjustment_unit_of_measure_name: Option<String>,
8412 #[serde(rename = "PackageLabel")]
8413 pub package_label: Option<String>,
8414 #[serde(rename = "PatientLicenseNumber")]
8415 pub patient_license_number: Option<String>,
8416 #[serde(rename = "PlantBatchName")]
8417 pub plant_batch_name: Option<String>,
8418 #[serde(rename = "PlantBatchType")]
8419 pub plant_batch_type: Option<String>,
8420 #[serde(rename = "PlantCount")]
8421 pub plant_count: Option<i64>,
8422 #[serde(rename = "PlantedDate")]
8423 pub planted_date: Option<String>,
8424 #[serde(rename = "StrainName")]
8425 pub strain_name: Option<String>,
8426 #[serde(rename = "SublocationName")]
8427 pub sublocation_name: Option<String>,
8428 #[serde(rename = "UnpackagedDate")]
8429 pub unpackaged_date: Option<String>,
8430}
8431
8432#[derive(Serialize, Deserialize, Debug, Clone)]
8433pub struct PackagesCreateRemediateV1RequestItem {
8434 #[serde(rename = "PackageLabel")]
8435 pub package_label: Option<String>,
8436 #[serde(rename = "RemediationDate")]
8437 pub remediation_date: Option<String>,
8438 #[serde(rename = "RemediationMethodName")]
8439 pub remediation_method_name: Option<String>,
8440 #[serde(rename = "RemediationSteps")]
8441 pub remediation_steps: Option<String>,
8442}
8443
8444#[derive(Serialize, Deserialize, Debug, Clone)]
8445pub struct PackagesCreateTestingV1RequestItem {
8446 #[serde(rename = "ActualDate")]
8447 pub actual_date: Option<String>,
8448 #[serde(rename = "ExpirationDate")]
8449 pub expiration_date: Option<String>,
8450 #[serde(rename = "Ingredients")]
8451 pub ingredients: Option<Vec<PackagesCreateTestingV1RequestItemIngredients>>,
8452 #[serde(rename = "IsDonation")]
8453 pub is_donation: Option<bool>,
8454 #[serde(rename = "IsProductionBatch")]
8455 pub is_production_batch: Option<bool>,
8456 #[serde(rename = "IsTradeSample")]
8457 pub is_trade_sample: Option<bool>,
8458 #[serde(rename = "Item")]
8459 pub item: Option<String>,
8460 #[serde(rename = "LabTestStageId")]
8461 pub lab_test_stage_id: Option<i64>,
8462 #[serde(rename = "Location")]
8463 pub location: Option<String>,
8464 #[serde(rename = "Note")]
8465 pub note: Option<String>,
8466 #[serde(rename = "PatientLicenseNumber")]
8467 pub patient_license_number: Option<String>,
8468 #[serde(rename = "ProcessingJobTypeId")]
8469 pub processing_job_type_id: Option<i64>,
8470 #[serde(rename = "ProductRequiresRemediation")]
8471 pub product_requires_remediation: Option<bool>,
8472 #[serde(rename = "ProductionBatchNumber")]
8473 pub production_batch_number: Option<String>,
8474 #[serde(rename = "Quantity")]
8475 pub quantity: Option<i64>,
8476 #[serde(rename = "RequiredLabTestBatches")]
8477 pub required_lab_test_batches: Option<bool>,
8478 #[serde(rename = "SellByDate")]
8479 pub sell_by_date: Option<String>,
8480 #[serde(rename = "Sublocation")]
8481 pub sublocation: Option<String>,
8482 #[serde(rename = "Tag")]
8483 pub tag: Option<String>,
8484 #[serde(rename = "UnitOfMeasure")]
8485 pub unit_of_measure: Option<String>,
8486 #[serde(rename = "UseByDate")]
8487 pub use_by_date: Option<String>,
8488 #[serde(rename = "UseSameItem")]
8489 pub use_same_item: Option<bool>,
8490}
8491
8492#[derive(Serialize, Deserialize, Debug, Clone)]
8493pub struct PackagesCreateTestingV1RequestItemIngredients {
8494 #[serde(rename = "Package")]
8495 pub package: Option<String>,
8496 #[serde(rename = "Quantity")]
8497 pub quantity: Option<i64>,
8498 #[serde(rename = "UnitOfMeasure")]
8499 pub unit_of_measure: Option<String>,
8500}
8501
8502#[derive(Serialize, Deserialize, Debug, Clone)]
8503pub struct PackagesCreateTestingV2RequestItem {
8504 #[serde(rename = "ActualDate")]
8505 pub actual_date: Option<String>,
8506 #[serde(rename = "ExpirationDate")]
8507 pub expiration_date: Option<String>,
8508 #[serde(rename = "Ingredients")]
8509 pub ingredients: Option<Vec<PackagesCreateTestingV2RequestItemIngredients>>,
8510 #[serde(rename = "IsDonation")]
8511 pub is_donation: Option<bool>,
8512 #[serde(rename = "IsProductionBatch")]
8513 pub is_production_batch: Option<bool>,
8514 #[serde(rename = "IsTradeSample")]
8515 pub is_trade_sample: Option<bool>,
8516 #[serde(rename = "Item")]
8517 pub item: Option<String>,
8518 #[serde(rename = "LabTestStageId")]
8519 pub lab_test_stage_id: Option<i64>,
8520 #[serde(rename = "Location")]
8521 pub location: Option<String>,
8522 #[serde(rename = "Note")]
8523 pub note: Option<String>,
8524 #[serde(rename = "PatientLicenseNumber")]
8525 pub patient_license_number: Option<String>,
8526 #[serde(rename = "ProcessingJobTypeId")]
8527 pub processing_job_type_id: Option<i64>,
8528 #[serde(rename = "ProductRequiresRemediation")]
8529 pub product_requires_remediation: Option<bool>,
8530 #[serde(rename = "ProductionBatchNumber")]
8531 pub production_batch_number: Option<String>,
8532 #[serde(rename = "Quantity")]
8533 pub quantity: Option<i64>,
8534 #[serde(rename = "RequiredLabTestBatches")]
8535 pub required_lab_test_batches: Option<Vec<String>>,
8536 #[serde(rename = "SellByDate")]
8537 pub sell_by_date: Option<String>,
8538 #[serde(rename = "Sublocation")]
8539 pub sublocation: Option<String>,
8540 #[serde(rename = "Tag")]
8541 pub tag: Option<String>,
8542 #[serde(rename = "UnitOfMeasure")]
8543 pub unit_of_measure: Option<String>,
8544 #[serde(rename = "UseByDate")]
8545 pub use_by_date: Option<String>,
8546 #[serde(rename = "UseSameItem")]
8547 pub use_same_item: Option<bool>,
8548}
8549
8550#[derive(Serialize, Deserialize, Debug, Clone)]
8551pub struct PackagesCreateTestingV2RequestItemIngredients {
8552 #[serde(rename = "Package")]
8553 pub package: Option<String>,
8554 #[serde(rename = "Quantity")]
8555 pub quantity: Option<i64>,
8556 #[serde(rename = "UnitOfMeasure")]
8557 pub unit_of_measure: Option<String>,
8558}
8559
8560#[derive(Serialize, Deserialize, Debug, Clone)]
8561pub struct PackagesCreateUnfinishV1RequestItem {
8562 #[serde(rename = "Label")]
8563 pub label: Option<String>,
8564}
8565
8566#[derive(Serialize, Deserialize, Debug, Clone)]
8567pub struct PackagesUpdateAdjustV2RequestItem {
8568 #[serde(rename = "AdjustmentDate")]
8569 pub adjustment_date: Option<String>,
8570 #[serde(rename = "AdjustmentReason")]
8571 pub adjustment_reason: Option<String>,
8572 #[serde(rename = "Label")]
8573 pub label: Option<String>,
8574 #[serde(rename = "Quantity")]
8575 pub quantity: Option<i64>,
8576 #[serde(rename = "ReasonNote")]
8577 pub reason_note: Option<String>,
8578 #[serde(rename = "UnitOfMeasure")]
8579 pub unit_of_measure: Option<String>,
8580}
8581
8582#[derive(Serialize, Deserialize, Debug, Clone)]
8583pub struct PackagesUpdateChangeNoteV1RequestItem {
8584 #[serde(rename = "Note")]
8585 pub note: Option<String>,
8586 #[serde(rename = "PackageLabel")]
8587 pub package_label: Option<String>,
8588}
8589
8590#[derive(Serialize, Deserialize, Debug, Clone)]
8591pub struct PackagesUpdateDecontaminateV2RequestItem {
8592 #[serde(rename = "DecontaminationDate")]
8593 pub decontamination_date: Option<String>,
8594 #[serde(rename = "DecontaminationMethodName")]
8595 pub decontamination_method_name: Option<String>,
8596 #[serde(rename = "DecontaminationSteps")]
8597 pub decontamination_steps: Option<String>,
8598 #[serde(rename = "PackageLabel")]
8599 pub package_label: Option<String>,
8600}
8601
8602#[derive(Serialize, Deserialize, Debug, Clone)]
8603pub struct PackagesUpdateDonationFlagV2RequestItem {
8604 #[serde(rename = "Label")]
8605 pub label: Option<String>,
8606}
8607
8608#[derive(Serialize, Deserialize, Debug, Clone)]
8609pub struct PackagesUpdateDonationUnflagV2RequestItem {
8610 #[serde(rename = "Label")]
8611 pub label: Option<String>,
8612}
8613
8614#[derive(Serialize, Deserialize, Debug, Clone)]
8615pub struct PackagesUpdateExternalidV2RequestItem {
8616 #[serde(rename = "ExternalId")]
8617 pub external_id: Option<String>,
8618 #[serde(rename = "PackageLabel")]
8619 pub package_label: Option<String>,
8620}
8621
8622#[derive(Serialize, Deserialize, Debug, Clone)]
8623pub struct PackagesUpdateFinishV2RequestItem {
8624 #[serde(rename = "ActualDate")]
8625 pub actual_date: Option<String>,
8626 #[serde(rename = "Label")]
8627 pub label: Option<String>,
8628}
8629
8630#[derive(Serialize, Deserialize, Debug, Clone)]
8631pub struct PackagesUpdateItemV2RequestItem {
8632 #[serde(rename = "Item")]
8633 pub item: Option<String>,
8634 #[serde(rename = "Label")]
8635 pub label: Option<String>,
8636}
8637
8638#[derive(Serialize, Deserialize, Debug, Clone)]
8639pub struct PackagesUpdateLabTestRequiredV2RequestItem {
8640 #[serde(rename = "Label")]
8641 pub label: Option<String>,
8642 #[serde(rename = "RequiredLabTestBatches")]
8643 pub required_lab_test_batches: Option<Vec<String>>,
8644}
8645
8646#[derive(Serialize, Deserialize, Debug, Clone)]
8647pub struct PackagesUpdateLocationV2RequestItem {
8648 #[serde(rename = "Label")]
8649 pub label: Option<String>,
8650 #[serde(rename = "Location")]
8651 pub location: Option<String>,
8652 #[serde(rename = "MoveDate")]
8653 pub move_date: Option<String>,
8654 #[serde(rename = "Sublocation")]
8655 pub sublocation: Option<String>,
8656}
8657
8658#[derive(Serialize, Deserialize, Debug, Clone)]
8659pub struct PackagesUpdateNoteV2RequestItem {
8660 #[serde(rename = "Note")]
8661 pub note: Option<String>,
8662 #[serde(rename = "PackageLabel")]
8663 pub package_label: Option<String>,
8664}
8665
8666#[derive(Serialize, Deserialize, Debug, Clone)]
8667pub struct PackagesUpdateRemediateV2RequestItem {
8668 #[serde(rename = "PackageLabel")]
8669 pub package_label: Option<String>,
8670 #[serde(rename = "RemediationDate")]
8671 pub remediation_date: Option<String>,
8672 #[serde(rename = "RemediationMethodName")]
8673 pub remediation_method_name: Option<String>,
8674 #[serde(rename = "RemediationSteps")]
8675 pub remediation_steps: Option<String>,
8676}
8677
8678#[derive(Serialize, Deserialize, Debug, Clone)]
8679pub struct PackagesUpdateTradesampleFlagV2RequestItem {
8680 #[serde(rename = "Label")]
8681 pub label: Option<String>,
8682}
8683
8684#[derive(Serialize, Deserialize, Debug, Clone)]
8685pub struct PackagesUpdateTradesampleUnflagV2RequestItem {
8686 #[serde(rename = "Label")]
8687 pub label: Option<String>,
8688}
8689
8690#[derive(Serialize, Deserialize, Debug, Clone)]
8691pub struct PackagesUpdateUnfinishV2RequestItem {
8692 #[serde(rename = "Label")]
8693 pub label: Option<String>,
8694}
8695
8696#[derive(Serialize, Deserialize, Debug, Clone)]
8697pub struct PackagesUpdateUsebydateV2RequestItem {
8698 #[serde(rename = "ExpirationDate")]
8699 pub expiration_date: Option<String>,
8700 #[serde(rename = "Label")]
8701 pub label: Option<String>,
8702 #[serde(rename = "SellByDate")]
8703 pub sell_by_date: Option<String>,
8704 #[serde(rename = "UseByDate")]
8705 pub use_by_date: Option<String>,
8706}
8707
8708#[derive(Serialize, Deserialize, Debug, Clone)]
8709pub struct PlantBatchesCreateAdditivesV1RequestItem {
8710 #[serde(rename = "ActiveIngredients")]
8711 pub active_ingredients: Option<Vec<PlantBatchesCreateAdditivesV1RequestItemActiveIngredients>>,
8712 #[serde(rename = "ActualDate")]
8713 pub actual_date: Option<String>,
8714 #[serde(rename = "AdditiveType")]
8715 pub additive_type: Option<String>,
8716 #[serde(rename = "ApplicationDevice")]
8717 pub application_device: Option<String>,
8718 #[serde(rename = "EpaRegistrationNumber")]
8719 pub epa_registration_number: Option<String>,
8720 #[serde(rename = "PlantBatchName")]
8721 pub plant_batch_name: Option<String>,
8722 #[serde(rename = "ProductSupplier")]
8723 pub product_supplier: Option<String>,
8724 #[serde(rename = "ProductTradeName")]
8725 pub product_trade_name: Option<String>,
8726 #[serde(rename = "TotalAmountApplied")]
8727 pub total_amount_applied: Option<i64>,
8728 #[serde(rename = "TotalAmountUnitOfMeasure")]
8729 pub total_amount_unit_of_measure: Option<String>,
8730}
8731
8732#[derive(Serialize, Deserialize, Debug, Clone)]
8733pub struct PlantBatchesCreateAdditivesV1RequestItemActiveIngredients {
8734 #[serde(rename = "Name")]
8735 pub name: Option<String>,
8736 #[serde(rename = "Percentage")]
8737 pub percentage: Option<f64>,
8738}
8739
8740#[derive(Serialize, Deserialize, Debug, Clone)]
8741pub struct PlantBatchesCreateAdditivesV2RequestItem {
8742 #[serde(rename = "ActiveIngredients")]
8743 pub active_ingredients: Option<Vec<PlantBatchesCreateAdditivesV2RequestItemActiveIngredients>>,
8744 #[serde(rename = "ActualDate")]
8745 pub actual_date: Option<String>,
8746 #[serde(rename = "AdditiveType")]
8747 pub additive_type: Option<String>,
8748 #[serde(rename = "ApplicationDevice")]
8749 pub application_device: Option<String>,
8750 #[serde(rename = "EpaRegistrationNumber")]
8751 pub epa_registration_number: Option<String>,
8752 #[serde(rename = "PlantBatchName")]
8753 pub plant_batch_name: Option<String>,
8754 #[serde(rename = "ProductSupplier")]
8755 pub product_supplier: Option<String>,
8756 #[serde(rename = "ProductTradeName")]
8757 pub product_trade_name: Option<String>,
8758 #[serde(rename = "TotalAmountApplied")]
8759 pub total_amount_applied: Option<i64>,
8760 #[serde(rename = "TotalAmountUnitOfMeasure")]
8761 pub total_amount_unit_of_measure: Option<String>,
8762}
8763
8764#[derive(Serialize, Deserialize, Debug, Clone)]
8765pub struct PlantBatchesCreateAdditivesV2RequestItemActiveIngredients {
8766 #[serde(rename = "Name")]
8767 pub name: Option<String>,
8768 #[serde(rename = "Percentage")]
8769 pub percentage: Option<f64>,
8770}
8771
8772#[derive(Serialize, Deserialize, Debug, Clone)]
8773pub struct PlantBatchesCreateAdditivesUsingtemplateV2RequestItem {
8774 #[serde(rename = "ActualDate")]
8775 pub actual_date: Option<String>,
8776 #[serde(rename = "AdditivesTemplateName")]
8777 pub additives_template_name: Option<String>,
8778 #[serde(rename = "PlantBatchName")]
8779 pub plant_batch_name: Option<String>,
8780 #[serde(rename = "Rate")]
8781 pub rate: Option<String>,
8782 #[serde(rename = "TotalAmountApplied")]
8783 pub total_amount_applied: Option<i64>,
8784 #[serde(rename = "TotalAmountUnitOfMeasure")]
8785 pub total_amount_unit_of_measure: Option<String>,
8786 #[serde(rename = "Volume")]
8787 pub volume: Option<String>,
8788}
8789
8790#[derive(Serialize, Deserialize, Debug, Clone)]
8791pub struct PlantBatchesCreateAdjustV1RequestItem {
8792 #[serde(rename = "AdjustmentDate")]
8793 pub adjustment_date: Option<String>,
8794 #[serde(rename = "AdjustmentReason")]
8795 pub adjustment_reason: Option<String>,
8796 #[serde(rename = "PlantBatchName")]
8797 pub plant_batch_name: Option<String>,
8798 #[serde(rename = "Quantity")]
8799 pub quantity: Option<i64>,
8800 #[serde(rename = "ReasonNote")]
8801 pub reason_note: Option<String>,
8802}
8803
8804#[derive(Serialize, Deserialize, Debug, Clone)]
8805pub struct PlantBatchesCreateAdjustV2RequestItem {
8806 #[serde(rename = "AdjustmentDate")]
8807 pub adjustment_date: Option<String>,
8808 #[serde(rename = "AdjustmentReason")]
8809 pub adjustment_reason: Option<String>,
8810 #[serde(rename = "PlantBatchName")]
8811 pub plant_batch_name: Option<String>,
8812 #[serde(rename = "Quantity")]
8813 pub quantity: Option<i64>,
8814 #[serde(rename = "ReasonNote")]
8815 pub reason_note: Option<String>,
8816}
8817
8818#[derive(Serialize, Deserialize, Debug, Clone)]
8819pub struct PlantBatchesCreateChangegrowthphaseV1RequestItem {
8820 #[serde(rename = "Count")]
8821 pub count: Option<i64>,
8822 #[serde(rename = "CountPerPlant")]
8823 pub count_per_plant: Option<String>,
8824 #[serde(rename = "GrowthDate")]
8825 pub growth_date: Option<String>,
8826 #[serde(rename = "GrowthPhase")]
8827 pub growth_phase: Option<String>,
8828 #[serde(rename = "Name")]
8829 pub name: Option<String>,
8830 #[serde(rename = "NewLocation")]
8831 pub new_location: Option<String>,
8832 #[serde(rename = "NewSublocation")]
8833 pub new_sublocation: Option<String>,
8834 #[serde(rename = "PatientLicenseNumber")]
8835 pub patient_license_number: Option<String>,
8836 #[serde(rename = "StartingTag")]
8837 pub starting_tag: Option<String>,
8838}
8839
8840#[derive(Serialize, Deserialize, Debug, Clone)]
8841pub struct PlantBatchesCreateGrowthphaseV2RequestItem {
8842 #[serde(rename = "Count")]
8843 pub count: Option<i64>,
8844 #[serde(rename = "CountPerPlant")]
8845 pub count_per_plant: Option<String>,
8846 #[serde(rename = "GrowthDate")]
8847 pub growth_date: Option<String>,
8848 #[serde(rename = "GrowthPhase")]
8849 pub growth_phase: Option<String>,
8850 #[serde(rename = "Name")]
8851 pub name: Option<String>,
8852 #[serde(rename = "NewLocation")]
8853 pub new_location: Option<String>,
8854 #[serde(rename = "NewSublocation")]
8855 pub new_sublocation: Option<String>,
8856 #[serde(rename = "PatientLicenseNumber")]
8857 pub patient_license_number: Option<String>,
8858 #[serde(rename = "StartingTag")]
8859 pub starting_tag: Option<String>,
8860}
8861
8862#[derive(Serialize, Deserialize, Debug, Clone)]
8863pub struct PlantBatchesCreatePackageV2RequestItem {
8864 #[serde(rename = "ActualDate")]
8865 pub actual_date: Option<String>,
8866 #[serde(rename = "Count")]
8867 pub count: Option<i64>,
8868 #[serde(rename = "ExpirationDate")]
8869 pub expiration_date: Option<String>,
8870 #[serde(rename = "Id")]
8871 pub id: Option<i64>,
8872 #[serde(rename = "IsDonation")]
8873 pub is_donation: Option<bool>,
8874 #[serde(rename = "IsTradeSample")]
8875 pub is_trade_sample: Option<bool>,
8876 #[serde(rename = "Item")]
8877 pub item: Option<String>,
8878 #[serde(rename = "Location")]
8879 pub location: Option<String>,
8880 #[serde(rename = "Note")]
8881 pub note: Option<String>,
8882 #[serde(rename = "PatientLicenseNumber")]
8883 pub patient_license_number: Option<String>,
8884 #[serde(rename = "PlantBatch")]
8885 pub plant_batch: Option<String>,
8886 #[serde(rename = "SellByDate")]
8887 pub sell_by_date: Option<String>,
8888 #[serde(rename = "Sublocation")]
8889 pub sublocation: Option<String>,
8890 #[serde(rename = "Tag")]
8891 pub tag: Option<String>,
8892 #[serde(rename = "UseByDate")]
8893 pub use_by_date: Option<String>,
8894}
8895
8896#[derive(Serialize, Deserialize, Debug, Clone)]
8897pub struct PlantBatchesCreatePackageFrommotherplantV1RequestItem {
8898 #[serde(rename = "ActualDate")]
8899 pub actual_date: Option<String>,
8900 #[serde(rename = "Count")]
8901 pub count: Option<i64>,
8902 #[serde(rename = "ExpirationDate")]
8903 pub expiration_date: Option<String>,
8904 #[serde(rename = "Id")]
8905 pub id: Option<i64>,
8906 #[serde(rename = "IsDonation")]
8907 pub is_donation: Option<bool>,
8908 #[serde(rename = "IsTradeSample")]
8909 pub is_trade_sample: Option<bool>,
8910 #[serde(rename = "Item")]
8911 pub item: Option<String>,
8912 #[serde(rename = "Location")]
8913 pub location: Option<String>,
8914 #[serde(rename = "Note")]
8915 pub note: Option<String>,
8916 #[serde(rename = "PatientLicenseNumber")]
8917 pub patient_license_number: Option<String>,
8918 #[serde(rename = "PlantBatch")]
8919 pub plant_batch: Option<String>,
8920 #[serde(rename = "SellByDate")]
8921 pub sell_by_date: Option<String>,
8922 #[serde(rename = "Sublocation")]
8923 pub sublocation: Option<String>,
8924 #[serde(rename = "Tag")]
8925 pub tag: Option<String>,
8926 #[serde(rename = "UseByDate")]
8927 pub use_by_date: Option<String>,
8928}
8929
8930#[derive(Serialize, Deserialize, Debug, Clone)]
8931pub struct PlantBatchesCreatePackageFrommotherplantV2RequestItem {
8932 #[serde(rename = "ActualDate")]
8933 pub actual_date: Option<String>,
8934 #[serde(rename = "Count")]
8935 pub count: Option<i64>,
8936 #[serde(rename = "ExpirationDate")]
8937 pub expiration_date: Option<String>,
8938 #[serde(rename = "Id")]
8939 pub id: Option<i64>,
8940 #[serde(rename = "IsDonation")]
8941 pub is_donation: Option<bool>,
8942 #[serde(rename = "IsTradeSample")]
8943 pub is_trade_sample: Option<bool>,
8944 #[serde(rename = "Item")]
8945 pub item: Option<String>,
8946 #[serde(rename = "Location")]
8947 pub location: Option<String>,
8948 #[serde(rename = "Note")]
8949 pub note: Option<String>,
8950 #[serde(rename = "PatientLicenseNumber")]
8951 pub patient_license_number: Option<String>,
8952 #[serde(rename = "PlantBatch")]
8953 pub plant_batch: Option<String>,
8954 #[serde(rename = "SellByDate")]
8955 pub sell_by_date: Option<String>,
8956 #[serde(rename = "Sublocation")]
8957 pub sublocation: Option<String>,
8958 #[serde(rename = "Tag")]
8959 pub tag: Option<String>,
8960 #[serde(rename = "UseByDate")]
8961 pub use_by_date: Option<String>,
8962}
8963
8964#[derive(Serialize, Deserialize, Debug, Clone)]
8965pub struct PlantBatchesCreatePlantingsV2RequestItem {
8966 #[serde(rename = "ActualDate")]
8967 pub actual_date: Option<String>,
8968 #[serde(rename = "Count")]
8969 pub count: Option<i64>,
8970 #[serde(rename = "Location")]
8971 pub location: Option<String>,
8972 #[serde(rename = "Name")]
8973 pub name: Option<String>,
8974 #[serde(rename = "PatientLicenseNumber")]
8975 pub patient_license_number: Option<String>,
8976 #[serde(rename = "SourcePlantBatches")]
8977 pub source_plant_batches: Option<String>,
8978 #[serde(rename = "Strain")]
8979 pub strain: Option<String>,
8980 #[serde(rename = "Sublocation")]
8981 pub sublocation: Option<String>,
8982 #[serde(rename = "Type")]
8983 pub type_: Option<String>,
8984}
8985
8986#[derive(Serialize, Deserialize, Debug, Clone)]
8987pub struct PlantBatchesCreateSplitV1RequestItem {
8988 #[serde(rename = "ActualDate")]
8989 pub actual_date: Option<String>,
8990 #[serde(rename = "Count")]
8991 pub count: Option<i64>,
8992 #[serde(rename = "GroupName")]
8993 pub group_name: Option<String>,
8994 #[serde(rename = "Location")]
8995 pub location: Option<String>,
8996 #[serde(rename = "PatientLicenseNumber")]
8997 pub patient_license_number: Option<String>,
8998 #[serde(rename = "PlantBatch")]
8999 pub plant_batch: Option<String>,
9000 #[serde(rename = "Strain")]
9001 pub strain: Option<String>,
9002 #[serde(rename = "Sublocation")]
9003 pub sublocation: Option<String>,
9004}
9005
9006#[derive(Serialize, Deserialize, Debug, Clone)]
9007pub struct PlantBatchesCreateSplitV2RequestItem {
9008 #[serde(rename = "ActualDate")]
9009 pub actual_date: Option<String>,
9010 #[serde(rename = "Count")]
9011 pub count: Option<i64>,
9012 #[serde(rename = "GroupName")]
9013 pub group_name: Option<String>,
9014 #[serde(rename = "Location")]
9015 pub location: Option<String>,
9016 #[serde(rename = "PatientLicenseNumber")]
9017 pub patient_license_number: Option<String>,
9018 #[serde(rename = "PlantBatch")]
9019 pub plant_batch: Option<String>,
9020 #[serde(rename = "Strain")]
9021 pub strain: Option<String>,
9022 #[serde(rename = "Sublocation")]
9023 pub sublocation: Option<String>,
9024}
9025
9026#[derive(Serialize, Deserialize, Debug, Clone)]
9027pub struct PlantBatchesCreateWasteV1RequestItem {
9028 #[serde(rename = "MixedMaterial")]
9029 pub mixed_material: Option<String>,
9030 #[serde(rename = "Note")]
9031 pub note: Option<String>,
9032 #[serde(rename = "PlantBatchName")]
9033 pub plant_batch_name: Option<String>,
9034 #[serde(rename = "ReasonName")]
9035 pub reason_name: Option<String>,
9036 #[serde(rename = "UnitOfMeasureName")]
9037 pub unit_of_measure_name: Option<String>,
9038 #[serde(rename = "WasteDate")]
9039 pub waste_date: Option<String>,
9040 #[serde(rename = "WasteMethodName")]
9041 pub waste_method_name: Option<String>,
9042 #[serde(rename = "WasteWeight")]
9043 pub waste_weight: Option<f64>,
9044}
9045
9046#[derive(Serialize, Deserialize, Debug, Clone)]
9047pub struct PlantBatchesCreateWasteV2RequestItem {
9048 #[serde(rename = "MixedMaterial")]
9049 pub mixed_material: Option<String>,
9050 #[serde(rename = "Note")]
9051 pub note: Option<String>,
9052 #[serde(rename = "PlantBatchName")]
9053 pub plant_batch_name: Option<String>,
9054 #[serde(rename = "ReasonName")]
9055 pub reason_name: Option<String>,
9056 #[serde(rename = "UnitOfMeasureName")]
9057 pub unit_of_measure_name: Option<String>,
9058 #[serde(rename = "WasteDate")]
9059 pub waste_date: Option<String>,
9060 #[serde(rename = "WasteMethodName")]
9061 pub waste_method_name: Option<String>,
9062 #[serde(rename = "WasteWeight")]
9063 pub waste_weight: Option<f64>,
9064}
9065
9066#[derive(Serialize, Deserialize, Debug, Clone)]
9067pub struct PlantBatchesCreatepackagesV1RequestItem {
9068 #[serde(rename = "ActualDate")]
9069 pub actual_date: Option<String>,
9070 #[serde(rename = "Count")]
9071 pub count: Option<i64>,
9072 #[serde(rename = "ExpirationDate")]
9073 pub expiration_date: Option<String>,
9074 #[serde(rename = "Id")]
9075 pub id: Option<i64>,
9076 #[serde(rename = "IsDonation")]
9077 pub is_donation: Option<bool>,
9078 #[serde(rename = "IsTradeSample")]
9079 pub is_trade_sample: Option<bool>,
9080 #[serde(rename = "Item")]
9081 pub item: Option<String>,
9082 #[serde(rename = "Location")]
9083 pub location: Option<String>,
9084 #[serde(rename = "Note")]
9085 pub note: Option<String>,
9086 #[serde(rename = "PatientLicenseNumber")]
9087 pub patient_license_number: Option<String>,
9088 #[serde(rename = "PlantBatch")]
9089 pub plant_batch: Option<String>,
9090 #[serde(rename = "SellByDate")]
9091 pub sell_by_date: Option<String>,
9092 #[serde(rename = "Sublocation")]
9093 pub sublocation: Option<String>,
9094 #[serde(rename = "Tag")]
9095 pub tag: Option<String>,
9096 #[serde(rename = "UseByDate")]
9097 pub use_by_date: Option<String>,
9098}
9099
9100#[derive(Serialize, Deserialize, Debug, Clone)]
9101pub struct PlantBatchesCreateplantingsV1RequestItem {
9102 #[serde(rename = "ActualDate")]
9103 pub actual_date: Option<String>,
9104 #[serde(rename = "Count")]
9105 pub count: Option<i64>,
9106 #[serde(rename = "Location")]
9107 pub location: Option<String>,
9108 #[serde(rename = "Name")]
9109 pub name: Option<String>,
9110 #[serde(rename = "PatientLicenseNumber")]
9111 pub patient_license_number: Option<String>,
9112 #[serde(rename = "SourcePlantBatches")]
9113 pub source_plant_batches: Option<String>,
9114 #[serde(rename = "Strain")]
9115 pub strain: Option<String>,
9116 #[serde(rename = "Sublocation")]
9117 pub sublocation: Option<String>,
9118 #[serde(rename = "Type")]
9119 pub type_: Option<String>,
9120}
9121
9122#[derive(Serialize, Deserialize, Debug, Clone)]
9123pub struct PlantBatchesUpdateLocationV2RequestItem {
9124 #[serde(rename = "Location")]
9125 pub location: Option<String>,
9126 #[serde(rename = "MoveDate")]
9127 pub move_date: Option<String>,
9128 #[serde(rename = "Name")]
9129 pub name: Option<String>,
9130 #[serde(rename = "Sublocation")]
9131 pub sublocation: Option<String>,
9132}
9133
9134#[derive(Serialize, Deserialize, Debug, Clone)]
9135pub struct PlantBatchesUpdateMoveplantbatchesV1RequestItem {
9136 #[serde(rename = "Location")]
9137 pub location: Option<String>,
9138 #[serde(rename = "MoveDate")]
9139 pub move_date: Option<String>,
9140 #[serde(rename = "Name")]
9141 pub name: Option<String>,
9142 #[serde(rename = "Sublocation")]
9143 pub sublocation: Option<String>,
9144}
9145
9146#[derive(Serialize, Deserialize, Debug, Clone)]
9147pub struct PlantBatchesUpdateNameV2RequestItem {
9148 #[serde(rename = "Group")]
9149 pub group: Option<String>,
9150 #[serde(rename = "Id")]
9151 pub id: Option<i64>,
9152 #[serde(rename = "NewGroup")]
9153 pub new_group: Option<String>,
9154}
9155
9156#[derive(Serialize, Deserialize, Debug, Clone)]
9157pub struct PlantBatchesUpdateStrainV2RequestItem {
9158 #[serde(rename = "Id")]
9159 pub id: Option<i64>,
9160 #[serde(rename = "Name")]
9161 pub name: Option<String>,
9162 #[serde(rename = "StrainId")]
9163 pub strain_id: Option<i64>,
9164 #[serde(rename = "StrainName")]
9165 pub strain_name: Option<String>,
9166}
9167
9168#[derive(Serialize, Deserialize, Debug, Clone)]
9169pub struct PlantBatchesUpdateTagV2RequestItem {
9170 #[serde(rename = "Group")]
9171 pub group: Option<String>,
9172 #[serde(rename = "Id")]
9173 pub id: Option<i64>,
9174 #[serde(rename = "NewTag")]
9175 pub new_tag: Option<String>,
9176 #[serde(rename = "ReplaceDate")]
9177 pub replace_date: Option<String>,
9178 #[serde(rename = "TagId")]
9179 pub tag_id: Option<i64>,
9180}
9181
9182#[derive(Serialize, Deserialize, Debug, Clone)]
9183pub struct PlantsCreateAdditivesV1RequestItem {
9184 #[serde(rename = "ActiveIngredients")]
9185 pub active_ingredients: Option<Vec<PlantsCreateAdditivesV1RequestItemActiveIngredients>>,
9186 #[serde(rename = "ActualDate")]
9187 pub actual_date: Option<String>,
9188 #[serde(rename = "AdditiveType")]
9189 pub additive_type: Option<String>,
9190 #[serde(rename = "ApplicationDevice")]
9191 pub application_device: Option<String>,
9192 #[serde(rename = "EpaRegistrationNumber")]
9193 pub epa_registration_number: Option<String>,
9194 #[serde(rename = "PlantLabels")]
9195 pub plant_labels: Option<Vec<String>>,
9196 #[serde(rename = "ProductSupplier")]
9197 pub product_supplier: Option<String>,
9198 #[serde(rename = "ProductTradeName")]
9199 pub product_trade_name: Option<String>,
9200 #[serde(rename = "TotalAmountApplied")]
9201 pub total_amount_applied: Option<i64>,
9202 #[serde(rename = "TotalAmountUnitOfMeasure")]
9203 pub total_amount_unit_of_measure: Option<String>,
9204}
9205
9206#[derive(Serialize, Deserialize, Debug, Clone)]
9207pub struct PlantsCreateAdditivesV1RequestItemActiveIngredients {
9208 #[serde(rename = "Name")]
9209 pub name: Option<String>,
9210 #[serde(rename = "Percentage")]
9211 pub percentage: Option<f64>,
9212}
9213
9214#[derive(Serialize, Deserialize, Debug, Clone)]
9215pub struct PlantsCreateAdditivesV2RequestItem {
9216 #[serde(rename = "ActiveIngredients")]
9217 pub active_ingredients: Option<Vec<PlantsCreateAdditivesV2RequestItemActiveIngredients>>,
9218 #[serde(rename = "ActualDate")]
9219 pub actual_date: Option<String>,
9220 #[serde(rename = "AdditiveType")]
9221 pub additive_type: Option<String>,
9222 #[serde(rename = "ApplicationDevice")]
9223 pub application_device: Option<String>,
9224 #[serde(rename = "EpaRegistrationNumber")]
9225 pub epa_registration_number: Option<String>,
9226 #[serde(rename = "PlantLabels")]
9227 pub plant_labels: Option<Vec<String>>,
9228 #[serde(rename = "ProductSupplier")]
9229 pub product_supplier: Option<String>,
9230 #[serde(rename = "ProductTradeName")]
9231 pub product_trade_name: Option<String>,
9232 #[serde(rename = "TotalAmountApplied")]
9233 pub total_amount_applied: Option<i64>,
9234 #[serde(rename = "TotalAmountUnitOfMeasure")]
9235 pub total_amount_unit_of_measure: Option<String>,
9236}
9237
9238#[derive(Serialize, Deserialize, Debug, Clone)]
9239pub struct PlantsCreateAdditivesV2RequestItemActiveIngredients {
9240 #[serde(rename = "Name")]
9241 pub name: Option<String>,
9242 #[serde(rename = "Percentage")]
9243 pub percentage: Option<f64>,
9244}
9245
9246#[derive(Serialize, Deserialize, Debug, Clone)]
9247pub struct PlantsCreateAdditivesBylocationV1RequestItem {
9248 #[serde(rename = "ActiveIngredients")]
9249 pub active_ingredients: Option<Vec<PlantsCreateAdditivesBylocationV1RequestItemActiveIngredients>>,
9250 #[serde(rename = "ActualDate")]
9251 pub actual_date: Option<String>,
9252 #[serde(rename = "AdditiveType")]
9253 pub additive_type: Option<String>,
9254 #[serde(rename = "ApplicationDevice")]
9255 pub application_device: Option<String>,
9256 #[serde(rename = "EpaRegistrationNumber")]
9257 pub epa_registration_number: Option<String>,
9258 #[serde(rename = "LocationName")]
9259 pub location_name: Option<String>,
9260 #[serde(rename = "ProductSupplier")]
9261 pub product_supplier: Option<String>,
9262 #[serde(rename = "ProductTradeName")]
9263 pub product_trade_name: Option<String>,
9264 #[serde(rename = "SublocationName")]
9265 pub sublocation_name: Option<String>,
9266 #[serde(rename = "TotalAmountApplied")]
9267 pub total_amount_applied: Option<i64>,
9268 #[serde(rename = "TotalAmountUnitOfMeasure")]
9269 pub total_amount_unit_of_measure: Option<String>,
9270}
9271
9272#[derive(Serialize, Deserialize, Debug, Clone)]
9273pub struct PlantsCreateAdditivesBylocationV1RequestItemActiveIngredients {
9274 #[serde(rename = "Name")]
9275 pub name: Option<String>,
9276 #[serde(rename = "Percentage")]
9277 pub percentage: Option<f64>,
9278}
9279
9280#[derive(Serialize, Deserialize, Debug, Clone)]
9281pub struct PlantsCreateAdditivesBylocationV2RequestItem {
9282 #[serde(rename = "ActiveIngredients")]
9283 pub active_ingredients: Option<Vec<PlantsCreateAdditivesBylocationV2RequestItemActiveIngredients>>,
9284 #[serde(rename = "ActualDate")]
9285 pub actual_date: Option<String>,
9286 #[serde(rename = "AdditiveType")]
9287 pub additive_type: Option<String>,
9288 #[serde(rename = "ApplicationDevice")]
9289 pub application_device: Option<String>,
9290 #[serde(rename = "EpaRegistrationNumber")]
9291 pub epa_registration_number: Option<String>,
9292 #[serde(rename = "LocationName")]
9293 pub location_name: Option<String>,
9294 #[serde(rename = "ProductSupplier")]
9295 pub product_supplier: Option<String>,
9296 #[serde(rename = "ProductTradeName")]
9297 pub product_trade_name: Option<String>,
9298 #[serde(rename = "SublocationName")]
9299 pub sublocation_name: Option<String>,
9300 #[serde(rename = "TotalAmountApplied")]
9301 pub total_amount_applied: Option<i64>,
9302 #[serde(rename = "TotalAmountUnitOfMeasure")]
9303 pub total_amount_unit_of_measure: Option<String>,
9304}
9305
9306#[derive(Serialize, Deserialize, Debug, Clone)]
9307pub struct PlantsCreateAdditivesBylocationV2RequestItemActiveIngredients {
9308 #[serde(rename = "Name")]
9309 pub name: Option<String>,
9310 #[serde(rename = "Percentage")]
9311 pub percentage: Option<f64>,
9312}
9313
9314#[derive(Serialize, Deserialize, Debug, Clone)]
9315pub struct PlantsCreateAdditivesBylocationUsingtemplateV2RequestItem {
9316 #[serde(rename = "ActualDate")]
9317 pub actual_date: Option<String>,
9318 #[serde(rename = "AdditivesTemplateName")]
9319 pub additives_template_name: Option<String>,
9320 #[serde(rename = "LocationName")]
9321 pub location_name: Option<String>,
9322 #[serde(rename = "Rate")]
9323 pub rate: Option<String>,
9324 #[serde(rename = "SublocationName")]
9325 pub sublocation_name: Option<String>,
9326 #[serde(rename = "TotalAmountApplied")]
9327 pub total_amount_applied: Option<i64>,
9328 #[serde(rename = "TotalAmountUnitOfMeasure")]
9329 pub total_amount_unit_of_measure: Option<String>,
9330 #[serde(rename = "Volume")]
9331 pub volume: Option<String>,
9332}
9333
9334#[derive(Serialize, Deserialize, Debug, Clone)]
9335pub struct PlantsCreateAdditivesUsingtemplateV2RequestItem {
9336 #[serde(rename = "ActualDate")]
9337 pub actual_date: Option<String>,
9338 #[serde(rename = "AdditivesTemplateName")]
9339 pub additives_template_name: Option<String>,
9340 #[serde(rename = "PlantLabels")]
9341 pub plant_labels: Option<Vec<String>>,
9342 #[serde(rename = "Rate")]
9343 pub rate: Option<String>,
9344 #[serde(rename = "TotalAmountApplied")]
9345 pub total_amount_applied: Option<i64>,
9346 #[serde(rename = "TotalAmountUnitOfMeasure")]
9347 pub total_amount_unit_of_measure: Option<String>,
9348 #[serde(rename = "Volume")]
9349 pub volume: Option<String>,
9350}
9351
9352#[derive(Serialize, Deserialize, Debug, Clone)]
9353pub struct PlantsCreateChangegrowthphasesV1RequestItem {
9354 #[serde(rename = "GrowthDate")]
9355 pub growth_date: Option<String>,
9356 #[serde(rename = "GrowthPhase")]
9357 pub growth_phase: Option<String>,
9358 #[serde(rename = "Id")]
9359 pub id: Option<i64>,
9360 #[serde(rename = "Label")]
9361 pub label: Option<String>,
9362 #[serde(rename = "NewLocation")]
9363 pub new_location: Option<String>,
9364 #[serde(rename = "NewSublocation")]
9365 pub new_sublocation: Option<String>,
9366 #[serde(rename = "NewTag")]
9367 pub new_tag: Option<String>,
9368}
9369
9370#[derive(Serialize, Deserialize, Debug, Clone)]
9371pub struct PlantsCreateHarvestplantsV1RequestItem {
9372 #[serde(rename = "ActualDate")]
9373 pub actual_date: Option<String>,
9374 #[serde(rename = "DryingLocation")]
9375 pub drying_location: Option<String>,
9376 #[serde(rename = "DryingSublocation")]
9377 pub drying_sublocation: Option<String>,
9378 #[serde(rename = "HarvestName")]
9379 pub harvest_name: Option<String>,
9380 #[serde(rename = "PatientLicenseNumber")]
9381 pub patient_license_number: Option<String>,
9382 #[serde(rename = "Plant")]
9383 pub plant: Option<String>,
9384 #[serde(rename = "UnitOfWeight")]
9385 pub unit_of_weight: Option<String>,
9386 #[serde(rename = "Weight")]
9387 pub weight: Option<f64>,
9388}
9389
9390#[derive(Serialize, Deserialize, Debug, Clone)]
9391pub struct PlantsCreateManicureV2RequestItem {
9392 #[serde(rename = "ActualDate")]
9393 pub actual_date: Option<String>,
9394 #[serde(rename = "DryingLocation")]
9395 pub drying_location: Option<String>,
9396 #[serde(rename = "DryingSublocation")]
9397 pub drying_sublocation: Option<String>,
9398 #[serde(rename = "HarvestName")]
9399 pub harvest_name: Option<String>,
9400 #[serde(rename = "PatientLicenseNumber")]
9401 pub patient_license_number: Option<String>,
9402 #[serde(rename = "Plant")]
9403 pub plant: Option<String>,
9404 #[serde(rename = "PlantCount")]
9405 pub plant_count: Option<i64>,
9406 #[serde(rename = "UnitOfWeight")]
9407 pub unit_of_weight: Option<String>,
9408 #[serde(rename = "Weight")]
9409 pub weight: Option<f64>,
9410}
9411
9412#[derive(Serialize, Deserialize, Debug, Clone)]
9413pub struct PlantsCreateManicureplantsV1RequestItem {
9414 #[serde(rename = "ActualDate")]
9415 pub actual_date: Option<String>,
9416 #[serde(rename = "DryingLocation")]
9417 pub drying_location: Option<String>,
9418 #[serde(rename = "DryingSublocation")]
9419 pub drying_sublocation: Option<String>,
9420 #[serde(rename = "HarvestName")]
9421 pub harvest_name: Option<String>,
9422 #[serde(rename = "PatientLicenseNumber")]
9423 pub patient_license_number: Option<String>,
9424 #[serde(rename = "Plant")]
9425 pub plant: Option<String>,
9426 #[serde(rename = "PlantCount")]
9427 pub plant_count: Option<i64>,
9428 #[serde(rename = "UnitOfWeight")]
9429 pub unit_of_weight: Option<String>,
9430 #[serde(rename = "Weight")]
9431 pub weight: Option<f64>,
9432}
9433
9434#[derive(Serialize, Deserialize, Debug, Clone)]
9435pub struct PlantsCreateMoveplantsV1RequestItem {
9436 #[serde(rename = "ActualDate")]
9437 pub actual_date: Option<String>,
9438 #[serde(rename = "Id")]
9439 pub id: Option<i64>,
9440 #[serde(rename = "Label")]
9441 pub label: Option<String>,
9442 #[serde(rename = "Location")]
9443 pub location: Option<String>,
9444 #[serde(rename = "Sublocation")]
9445 pub sublocation: Option<String>,
9446}
9447
9448#[derive(Serialize, Deserialize, Debug, Clone)]
9449pub struct PlantsCreatePlantbatchPackageV1RequestItem {
9450 #[serde(rename = "ActualDate")]
9451 pub actual_date: Option<String>,
9452 #[serde(rename = "Count")]
9453 pub count: Option<i64>,
9454 #[serde(rename = "IsDonation")]
9455 pub is_donation: Option<bool>,
9456 #[serde(rename = "IsTradeSample")]
9457 pub is_trade_sample: Option<bool>,
9458 #[serde(rename = "Item")]
9459 pub item: Option<String>,
9460 #[serde(rename = "Location")]
9461 pub location: Option<String>,
9462 #[serde(rename = "Note")]
9463 pub note: Option<String>,
9464 #[serde(rename = "PackageTag")]
9465 pub package_tag: Option<String>,
9466 #[serde(rename = "PatientLicenseNumber")]
9467 pub patient_license_number: Option<String>,
9468 #[serde(rename = "PlantBatchType")]
9469 pub plant_batch_type: Option<String>,
9470 #[serde(rename = "PlantLabel")]
9471 pub plant_label: Option<String>,
9472 #[serde(rename = "Sublocation")]
9473 pub sublocation: Option<String>,
9474}
9475
9476#[derive(Serialize, Deserialize, Debug, Clone)]
9477pub struct PlantsCreatePlantbatchPackageV2RequestItem {
9478 #[serde(rename = "ActualDate")]
9479 pub actual_date: Option<String>,
9480 #[serde(rename = "Count")]
9481 pub count: Option<i64>,
9482 #[serde(rename = "IsDonation")]
9483 pub is_donation: Option<bool>,
9484 #[serde(rename = "IsTradeSample")]
9485 pub is_trade_sample: Option<bool>,
9486 #[serde(rename = "Item")]
9487 pub item: Option<String>,
9488 #[serde(rename = "Location")]
9489 pub location: Option<String>,
9490 #[serde(rename = "Note")]
9491 pub note: Option<String>,
9492 #[serde(rename = "PackageTag")]
9493 pub package_tag: Option<String>,
9494 #[serde(rename = "PatientLicenseNumber")]
9495 pub patient_license_number: Option<String>,
9496 #[serde(rename = "PlantBatchType")]
9497 pub plant_batch_type: Option<String>,
9498 #[serde(rename = "PlantLabel")]
9499 pub plant_label: Option<String>,
9500 #[serde(rename = "Sublocation")]
9501 pub sublocation: Option<String>,
9502}
9503
9504#[derive(Serialize, Deserialize, Debug, Clone)]
9505pub struct PlantsCreatePlantingsV1RequestItem {
9506 #[serde(rename = "ActualDate")]
9507 pub actual_date: Option<String>,
9508 #[serde(rename = "LocationName")]
9509 pub location_name: Option<String>,
9510 #[serde(rename = "PatientLicenseNumber")]
9511 pub patient_license_number: Option<String>,
9512 #[serde(rename = "PlantBatchName")]
9513 pub plant_batch_name: Option<String>,
9514 #[serde(rename = "PlantBatchType")]
9515 pub plant_batch_type: Option<String>,
9516 #[serde(rename = "PlantCount")]
9517 pub plant_count: Option<i64>,
9518 #[serde(rename = "PlantLabel")]
9519 pub plant_label: Option<String>,
9520 #[serde(rename = "StrainName")]
9521 pub strain_name: Option<String>,
9522 #[serde(rename = "SublocationName")]
9523 pub sublocation_name: Option<String>,
9524}
9525
9526#[derive(Serialize, Deserialize, Debug, Clone)]
9527pub struct PlantsCreatePlantingsV2RequestItem {
9528 #[serde(rename = "ActualDate")]
9529 pub actual_date: Option<String>,
9530 #[serde(rename = "LocationName")]
9531 pub location_name: Option<String>,
9532 #[serde(rename = "PatientLicenseNumber")]
9533 pub patient_license_number: Option<String>,
9534 #[serde(rename = "PlantBatchName")]
9535 pub plant_batch_name: Option<String>,
9536 #[serde(rename = "PlantBatchType")]
9537 pub plant_batch_type: Option<String>,
9538 #[serde(rename = "PlantCount")]
9539 pub plant_count: Option<i64>,
9540 #[serde(rename = "PlantLabel")]
9541 pub plant_label: Option<String>,
9542 #[serde(rename = "StrainName")]
9543 pub strain_name: Option<String>,
9544 #[serde(rename = "SublocationName")]
9545 pub sublocation_name: Option<String>,
9546}
9547
9548#[derive(Serialize, Deserialize, Debug, Clone)]
9549pub struct PlantsCreateWasteV1RequestItem {
9550 #[serde(rename = "LocationName")]
9551 pub location_name: Option<String>,
9552 #[serde(rename = "MixedMaterial")]
9553 pub mixed_material: Option<String>,
9554 #[serde(rename = "Note")]
9555 pub note: Option<String>,
9556 #[serde(rename = "PlantLabels")]
9557 pub plant_labels: Option<Vec<Value>>,
9558 #[serde(rename = "ReasonName")]
9559 pub reason_name: Option<String>,
9560 #[serde(rename = "SublocationName")]
9561 pub sublocation_name: Option<String>,
9562 #[serde(rename = "UnitOfMeasureName")]
9563 pub unit_of_measure_name: Option<String>,
9564 #[serde(rename = "WasteDate")]
9565 pub waste_date: Option<String>,
9566 #[serde(rename = "WasteMethodName")]
9567 pub waste_method_name: Option<String>,
9568 #[serde(rename = "WasteWeight")]
9569 pub waste_weight: Option<f64>,
9570}
9571
9572#[derive(Serialize, Deserialize, Debug, Clone)]
9573pub struct PlantsCreateWasteV2RequestItem {
9574 #[serde(rename = "LocationName")]
9575 pub location_name: Option<String>,
9576 #[serde(rename = "MixedMaterial")]
9577 pub mixed_material: Option<String>,
9578 #[serde(rename = "Note")]
9579 pub note: Option<String>,
9580 #[serde(rename = "PlantLabels")]
9581 pub plant_labels: Option<Vec<Value>>,
9582 #[serde(rename = "ReasonName")]
9583 pub reason_name: Option<String>,
9584 #[serde(rename = "SublocationName")]
9585 pub sublocation_name: Option<String>,
9586 #[serde(rename = "UnitOfMeasureName")]
9587 pub unit_of_measure_name: Option<String>,
9588 #[serde(rename = "WasteDate")]
9589 pub waste_date: Option<String>,
9590 #[serde(rename = "WasteMethodName")]
9591 pub waste_method_name: Option<String>,
9592 #[serde(rename = "WasteWeight")]
9593 pub waste_weight: Option<f64>,
9594}
9595
9596#[derive(Serialize, Deserialize, Debug, Clone)]
9597pub struct PlantsUpdateAdjustV2RequestItem {
9598 #[serde(rename = "AdjustCount")]
9599 pub adjust_count: Option<i64>,
9600 #[serde(rename = "AdjustReason")]
9601 pub adjust_reason: Option<String>,
9602 #[serde(rename = "AdjustmentDate")]
9603 pub adjustment_date: Option<String>,
9604 #[serde(rename = "Id")]
9605 pub id: Option<i64>,
9606 #[serde(rename = "Label")]
9607 pub label: Option<String>,
9608 #[serde(rename = "ReasonNote")]
9609 pub reason_note: Option<String>,
9610}
9611
9612#[derive(Serialize, Deserialize, Debug, Clone)]
9613pub struct PlantsUpdateGrowthphaseV2RequestItem {
9614 #[serde(rename = "GrowthDate")]
9615 pub growth_date: Option<String>,
9616 #[serde(rename = "GrowthPhase")]
9617 pub growth_phase: Option<String>,
9618 #[serde(rename = "Id")]
9619 pub id: Option<i64>,
9620 #[serde(rename = "Label")]
9621 pub label: Option<String>,
9622 #[serde(rename = "NewLocation")]
9623 pub new_location: Option<String>,
9624 #[serde(rename = "NewSublocation")]
9625 pub new_sublocation: Option<String>,
9626 #[serde(rename = "NewTag")]
9627 pub new_tag: Option<String>,
9628}
9629
9630#[derive(Serialize, Deserialize, Debug, Clone)]
9631pub struct PlantsUpdateHarvestV2RequestItem {
9632 #[serde(rename = "ActualDate")]
9633 pub actual_date: Option<String>,
9634 #[serde(rename = "DryingLocation")]
9635 pub drying_location: Option<String>,
9636 #[serde(rename = "DryingSublocation")]
9637 pub drying_sublocation: Option<String>,
9638 #[serde(rename = "HarvestName")]
9639 pub harvest_name: Option<String>,
9640 #[serde(rename = "PatientLicenseNumber")]
9641 pub patient_license_number: Option<String>,
9642 #[serde(rename = "Plant")]
9643 pub plant: Option<String>,
9644 #[serde(rename = "UnitOfWeight")]
9645 pub unit_of_weight: Option<String>,
9646 #[serde(rename = "Weight")]
9647 pub weight: Option<f64>,
9648}
9649
9650#[derive(Serialize, Deserialize, Debug, Clone)]
9651pub struct PlantsUpdateLocationV2RequestItem {
9652 #[serde(rename = "ActualDate")]
9653 pub actual_date: Option<String>,
9654 #[serde(rename = "Id")]
9655 pub id: Option<i64>,
9656 #[serde(rename = "Label")]
9657 pub label: Option<String>,
9658 #[serde(rename = "Location")]
9659 pub location: Option<String>,
9660 #[serde(rename = "Sublocation")]
9661 pub sublocation: Option<String>,
9662}
9663
9664#[derive(Serialize, Deserialize, Debug, Clone)]
9665pub struct PlantsUpdateMergeV2RequestItem {
9666 #[serde(rename = "MergeDate")]
9667 pub merge_date: Option<String>,
9668 #[serde(rename = "SourcePlantGroupLabel")]
9669 pub source_plant_group_label: Option<String>,
9670 #[serde(rename = "TargetPlantGroupLabel")]
9671 pub target_plant_group_label: Option<String>,
9672}
9673
9674#[derive(Serialize, Deserialize, Debug, Clone)]
9675pub struct PlantsUpdateSplitV2RequestItem {
9676 #[serde(rename = "PlantCount")]
9677 pub plant_count: Option<i64>,
9678 #[serde(rename = "SourcePlantLabel")]
9679 pub source_plant_label: Option<String>,
9680 #[serde(rename = "SplitDate")]
9681 pub split_date: Option<String>,
9682 #[serde(rename = "StrainLabel")]
9683 pub strain_label: Option<String>,
9684 #[serde(rename = "TagLabel")]
9685 pub tag_label: Option<String>,
9686}
9687
9688#[derive(Serialize, Deserialize, Debug, Clone)]
9689pub struct PlantsUpdateStrainV2RequestItem {
9690 #[serde(rename = "Id")]
9691 pub id: Option<i64>,
9692 #[serde(rename = "Label")]
9693 pub label: Option<String>,
9694 #[serde(rename = "StrainId")]
9695 pub strain_id: Option<i64>,
9696 #[serde(rename = "StrainName")]
9697 pub strain_name: Option<String>,
9698}
9699
9700#[derive(Serialize, Deserialize, Debug, Clone)]
9701pub struct PlantsUpdateTagV2RequestItem {
9702 #[serde(rename = "Id")]
9703 pub id: Option<i64>,
9704 #[serde(rename = "Label")]
9705 pub label: Option<String>,
9706 #[serde(rename = "NewTag")]
9707 pub new_tag: Option<String>,
9708 #[serde(rename = "ReplaceDate")]
9709 pub replace_date: Option<String>,
9710 #[serde(rename = "TagId")]
9711 pub tag_id: Option<i64>,
9712}
9713
9714#[derive(Serialize, Deserialize, Debug, Clone)]
9715pub struct ProcessingJobsCreateAdjustV1RequestItem {
9716 #[serde(rename = "AdjustmentDate")]
9717 pub adjustment_date: Option<String>,
9718 #[serde(rename = "AdjustmentNote")]
9719 pub adjustment_note: Option<String>,
9720 #[serde(rename = "AdjustmentReason")]
9721 pub adjustment_reason: Option<String>,
9722 #[serde(rename = "CountUnitOfMeasureName")]
9723 pub count_unit_of_measure_name: Option<String>,
9724 #[serde(rename = "Id")]
9725 pub id: Option<i64>,
9726 #[serde(rename = "Packages")]
9727 pub packages: Option<Vec<ProcessingJobsCreateAdjustV1RequestItemPackages>>,
9728 #[serde(rename = "VolumeUnitOfMeasureName")]
9729 pub volume_unit_of_measure_name: Option<String>,
9730 #[serde(rename = "WeightUnitOfMeasureName")]
9731 pub weight_unit_of_measure_name: Option<String>,
9732}
9733
9734#[derive(Serialize, Deserialize, Debug, Clone)]
9735pub struct ProcessingJobsCreateAdjustV1RequestItemPackages {
9736 #[serde(rename = "Label")]
9737 pub label: Option<String>,
9738 #[serde(rename = "Quantity")]
9739 pub quantity: Option<i64>,
9740 #[serde(rename = "UnitOfMeasure")]
9741 pub unit_of_measure: Option<String>,
9742}
9743
9744#[derive(Serialize, Deserialize, Debug, Clone)]
9745pub struct ProcessingJobsCreateAdjustV2RequestItem {
9746 #[serde(rename = "AdjustmentDate")]
9747 pub adjustment_date: Option<String>,
9748 #[serde(rename = "AdjustmentNote")]
9749 pub adjustment_note: Option<String>,
9750 #[serde(rename = "AdjustmentReason")]
9751 pub adjustment_reason: Option<String>,
9752 #[serde(rename = "CountUnitOfMeasureName")]
9753 pub count_unit_of_measure_name: Option<String>,
9754 #[serde(rename = "Id")]
9755 pub id: Option<i64>,
9756 #[serde(rename = "Packages")]
9757 pub packages: Option<Vec<ProcessingJobsCreateAdjustV2RequestItemPackages>>,
9758 #[serde(rename = "VolumeUnitOfMeasureName")]
9759 pub volume_unit_of_measure_name: Option<String>,
9760 #[serde(rename = "WeightUnitOfMeasureName")]
9761 pub weight_unit_of_measure_name: Option<String>,
9762}
9763
9764#[derive(Serialize, Deserialize, Debug, Clone)]
9765pub struct ProcessingJobsCreateAdjustV2RequestItemPackages {
9766 #[serde(rename = "Label")]
9767 pub label: Option<String>,
9768 #[serde(rename = "Quantity")]
9769 pub quantity: Option<i64>,
9770 #[serde(rename = "UnitOfMeasure")]
9771 pub unit_of_measure: Option<String>,
9772}
9773
9774#[derive(Serialize, Deserialize, Debug, Clone)]
9775pub struct ProcessingJobsCreateJobtypesV1RequestItem {
9776 #[serde(rename = "Attributes")]
9777 pub attributes: Option<Vec<String>>,
9778 #[serde(rename = "Category")]
9779 pub category: Option<String>,
9780 #[serde(rename = "Description")]
9781 pub description: Option<String>,
9782 #[serde(rename = "Name")]
9783 pub name: Option<String>,
9784 #[serde(rename = "ProcessingSteps")]
9785 pub processing_steps: Option<String>,
9786}
9787
9788#[derive(Serialize, Deserialize, Debug, Clone)]
9789pub struct ProcessingJobsCreateJobtypesV2RequestItem {
9790 #[serde(rename = "Attributes")]
9791 pub attributes: Option<Vec<String>>,
9792 #[serde(rename = "Category")]
9793 pub category: Option<String>,
9794 #[serde(rename = "Description")]
9795 pub description: Option<String>,
9796 #[serde(rename = "Name")]
9797 pub name: Option<String>,
9798 #[serde(rename = "ProcessingSteps")]
9799 pub processing_steps: Option<String>,
9800}
9801
9802#[derive(Serialize, Deserialize, Debug, Clone)]
9803pub struct ProcessingJobsCreateStartV1RequestItem {
9804 #[serde(rename = "CountUnitOfMeasure")]
9805 pub count_unit_of_measure: Option<String>,
9806 #[serde(rename = "JobName")]
9807 pub job_name: Option<String>,
9808 #[serde(rename = "JobType")]
9809 pub job_type: Option<String>,
9810 #[serde(rename = "Packages")]
9811 pub packages: Option<Vec<ProcessingJobsCreateStartV1RequestItemPackages>>,
9812 #[serde(rename = "StartDate")]
9813 pub start_date: Option<String>,
9814 #[serde(rename = "VolumeUnitOfMeasure")]
9815 pub volume_unit_of_measure: Option<String>,
9816 #[serde(rename = "WeightUnitOfMeasure")]
9817 pub weight_unit_of_measure: Option<String>,
9818}
9819
9820#[derive(Serialize, Deserialize, Debug, Clone)]
9821pub struct ProcessingJobsCreateStartV1RequestItemPackages {
9822 #[serde(rename = "Label")]
9823 pub label: Option<String>,
9824 #[serde(rename = "Quantity")]
9825 pub quantity: Option<i64>,
9826 #[serde(rename = "UnitOfMeasure")]
9827 pub unit_of_measure: Option<String>,
9828}
9829
9830#[derive(Serialize, Deserialize, Debug, Clone)]
9831pub struct ProcessingJobsCreateStartV2RequestItem {
9832 #[serde(rename = "CountUnitOfMeasure")]
9833 pub count_unit_of_measure: Option<String>,
9834 #[serde(rename = "JobName")]
9835 pub job_name: Option<String>,
9836 #[serde(rename = "JobType")]
9837 pub job_type: Option<String>,
9838 #[serde(rename = "Packages")]
9839 pub packages: Option<Vec<ProcessingJobsCreateStartV2RequestItemPackages>>,
9840 #[serde(rename = "StartDate")]
9841 pub start_date: Option<String>,
9842 #[serde(rename = "VolumeUnitOfMeasure")]
9843 pub volume_unit_of_measure: Option<String>,
9844 #[serde(rename = "WeightUnitOfMeasure")]
9845 pub weight_unit_of_measure: Option<String>,
9846}
9847
9848#[derive(Serialize, Deserialize, Debug, Clone)]
9849pub struct ProcessingJobsCreateStartV2RequestItemPackages {
9850 #[serde(rename = "Label")]
9851 pub label: Option<String>,
9852 #[serde(rename = "Quantity")]
9853 pub quantity: Option<i64>,
9854 #[serde(rename = "UnitOfMeasure")]
9855 pub unit_of_measure: Option<String>,
9856}
9857
9858#[derive(Serialize, Deserialize, Debug, Clone)]
9859pub struct ProcessingJobsCreatepackagesV1RequestItem {
9860 #[serde(rename = "ExpirationDate")]
9861 pub expiration_date: Option<String>,
9862 #[serde(rename = "FinishDate")]
9863 pub finish_date: Option<String>,
9864 #[serde(rename = "FinishNote")]
9865 pub finish_note: Option<String>,
9866 #[serde(rename = "FinishProcessingJob")]
9867 pub finish_processing_job: Option<bool>,
9868 #[serde(rename = "Item")]
9869 pub item: Option<String>,
9870 #[serde(rename = "JobName")]
9871 pub job_name: Option<String>,
9872 #[serde(rename = "Location")]
9873 pub location: Option<String>,
9874 #[serde(rename = "Note")]
9875 pub note: Option<String>,
9876 #[serde(rename = "PackageDate")]
9877 pub package_date: Option<String>,
9878 #[serde(rename = "PatientLicenseNumber")]
9879 pub patient_license_number: Option<String>,
9880 #[serde(rename = "ProductionBatchNumber")]
9881 pub production_batch_number: Option<String>,
9882 #[serde(rename = "Quantity")]
9883 pub quantity: Option<i64>,
9884 #[serde(rename = "SellByDate")]
9885 pub sell_by_date: Option<String>,
9886 #[serde(rename = "Sublocation")]
9887 pub sublocation: Option<String>,
9888 #[serde(rename = "Tag")]
9889 pub tag: Option<String>,
9890 #[serde(rename = "UnitOfMeasure")]
9891 pub unit_of_measure: Option<String>,
9892 #[serde(rename = "UseByDate")]
9893 pub use_by_date: Option<String>,
9894 #[serde(rename = "WasteCountQuantity")]
9895 pub waste_count_quantity: Option<String>,
9896 #[serde(rename = "WasteCountUnitOfMeasureName")]
9897 pub waste_count_unit_of_measure_name: Option<String>,
9898 #[serde(rename = "WasteVolumeQuantity")]
9899 pub waste_volume_quantity: Option<String>,
9900 #[serde(rename = "WasteVolumeUnitOfMeasureName")]
9901 pub waste_volume_unit_of_measure_name: Option<String>,
9902 #[serde(rename = "WasteWeightQuantity")]
9903 pub waste_weight_quantity: Option<String>,
9904 #[serde(rename = "WasteWeightUnitOfMeasureName")]
9905 pub waste_weight_unit_of_measure_name: Option<String>,
9906}
9907
9908#[derive(Serialize, Deserialize, Debug, Clone)]
9909pub struct ProcessingJobsCreatepackagesV2RequestItem {
9910 #[serde(rename = "ExpirationDate")]
9911 pub expiration_date: Option<String>,
9912 #[serde(rename = "FinishDate")]
9913 pub finish_date: Option<String>,
9914 #[serde(rename = "FinishNote")]
9915 pub finish_note: Option<String>,
9916 #[serde(rename = "FinishProcessingJob")]
9917 pub finish_processing_job: Option<bool>,
9918 #[serde(rename = "Item")]
9919 pub item: Option<String>,
9920 #[serde(rename = "JobName")]
9921 pub job_name: Option<String>,
9922 #[serde(rename = "Location")]
9923 pub location: Option<String>,
9924 #[serde(rename = "Note")]
9925 pub note: Option<String>,
9926 #[serde(rename = "PackageDate")]
9927 pub package_date: Option<String>,
9928 #[serde(rename = "PatientLicenseNumber")]
9929 pub patient_license_number: Option<String>,
9930 #[serde(rename = "ProductionBatchNumber")]
9931 pub production_batch_number: Option<String>,
9932 #[serde(rename = "Quantity")]
9933 pub quantity: Option<i64>,
9934 #[serde(rename = "SellByDate")]
9935 pub sell_by_date: Option<String>,
9936 #[serde(rename = "Sublocation")]
9937 pub sublocation: Option<String>,
9938 #[serde(rename = "Tag")]
9939 pub tag: Option<String>,
9940 #[serde(rename = "UnitOfMeasure")]
9941 pub unit_of_measure: Option<String>,
9942 #[serde(rename = "UseByDate")]
9943 pub use_by_date: Option<String>,
9944 #[serde(rename = "WasteCountQuantity")]
9945 pub waste_count_quantity: Option<String>,
9946 #[serde(rename = "WasteCountUnitOfMeasureName")]
9947 pub waste_count_unit_of_measure_name: Option<String>,
9948 #[serde(rename = "WasteVolumeQuantity")]
9949 pub waste_volume_quantity: Option<String>,
9950 #[serde(rename = "WasteVolumeUnitOfMeasureName")]
9951 pub waste_volume_unit_of_measure_name: Option<String>,
9952 #[serde(rename = "WasteWeightQuantity")]
9953 pub waste_weight_quantity: Option<String>,
9954 #[serde(rename = "WasteWeightUnitOfMeasureName")]
9955 pub waste_weight_unit_of_measure_name: Option<String>,
9956}
9957
9958#[derive(Serialize, Deserialize, Debug, Clone)]
9959pub struct ProcessingJobsUpdateFinishV1RequestItem {
9960 #[serde(rename = "FinishDate")]
9961 pub finish_date: Option<String>,
9962 #[serde(rename = "FinishNote")]
9963 pub finish_note: Option<String>,
9964 #[serde(rename = "Id")]
9965 pub id: Option<i64>,
9966 #[serde(rename = "TotalCountWaste")]
9967 pub total_count_waste: Option<String>,
9968 #[serde(rename = "TotalVolumeWaste")]
9969 pub total_volume_waste: Option<String>,
9970 #[serde(rename = "TotalWeightWaste")]
9971 pub total_weight_waste: Option<i64>,
9972 #[serde(rename = "WasteCountUnitOfMeasureName")]
9973 pub waste_count_unit_of_measure_name: Option<String>,
9974 #[serde(rename = "WasteVolumeUnitOfMeasureName")]
9975 pub waste_volume_unit_of_measure_name: Option<String>,
9976 #[serde(rename = "WasteWeightUnitOfMeasureName")]
9977 pub waste_weight_unit_of_measure_name: Option<String>,
9978}
9979
9980#[derive(Serialize, Deserialize, Debug, Clone)]
9981pub struct ProcessingJobsUpdateFinishV2RequestItem {
9982 #[serde(rename = "FinishDate")]
9983 pub finish_date: Option<String>,
9984 #[serde(rename = "FinishNote")]
9985 pub finish_note: Option<String>,
9986 #[serde(rename = "Id")]
9987 pub id: Option<i64>,
9988 #[serde(rename = "TotalCountWaste")]
9989 pub total_count_waste: Option<String>,
9990 #[serde(rename = "TotalVolumeWaste")]
9991 pub total_volume_waste: Option<String>,
9992 #[serde(rename = "TotalWeightWaste")]
9993 pub total_weight_waste: Option<i64>,
9994 #[serde(rename = "WasteCountUnitOfMeasureName")]
9995 pub waste_count_unit_of_measure_name: Option<String>,
9996 #[serde(rename = "WasteVolumeUnitOfMeasureName")]
9997 pub waste_volume_unit_of_measure_name: Option<String>,
9998 #[serde(rename = "WasteWeightUnitOfMeasureName")]
9999 pub waste_weight_unit_of_measure_name: Option<String>,
10000}
10001
10002#[derive(Serialize, Deserialize, Debug, Clone)]
10003pub struct ProcessingJobsUpdateJobtypesV1RequestItem {
10004 #[serde(rename = "Attributes")]
10005 pub attributes: Option<Vec<String>>,
10006 #[serde(rename = "CategoryName")]
10007 pub category_name: Option<String>,
10008 #[serde(rename = "Description")]
10009 pub description: Option<String>,
10010 #[serde(rename = "Id")]
10011 pub id: Option<i64>,
10012 #[serde(rename = "Name")]
10013 pub name: Option<String>,
10014 #[serde(rename = "ProcessingSteps")]
10015 pub processing_steps: Option<String>,
10016}
10017
10018#[derive(Serialize, Deserialize, Debug, Clone)]
10019pub struct ProcessingJobsUpdateJobtypesV2RequestItem {
10020 #[serde(rename = "Attributes")]
10021 pub attributes: Option<Vec<String>>,
10022 #[serde(rename = "CategoryName")]
10023 pub category_name: Option<String>,
10024 #[serde(rename = "Description")]
10025 pub description: Option<String>,
10026 #[serde(rename = "Id")]
10027 pub id: Option<i64>,
10028 #[serde(rename = "Name")]
10029 pub name: Option<String>,
10030 #[serde(rename = "ProcessingSteps")]
10031 pub processing_steps: Option<String>,
10032}
10033
10034#[derive(Serialize, Deserialize, Debug, Clone)]
10035pub struct ProcessingJobsUpdateUnfinishV1RequestItem {
10036 #[serde(rename = "Id")]
10037 pub id: Option<i64>,
10038}
10039
10040#[derive(Serialize, Deserialize, Debug, Clone)]
10041pub struct ProcessingJobsUpdateUnfinishV2RequestItem {
10042 #[serde(rename = "Id")]
10043 pub id: Option<i64>,
10044}
10045
10046#[derive(Serialize, Deserialize, Debug, Clone)]
10047pub struct RetailIdCreateAssociateV2RequestItem {
10048 #[serde(rename = "PackageLabel")]
10049 pub package_label: Option<String>,
10050 #[serde(rename = "QrUrls")]
10051 pub qr_urls: Option<Vec<String>>,
10052}
10053
10054#[derive(Serialize, Deserialize, Debug, Clone)]
10055pub struct RetailIdCreateGenerateV2Request {
10056 #[serde(rename = "PackageLabel")]
10057 pub package_label: Option<String>,
10058 #[serde(rename = "Quantity")]
10059 pub quantity: Option<i64>,
10060}
10061
10062#[derive(Serialize, Deserialize, Debug, Clone)]
10063pub struct RetailIdCreateMergeV2Request {
10064 #[serde(rename = "packageLabels")]
10065 pub package_labels: Option<Vec<String>>,
10066}
10067
10068#[derive(Serialize, Deserialize, Debug, Clone)]
10069pub struct RetailIdCreatePackageInfoV2Request {
10070 #[serde(rename = "packageLabels")]
10071 pub package_labels: Option<Vec<String>>,
10072}
10073
10074#[derive(Serialize, Deserialize, Debug, Clone)]
10075pub struct LabTestsCreateRecordV1RequestItem {
10076 #[serde(rename = "DocumentFileBase64")]
10077 pub document_file_base64: Option<String>,
10078 #[serde(rename = "DocumentFileName")]
10079 pub document_file_name: Option<String>,
10080 #[serde(rename = "Label")]
10081 pub label: Option<String>,
10082 #[serde(rename = "ResultDate")]
10083 pub result_date: Option<String>,
10084 #[serde(rename = "Results")]
10085 pub results: Option<Vec<LabTestsCreateRecordV1RequestItemResults>>,
10086}
10087
10088#[derive(Serialize, Deserialize, Debug, Clone)]
10089pub struct LabTestsCreateRecordV1RequestItemResults {
10090 #[serde(rename = "LabTestTypeName")]
10091 pub lab_test_type_name: Option<String>,
10092 #[serde(rename = "Notes")]
10093 pub notes: Option<String>,
10094 #[serde(rename = "Passed")]
10095 pub passed: Option<bool>,
10096 #[serde(rename = "Quantity")]
10097 pub quantity: Option<f64>,
10098}
10099
10100#[derive(Serialize, Deserialize, Debug, Clone)]
10101pub struct LabTestsCreateRecordV2RequestItem {
10102 #[serde(rename = "DocumentFileBase64")]
10103 pub document_file_base64: Option<String>,
10104 #[serde(rename = "DocumentFileName")]
10105 pub document_file_name: Option<String>,
10106 #[serde(rename = "Label")]
10107 pub label: Option<String>,
10108 #[serde(rename = "ResultDate")]
10109 pub result_date: Option<String>,
10110 #[serde(rename = "Results")]
10111 pub results: Option<Vec<LabTestsCreateRecordV2RequestItemResults>>,
10112}
10113
10114#[derive(Serialize, Deserialize, Debug, Clone)]
10115pub struct LabTestsCreateRecordV2RequestItemResults {
10116 #[serde(rename = "LabTestTypeName")]
10117 pub lab_test_type_name: Option<String>,
10118 #[serde(rename = "Notes")]
10119 pub notes: Option<String>,
10120 #[serde(rename = "Passed")]
10121 pub passed: Option<bool>,
10122 #[serde(rename = "Quantity")]
10123 pub quantity: Option<f64>,
10124}
10125
10126#[derive(Serialize, Deserialize, Debug, Clone)]
10127pub struct LabTestsUpdateLabtestdocumentV1RequestItem {
10128 #[serde(rename = "DocumentFileBase64")]
10129 pub document_file_base64: Option<String>,
10130 #[serde(rename = "DocumentFileName")]
10131 pub document_file_name: Option<String>,
10132 #[serde(rename = "LabTestResultId")]
10133 pub lab_test_result_id: Option<i64>,
10134}
10135
10136#[derive(Serialize, Deserialize, Debug, Clone)]
10137pub struct LabTestsUpdateLabtestdocumentV2RequestItem {
10138 #[serde(rename = "DocumentFileBase64")]
10139 pub document_file_base64: Option<String>,
10140 #[serde(rename = "DocumentFileName")]
10141 pub document_file_name: Option<String>,
10142 #[serde(rename = "LabTestResultId")]
10143 pub lab_test_result_id: Option<i64>,
10144}
10145
10146#[derive(Serialize, Deserialize, Debug, Clone)]
10147pub struct LabTestsUpdateResultReleaseV1RequestItem {
10148 #[serde(rename = "PackageLabel")]
10149 pub package_label: Option<String>,
10150}
10151
10152#[derive(Serialize, Deserialize, Debug, Clone)]
10153pub struct LabTestsUpdateResultReleaseV2RequestItem {
10154 #[serde(rename = "PackageLabel")]
10155 pub package_label: Option<String>,
10156}
10157
10158#[derive(Serialize, Deserialize, Debug, Clone)]
10159pub struct SublocationsCreateV2RequestItem {
10160 #[serde(rename = "Name")]
10161 pub name: Option<String>,
10162}
10163
10164#[derive(Serialize, Deserialize, Debug, Clone)]
10165pub struct SublocationsUpdateV2RequestItem {
10166 #[serde(rename = "Id")]
10167 pub id: Option<i64>,
10168 #[serde(rename = "Name")]
10169 pub name: Option<String>,
10170}
10171
10172#[derive(Serialize, Deserialize, Debug, Clone)]
10173pub struct ItemsCreateV1RequestItem {
10174 #[serde(rename = "AdministrationMethod")]
10175 pub administration_method: Option<String>,
10176 #[serde(rename = "Allergens")]
10177 pub allergens: Option<String>,
10178 #[serde(rename = "Description")]
10179 pub description: Option<String>,
10180 #[serde(rename = "GlobalProductName")]
10181 pub global_product_name: Option<String>,
10182 #[serde(rename = "ItemBrand")]
10183 pub item_brand: Option<String>,
10184 #[serde(rename = "ItemCategory")]
10185 pub item_category: Option<String>,
10186 #[serde(rename = "ItemIngredients")]
10187 pub item_ingredients: Option<String>,
10188 #[serde(rename = "LabelImageFileSystemIds")]
10189 pub label_image_file_system_ids: Option<String>,
10190 #[serde(rename = "LabelPhotoDescription")]
10191 pub label_photo_description: Option<String>,
10192 #[serde(rename = "Name")]
10193 pub name: Option<String>,
10194 #[serde(rename = "NumberOfDoses")]
10195 pub number_of_doses: Option<String>,
10196 #[serde(rename = "PackagingImageFileSystemIds")]
10197 pub packaging_image_file_system_ids: Option<String>,
10198 #[serde(rename = "PackagingPhotoDescription")]
10199 pub packaging_photo_description: Option<String>,
10200 #[serde(rename = "ProcessingJobCategoryName")]
10201 pub processing_job_category_name: Option<String>,
10202 #[serde(rename = "ProcessingJobTypeName")]
10203 pub processing_job_type_name: Option<String>,
10204 #[serde(rename = "ProductImageFileSystemIds")]
10205 pub product_image_file_system_ids: Option<String>,
10206 #[serde(rename = "ProductPDFFileSystemIds")]
10207 pub product_pdf_file_system_ids: Option<String>,
10208 #[serde(rename = "ProductPhotoDescription")]
10209 pub product_photo_description: Option<String>,
10210 #[serde(rename = "PublicIngredients")]
10211 pub public_ingredients: Option<String>,
10212 #[serde(rename = "ServingSize")]
10213 pub serving_size: Option<String>,
10214 #[serde(rename = "Strain")]
10215 pub strain: Option<String>,
10216 #[serde(rename = "SupplyDurationDays")]
10217 pub supply_duration_days: Option<i64>,
10218 #[serde(rename = "UnitCbdAContent")]
10219 pub unit_cbd_a_content: Option<f64>,
10220 #[serde(rename = "UnitCbdAContentDose")]
10221 pub unit_cbd_a_content_dose: Option<f64>,
10222 #[serde(rename = "UnitCbdAContentDoseUnitOfMeasure")]
10223 pub unit_cbd_a_content_dose_unit_of_measure: Option<String>,
10224 #[serde(rename = "UnitCbdAContentUnitOfMeasure")]
10225 pub unit_cbd_a_content_unit_of_measure: Option<String>,
10226 #[serde(rename = "UnitCbdAPercent")]
10227 pub unit_cbd_a_percent: Option<f64>,
10228 #[serde(rename = "UnitCbdContent")]
10229 pub unit_cbd_content: Option<f64>,
10230 #[serde(rename = "UnitCbdContentDose")]
10231 pub unit_cbd_content_dose: Option<f64>,
10232 #[serde(rename = "UnitCbdContentDoseUnitOfMeasure")]
10233 pub unit_cbd_content_dose_unit_of_measure: Option<String>,
10234 #[serde(rename = "UnitCbdContentUnitOfMeasure")]
10235 pub unit_cbd_content_unit_of_measure: Option<String>,
10236 #[serde(rename = "UnitCbdPercent")]
10237 pub unit_cbd_percent: Option<f64>,
10238 #[serde(rename = "UnitOfMeasure")]
10239 pub unit_of_measure: Option<String>,
10240 #[serde(rename = "UnitThcAContent")]
10241 pub unit_thc_a_content: Option<f64>,
10242 #[serde(rename = "UnitThcAContentDose")]
10243 pub unit_thc_a_content_dose: Option<f64>,
10244 #[serde(rename = "UnitThcAContentDoseUnitOfMeasure")]
10245 pub unit_thc_a_content_dose_unit_of_measure: Option<String>,
10246 #[serde(rename = "UnitThcAContentUnitOfMeasure")]
10247 pub unit_thc_a_content_unit_of_measure: Option<String>,
10248 #[serde(rename = "UnitThcAPercent")]
10249 pub unit_thc_a_percent: Option<f64>,
10250 #[serde(rename = "UnitThcContent")]
10251 pub unit_thc_content: Option<f64>,
10252 #[serde(rename = "UnitThcContentDose")]
10253 pub unit_thc_content_dose: Option<f64>,
10254 #[serde(rename = "UnitThcContentDoseUnitOfMeasure")]
10255 pub unit_thc_content_dose_unit_of_measure: Option<String>,
10256 #[serde(rename = "UnitThcContentUnitOfMeasure")]
10257 pub unit_thc_content_unit_of_measure: Option<String>,
10258 #[serde(rename = "UnitThcPercent")]
10259 pub unit_thc_percent: Option<f64>,
10260 #[serde(rename = "UnitVolume")]
10261 pub unit_volume: Option<f64>,
10262 #[serde(rename = "UnitVolumeUnitOfMeasure")]
10263 pub unit_volume_unit_of_measure: Option<String>,
10264 #[serde(rename = "UnitWeight")]
10265 pub unit_weight: Option<f64>,
10266 #[serde(rename = "UnitWeightUnitOfMeasure")]
10267 pub unit_weight_unit_of_measure: Option<String>,
10268}
10269
10270#[derive(Serialize, Deserialize, Debug, Clone)]
10271pub struct ItemsCreateV2RequestItem {
10272 #[serde(rename = "AdministrationMethod")]
10273 pub administration_method: Option<String>,
10274 #[serde(rename = "Allergens")]
10275 pub allergens: Option<String>,
10276 #[serde(rename = "Description")]
10277 pub description: Option<String>,
10278 #[serde(rename = "GlobalProductName")]
10279 pub global_product_name: Option<String>,
10280 #[serde(rename = "ItemBrand")]
10281 pub item_brand: Option<String>,
10282 #[serde(rename = "ItemCategory")]
10283 pub item_category: Option<String>,
10284 #[serde(rename = "ItemIngredients")]
10285 pub item_ingredients: Option<String>,
10286 #[serde(rename = "LabelImageFileSystemIds")]
10287 pub label_image_file_system_ids: Option<String>,
10288 #[serde(rename = "LabelPhotoDescription")]
10289 pub label_photo_description: Option<String>,
10290 #[serde(rename = "Name")]
10291 pub name: Option<String>,
10292 #[serde(rename = "NumberOfDoses")]
10293 pub number_of_doses: Option<String>,
10294 #[serde(rename = "PackagingImageFileSystemIds")]
10295 pub packaging_image_file_system_ids: Option<String>,
10296 #[serde(rename = "PackagingPhotoDescription")]
10297 pub packaging_photo_description: Option<String>,
10298 #[serde(rename = "ProcessingJobCategoryName")]
10299 pub processing_job_category_name: Option<String>,
10300 #[serde(rename = "ProcessingJobTypeName")]
10301 pub processing_job_type_name: Option<String>,
10302 #[serde(rename = "ProductImageFileSystemIds")]
10303 pub product_image_file_system_ids: Option<String>,
10304 #[serde(rename = "ProductPDFFileSystemIds")]
10305 pub product_pdf_file_system_ids: Option<String>,
10306 #[serde(rename = "ProductPhotoDescription")]
10307 pub product_photo_description: Option<String>,
10308 #[serde(rename = "PublicIngredients")]
10309 pub public_ingredients: Option<String>,
10310 #[serde(rename = "ServingSize")]
10311 pub serving_size: Option<String>,
10312 #[serde(rename = "Strain")]
10313 pub strain: Option<String>,
10314 #[serde(rename = "SupplyDurationDays")]
10315 pub supply_duration_days: Option<i64>,
10316 #[serde(rename = "UnitCbdAContent")]
10317 pub unit_cbd_a_content: Option<f64>,
10318 #[serde(rename = "UnitCbdAContentDose")]
10319 pub unit_cbd_a_content_dose: Option<f64>,
10320 #[serde(rename = "UnitCbdAContentDoseUnitOfMeasure")]
10321 pub unit_cbd_a_content_dose_unit_of_measure: Option<String>,
10322 #[serde(rename = "UnitCbdAContentUnitOfMeasure")]
10323 pub unit_cbd_a_content_unit_of_measure: Option<String>,
10324 #[serde(rename = "UnitCbdAPercent")]
10325 pub unit_cbd_a_percent: Option<f64>,
10326 #[serde(rename = "UnitCbdContent")]
10327 pub unit_cbd_content: Option<f64>,
10328 #[serde(rename = "UnitCbdContentDose")]
10329 pub unit_cbd_content_dose: Option<f64>,
10330 #[serde(rename = "UnitCbdContentDoseUnitOfMeasure")]
10331 pub unit_cbd_content_dose_unit_of_measure: Option<String>,
10332 #[serde(rename = "UnitCbdContentUnitOfMeasure")]
10333 pub unit_cbd_content_unit_of_measure: Option<String>,
10334 #[serde(rename = "UnitCbdPercent")]
10335 pub unit_cbd_percent: Option<f64>,
10336 #[serde(rename = "UnitOfMeasure")]
10337 pub unit_of_measure: Option<String>,
10338 #[serde(rename = "UnitThcAContent")]
10339 pub unit_thc_a_content: Option<f64>,
10340 #[serde(rename = "UnitThcAContentDose")]
10341 pub unit_thc_a_content_dose: Option<f64>,
10342 #[serde(rename = "UnitThcAContentDoseUnitOfMeasure")]
10343 pub unit_thc_a_content_dose_unit_of_measure: Option<String>,
10344 #[serde(rename = "UnitThcAContentUnitOfMeasure")]
10345 pub unit_thc_a_content_unit_of_measure: Option<String>,
10346 #[serde(rename = "UnitThcAPercent")]
10347 pub unit_thc_a_percent: Option<f64>,
10348 #[serde(rename = "UnitThcContent")]
10349 pub unit_thc_content: Option<f64>,
10350 #[serde(rename = "UnitThcContentDose")]
10351 pub unit_thc_content_dose: Option<f64>,
10352 #[serde(rename = "UnitThcContentDoseUnitOfMeasure")]
10353 pub unit_thc_content_dose_unit_of_measure: Option<String>,
10354 #[serde(rename = "UnitThcContentUnitOfMeasure")]
10355 pub unit_thc_content_unit_of_measure: Option<String>,
10356 #[serde(rename = "UnitThcPercent")]
10357 pub unit_thc_percent: Option<f64>,
10358 #[serde(rename = "UnitVolume")]
10359 pub unit_volume: Option<f64>,
10360 #[serde(rename = "UnitVolumeUnitOfMeasure")]
10361 pub unit_volume_unit_of_measure: Option<String>,
10362 #[serde(rename = "UnitWeight")]
10363 pub unit_weight: Option<f64>,
10364 #[serde(rename = "UnitWeightUnitOfMeasure")]
10365 pub unit_weight_unit_of_measure: Option<String>,
10366}
10367
10368#[derive(Serialize, Deserialize, Debug, Clone)]
10369pub struct ItemsCreateBrandV2RequestItem {
10370 #[serde(rename = "Name")]
10371 pub name: Option<String>,
10372}
10373
10374#[derive(Serialize, Deserialize, Debug, Clone)]
10375pub struct ItemsCreateFileV2RequestItem {
10376 #[serde(rename = "EncodedImageBase64")]
10377 pub encoded_image_base64: Option<String>,
10378 #[serde(rename = "FileName")]
10379 pub file_name: Option<String>,
10380}
10381
10382#[derive(Serialize, Deserialize, Debug, Clone)]
10383pub struct ItemsCreatePhotoV1RequestItem {
10384 #[serde(rename = "EncodedImageBase64")]
10385 pub encoded_image_base64: Option<String>,
10386 #[serde(rename = "FileName")]
10387 pub file_name: Option<String>,
10388}
10389
10390#[derive(Serialize, Deserialize, Debug, Clone)]
10391pub struct ItemsCreatePhotoV2RequestItem {
10392 #[serde(rename = "EncodedImageBase64")]
10393 pub encoded_image_base64: Option<String>,
10394 #[serde(rename = "FileName")]
10395 pub file_name: Option<String>,
10396}
10397
10398#[derive(Serialize, Deserialize, Debug, Clone)]
10399pub struct ItemsCreateUpdateV1RequestItem {
10400 #[serde(rename = "AdministrationMethod")]
10401 pub administration_method: Option<String>,
10402 #[serde(rename = "Allergens")]
10403 pub allergens: Option<String>,
10404 #[serde(rename = "Description")]
10405 pub description: Option<String>,
10406 #[serde(rename = "GlobalProductName")]
10407 pub global_product_name: Option<String>,
10408 #[serde(rename = "Id")]
10409 pub id: Option<i64>,
10410 #[serde(rename = "ItemBrand")]
10411 pub item_brand: Option<String>,
10412 #[serde(rename = "ItemCategory")]
10413 pub item_category: Option<String>,
10414 #[serde(rename = "ItemIngredients")]
10415 pub item_ingredients: Option<String>,
10416 #[serde(rename = "LabelImageFileSystemIds")]
10417 pub label_image_file_system_ids: Option<String>,
10418 #[serde(rename = "LabelPhotoDescription")]
10419 pub label_photo_description: Option<String>,
10420 #[serde(rename = "Name")]
10421 pub name: Option<String>,
10422 #[serde(rename = "NumberOfDoses")]
10423 pub number_of_doses: Option<String>,
10424 #[serde(rename = "PackagingImageFileSystemIds")]
10425 pub packaging_image_file_system_ids: Option<String>,
10426 #[serde(rename = "PackagingPhotoDescription")]
10427 pub packaging_photo_description: Option<String>,
10428 #[serde(rename = "ProcessingJobCategoryName")]
10429 pub processing_job_category_name: Option<String>,
10430 #[serde(rename = "ProcessingJobTypeName")]
10431 pub processing_job_type_name: Option<String>,
10432 #[serde(rename = "ProductImageFileSystemIds")]
10433 pub product_image_file_system_ids: Option<String>,
10434 #[serde(rename = "ProductPDFFileSystemIds")]
10435 pub product_pdf_file_system_ids: Option<String>,
10436 #[serde(rename = "ProductPhotoDescription")]
10437 pub product_photo_description: Option<String>,
10438 #[serde(rename = "PublicIngredients")]
10439 pub public_ingredients: Option<String>,
10440 #[serde(rename = "ServingSize")]
10441 pub serving_size: Option<String>,
10442 #[serde(rename = "Strain")]
10443 pub strain: Option<String>,
10444 #[serde(rename = "SupplyDurationDays")]
10445 pub supply_duration_days: Option<i64>,
10446 #[serde(rename = "UnitCbdAContent")]
10447 pub unit_cbd_a_content: Option<f64>,
10448 #[serde(rename = "UnitCbdAContentDose")]
10449 pub unit_cbd_a_content_dose: Option<f64>,
10450 #[serde(rename = "UnitCbdAContentDoseUnitOfMeasure")]
10451 pub unit_cbd_a_content_dose_unit_of_measure: Option<String>,
10452 #[serde(rename = "UnitCbdAContentUnitOfMeasure")]
10453 pub unit_cbd_a_content_unit_of_measure: Option<String>,
10454 #[serde(rename = "UnitCbdAPercent")]
10455 pub unit_cbd_a_percent: Option<f64>,
10456 #[serde(rename = "UnitCbdContent")]
10457 pub unit_cbd_content: Option<f64>,
10458 #[serde(rename = "UnitCbdContentDose")]
10459 pub unit_cbd_content_dose: Option<f64>,
10460 #[serde(rename = "UnitCbdContentDoseUnitOfMeasure")]
10461 pub unit_cbd_content_dose_unit_of_measure: Option<String>,
10462 #[serde(rename = "UnitCbdContentUnitOfMeasure")]
10463 pub unit_cbd_content_unit_of_measure: Option<String>,
10464 #[serde(rename = "UnitCbdPercent")]
10465 pub unit_cbd_percent: Option<f64>,
10466 #[serde(rename = "UnitOfMeasure")]
10467 pub unit_of_measure: Option<String>,
10468 #[serde(rename = "UnitThcAContent")]
10469 pub unit_thc_a_content: Option<f64>,
10470 #[serde(rename = "UnitThcAContentDose")]
10471 pub unit_thc_a_content_dose: Option<f64>,
10472 #[serde(rename = "UnitThcAContentDoseUnitOfMeasure")]
10473 pub unit_thc_a_content_dose_unit_of_measure: Option<String>,
10474 #[serde(rename = "UnitThcAContentUnitOfMeasure")]
10475 pub unit_thc_a_content_unit_of_measure: Option<String>,
10476 #[serde(rename = "UnitThcAPercent")]
10477 pub unit_thc_a_percent: Option<f64>,
10478 #[serde(rename = "UnitThcContent")]
10479 pub unit_thc_content: Option<f64>,
10480 #[serde(rename = "UnitThcContentDose")]
10481 pub unit_thc_content_dose: Option<f64>,
10482 #[serde(rename = "UnitThcContentDoseUnitOfMeasure")]
10483 pub unit_thc_content_dose_unit_of_measure: Option<String>,
10484 #[serde(rename = "UnitThcContentUnitOfMeasure")]
10485 pub unit_thc_content_unit_of_measure: Option<String>,
10486 #[serde(rename = "UnitThcPercent")]
10487 pub unit_thc_percent: Option<f64>,
10488 #[serde(rename = "UnitVolume")]
10489 pub unit_volume: Option<f64>,
10490 #[serde(rename = "UnitVolumeUnitOfMeasure")]
10491 pub unit_volume_unit_of_measure: Option<String>,
10492 #[serde(rename = "UnitWeight")]
10493 pub unit_weight: Option<f64>,
10494 #[serde(rename = "UnitWeightUnitOfMeasure")]
10495 pub unit_weight_unit_of_measure: Option<String>,
10496}
10497
10498#[derive(Serialize, Deserialize, Debug, Clone)]
10499pub struct ItemsUpdateV2RequestItem {
10500 #[serde(rename = "AdministrationMethod")]
10501 pub administration_method: Option<String>,
10502 #[serde(rename = "Allergens")]
10503 pub allergens: Option<String>,
10504 #[serde(rename = "Description")]
10505 pub description: Option<String>,
10506 #[serde(rename = "GlobalProductName")]
10507 pub global_product_name: Option<String>,
10508 #[serde(rename = "Id")]
10509 pub id: Option<i64>,
10510 #[serde(rename = "ItemBrand")]
10511 pub item_brand: Option<String>,
10512 #[serde(rename = "ItemCategory")]
10513 pub item_category: Option<String>,
10514 #[serde(rename = "ItemIngredients")]
10515 pub item_ingredients: Option<String>,
10516 #[serde(rename = "LabelImageFileSystemIds")]
10517 pub label_image_file_system_ids: Option<String>,
10518 #[serde(rename = "LabelPhotoDescription")]
10519 pub label_photo_description: Option<String>,
10520 #[serde(rename = "Name")]
10521 pub name: Option<String>,
10522 #[serde(rename = "NumberOfDoses")]
10523 pub number_of_doses: Option<String>,
10524 #[serde(rename = "PackagingImageFileSystemIds")]
10525 pub packaging_image_file_system_ids: Option<String>,
10526 #[serde(rename = "PackagingPhotoDescription")]
10527 pub packaging_photo_description: Option<String>,
10528 #[serde(rename = "ProcessingJobCategoryName")]
10529 pub processing_job_category_name: Option<String>,
10530 #[serde(rename = "ProcessingJobTypeName")]
10531 pub processing_job_type_name: Option<String>,
10532 #[serde(rename = "ProductImageFileSystemIds")]
10533 pub product_image_file_system_ids: Option<String>,
10534 #[serde(rename = "ProductPDFFileSystemIds")]
10535 pub product_pdf_file_system_ids: Option<String>,
10536 #[serde(rename = "ProductPhotoDescription")]
10537 pub product_photo_description: Option<String>,
10538 #[serde(rename = "PublicIngredients")]
10539 pub public_ingredients: Option<String>,
10540 #[serde(rename = "ServingSize")]
10541 pub serving_size: Option<String>,
10542 #[serde(rename = "Strain")]
10543 pub strain: Option<String>,
10544 #[serde(rename = "SupplyDurationDays")]
10545 pub supply_duration_days: Option<i64>,
10546 #[serde(rename = "UnitCbdAContent")]
10547 pub unit_cbd_a_content: Option<f64>,
10548 #[serde(rename = "UnitCbdAContentDose")]
10549 pub unit_cbd_a_content_dose: Option<f64>,
10550 #[serde(rename = "UnitCbdAContentDoseUnitOfMeasure")]
10551 pub unit_cbd_a_content_dose_unit_of_measure: Option<String>,
10552 #[serde(rename = "UnitCbdAContentUnitOfMeasure")]
10553 pub unit_cbd_a_content_unit_of_measure: Option<String>,
10554 #[serde(rename = "UnitCbdAPercent")]
10555 pub unit_cbd_a_percent: Option<f64>,
10556 #[serde(rename = "UnitCbdContent")]
10557 pub unit_cbd_content: Option<f64>,
10558 #[serde(rename = "UnitCbdContentDose")]
10559 pub unit_cbd_content_dose: Option<f64>,
10560 #[serde(rename = "UnitCbdContentDoseUnitOfMeasure")]
10561 pub unit_cbd_content_dose_unit_of_measure: Option<String>,
10562 #[serde(rename = "UnitCbdContentUnitOfMeasure")]
10563 pub unit_cbd_content_unit_of_measure: Option<String>,
10564 #[serde(rename = "UnitCbdPercent")]
10565 pub unit_cbd_percent: Option<f64>,
10566 #[serde(rename = "UnitOfMeasure")]
10567 pub unit_of_measure: Option<String>,
10568 #[serde(rename = "UnitThcAContent")]
10569 pub unit_thc_a_content: Option<f64>,
10570 #[serde(rename = "UnitThcAContentDose")]
10571 pub unit_thc_a_content_dose: Option<f64>,
10572 #[serde(rename = "UnitThcAContentDoseUnitOfMeasure")]
10573 pub unit_thc_a_content_dose_unit_of_measure: Option<String>,
10574 #[serde(rename = "UnitThcAContentUnitOfMeasure")]
10575 pub unit_thc_a_content_unit_of_measure: Option<String>,
10576 #[serde(rename = "UnitThcAPercent")]
10577 pub unit_thc_a_percent: Option<f64>,
10578 #[serde(rename = "UnitThcContent")]
10579 pub unit_thc_content: Option<f64>,
10580 #[serde(rename = "UnitThcContentDose")]
10581 pub unit_thc_content_dose: Option<f64>,
10582 #[serde(rename = "UnitThcContentDoseUnitOfMeasure")]
10583 pub unit_thc_content_dose_unit_of_measure: Option<String>,
10584 #[serde(rename = "UnitThcContentUnitOfMeasure")]
10585 pub unit_thc_content_unit_of_measure: Option<String>,
10586 #[serde(rename = "UnitThcPercent")]
10587 pub unit_thc_percent: Option<f64>,
10588 #[serde(rename = "UnitVolume")]
10589 pub unit_volume: Option<f64>,
10590 #[serde(rename = "UnitVolumeUnitOfMeasure")]
10591 pub unit_volume_unit_of_measure: Option<String>,
10592 #[serde(rename = "UnitWeight")]
10593 pub unit_weight: Option<f64>,
10594 #[serde(rename = "UnitWeightUnitOfMeasure")]
10595 pub unit_weight_unit_of_measure: Option<String>,
10596}
10597
10598#[derive(Serialize, Deserialize, Debug, Clone)]
10599pub struct ItemsUpdateBrandV2RequestItem {
10600 #[serde(rename = "Id")]
10601 pub id: Option<i64>,
10602 #[serde(rename = "Name")]
10603 pub name: Option<String>,
10604}
10605
10606#[derive(Serialize, Deserialize, Debug, Clone)]
10607pub struct PatientCheckInsCreateV1RequestItem {
10608 #[serde(rename = "CheckInDate")]
10609 pub check_in_date: Option<String>,
10610 #[serde(rename = "CheckInLocationId")]
10611 pub check_in_location_id: Option<i64>,
10612 #[serde(rename = "PatientLicenseNumber")]
10613 pub patient_license_number: Option<String>,
10614 #[serde(rename = "RegistrationExpiryDate")]
10615 pub registration_expiry_date: Option<String>,
10616 #[serde(rename = "RegistrationStartDate")]
10617 pub registration_start_date: Option<String>,
10618}
10619
10620#[derive(Serialize, Deserialize, Debug, Clone)]
10621pub struct PatientCheckInsCreateV2RequestItem {
10622 #[serde(rename = "CheckInDate")]
10623 pub check_in_date: Option<String>,
10624 #[serde(rename = "CheckInLocationId")]
10625 pub check_in_location_id: Option<i64>,
10626 #[serde(rename = "PatientLicenseNumber")]
10627 pub patient_license_number: Option<String>,
10628 #[serde(rename = "RegistrationExpiryDate")]
10629 pub registration_expiry_date: Option<String>,
10630 #[serde(rename = "RegistrationStartDate")]
10631 pub registration_start_date: Option<String>,
10632}
10633
10634#[derive(Serialize, Deserialize, Debug, Clone)]
10635pub struct PatientCheckInsUpdateV1RequestItem {
10636 #[serde(rename = "CheckInDate")]
10637 pub check_in_date: Option<String>,
10638 #[serde(rename = "CheckInLocationId")]
10639 pub check_in_location_id: Option<i64>,
10640 #[serde(rename = "Id")]
10641 pub id: Option<i64>,
10642 #[serde(rename = "PatientLicenseNumber")]
10643 pub patient_license_number: Option<String>,
10644 #[serde(rename = "RegistrationExpiryDate")]
10645 pub registration_expiry_date: Option<String>,
10646 #[serde(rename = "RegistrationStartDate")]
10647 pub registration_start_date: Option<String>,
10648}
10649
10650#[derive(Serialize, Deserialize, Debug, Clone)]
10651pub struct PatientCheckInsUpdateV2RequestItem {
10652 #[serde(rename = "CheckInDate")]
10653 pub check_in_date: Option<String>,
10654 #[serde(rename = "CheckInLocationId")]
10655 pub check_in_location_id: Option<i64>,
10656 #[serde(rename = "Id")]
10657 pub id: Option<i64>,
10658 #[serde(rename = "PatientLicenseNumber")]
10659 pub patient_license_number: Option<String>,
10660 #[serde(rename = "RegistrationExpiryDate")]
10661 pub registration_expiry_date: Option<String>,
10662 #[serde(rename = "RegistrationStartDate")]
10663 pub registration_start_date: Option<String>,
10664}
10665
10666#[derive(Serialize, Deserialize, Debug, Clone)]
10667pub struct AdditivesTemplatesCreateV2RequestItem {
10668 #[serde(rename = "ActiveIngredients")]
10669 pub active_ingredients: Option<Vec<AdditivesTemplatesCreateV2RequestItemActiveIngredients>>,
10670 #[serde(rename = "AdditiveType")]
10671 pub additive_type: Option<String>,
10672 #[serde(rename = "ApplicationDevice")]
10673 pub application_device: Option<String>,
10674 #[serde(rename = "EpaRegistrationNumber")]
10675 pub epa_registration_number: Option<String>,
10676 #[serde(rename = "Name")]
10677 pub name: Option<String>,
10678 #[serde(rename = "Note")]
10679 pub note: Option<String>,
10680 #[serde(rename = "ProductSupplier")]
10681 pub product_supplier: Option<String>,
10682 #[serde(rename = "ProductTradeName")]
10683 pub product_trade_name: Option<String>,
10684 #[serde(rename = "RestrictiveEntryIntervalQuantityDescription")]
10685 pub restrictive_entry_interval_quantity_description: Option<String>,
10686 #[serde(rename = "RestrictiveEntryIntervalTimeDescription")]
10687 pub restrictive_entry_interval_time_description: Option<String>,
10688}
10689
10690#[derive(Serialize, Deserialize, Debug, Clone)]
10691pub struct AdditivesTemplatesCreateV2RequestItemActiveIngredients {
10692 #[serde(rename = "Name")]
10693 pub name: Option<String>,
10694 #[serde(rename = "Percentage")]
10695 pub percentage: Option<f64>,
10696}
10697
10698#[derive(Serialize, Deserialize, Debug, Clone)]
10699pub struct AdditivesTemplatesUpdateV2RequestItem {
10700 #[serde(rename = "ActiveIngredients")]
10701 pub active_ingredients: Option<Vec<AdditivesTemplatesUpdateV2RequestItemActiveIngredients>>,
10702 #[serde(rename = "AdditiveType")]
10703 pub additive_type: Option<String>,
10704 #[serde(rename = "ApplicationDevice")]
10705 pub application_device: Option<String>,
10706 #[serde(rename = "EpaRegistrationNumber")]
10707 pub epa_registration_number: Option<String>,
10708 #[serde(rename = "Id")]
10709 pub id: Option<i64>,
10710 #[serde(rename = "Name")]
10711 pub name: Option<String>,
10712 #[serde(rename = "Note")]
10713 pub note: Option<String>,
10714 #[serde(rename = "ProductSupplier")]
10715 pub product_supplier: Option<String>,
10716 #[serde(rename = "ProductTradeName")]
10717 pub product_trade_name: Option<String>,
10718 #[serde(rename = "RestrictiveEntryIntervalQuantityDescription")]
10719 pub restrictive_entry_interval_quantity_description: Option<String>,
10720 #[serde(rename = "RestrictiveEntryIntervalTimeDescription")]
10721 pub restrictive_entry_interval_time_description: Option<String>,
10722}
10723
10724#[derive(Serialize, Deserialize, Debug, Clone)]
10725pub struct AdditivesTemplatesUpdateV2RequestItemActiveIngredients {
10726 #[serde(rename = "Name")]
10727 pub name: Option<String>,
10728 #[serde(rename = "Percentage")]
10729 pub percentage: Option<f64>,
10730}
10731
10732#[derive(Serialize, Deserialize, Debug, Clone)]
10733pub struct HarvestsCreateFinishV1RequestItem {
10734 #[serde(rename = "ActualDate")]
10735 pub actual_date: Option<String>,
10736 #[serde(rename = "Id")]
10737 pub id: Option<i64>,
10738}
10739
10740#[derive(Serialize, Deserialize, Debug, Clone)]
10741pub struct HarvestsCreatePackageV1RequestItem {
10742 #[serde(rename = "ActualDate")]
10743 pub actual_date: Option<String>,
10744 #[serde(rename = "DecontaminateProduct")]
10745 pub decontaminate_product: Option<bool>,
10746 #[serde(rename = "DecontaminationDate")]
10747 pub decontamination_date: Option<String>,
10748 #[serde(rename = "DecontaminationSteps")]
10749 pub decontamination_steps: Option<String>,
10750 #[serde(rename = "ExpirationDate")]
10751 pub expiration_date: Option<String>,
10752 #[serde(rename = "Ingredients")]
10753 pub ingredients: Option<Vec<HarvestsCreatePackageV1RequestItemIngredients>>,
10754 #[serde(rename = "IsDonation")]
10755 pub is_donation: Option<bool>,
10756 #[serde(rename = "IsProductionBatch")]
10757 pub is_production_batch: Option<bool>,
10758 #[serde(rename = "IsTradeSample")]
10759 pub is_trade_sample: Option<bool>,
10760 #[serde(rename = "Item")]
10761 pub item: Option<String>,
10762 #[serde(rename = "LabTestStageId")]
10763 pub lab_test_stage_id: Option<i64>,
10764 #[serde(rename = "Location")]
10765 pub location: Option<String>,
10766 #[serde(rename = "Note")]
10767 pub note: Option<String>,
10768 #[serde(rename = "PatientLicenseNumber")]
10769 pub patient_license_number: Option<String>,
10770 #[serde(rename = "ProcessingJobTypeId")]
10771 pub processing_job_type_id: Option<i64>,
10772 #[serde(rename = "ProductRequiresDecontamination")]
10773 pub product_requires_decontamination: Option<bool>,
10774 #[serde(rename = "ProductRequiresRemediation")]
10775 pub product_requires_remediation: Option<bool>,
10776 #[serde(rename = "ProductionBatchNumber")]
10777 pub production_batch_number: Option<String>,
10778 #[serde(rename = "RemediateProduct")]
10779 pub remediate_product: Option<bool>,
10780 #[serde(rename = "RemediationDate")]
10781 pub remediation_date: Option<String>,
10782 #[serde(rename = "RemediationMethodId")]
10783 pub remediation_method_id: Option<i64>,
10784 #[serde(rename = "RemediationSteps")]
10785 pub remediation_steps: Option<String>,
10786 #[serde(rename = "RequiredLabTestBatches")]
10787 pub required_lab_test_batches: Option<Vec<Value>>,
10788 #[serde(rename = "SellByDate")]
10789 pub sell_by_date: Option<String>,
10790 #[serde(rename = "Sublocation")]
10791 pub sublocation: Option<String>,
10792 #[serde(rename = "Tag")]
10793 pub tag: Option<String>,
10794 #[serde(rename = "UnitOfWeight")]
10795 pub unit_of_weight: Option<String>,
10796 #[serde(rename = "UseByDate")]
10797 pub use_by_date: Option<String>,
10798}
10799
10800#[derive(Serialize, Deserialize, Debug, Clone)]
10801pub struct HarvestsCreatePackageV1RequestItemIngredients {
10802 #[serde(rename = "HarvestId")]
10803 pub harvest_id: Option<i64>,
10804 #[serde(rename = "HarvestName")]
10805 pub harvest_name: Option<String>,
10806 #[serde(rename = "UnitOfWeight")]
10807 pub unit_of_weight: Option<String>,
10808 #[serde(rename = "Weight")]
10809 pub weight: Option<f64>,
10810}
10811
10812#[derive(Serialize, Deserialize, Debug, Clone)]
10813pub struct HarvestsCreatePackageV2RequestItem {
10814 #[serde(rename = "ActualDate")]
10815 pub actual_date: Option<String>,
10816 #[serde(rename = "DecontaminateProduct")]
10817 pub decontaminate_product: Option<bool>,
10818 #[serde(rename = "DecontaminationDate")]
10819 pub decontamination_date: Option<String>,
10820 #[serde(rename = "DecontaminationSteps")]
10821 pub decontamination_steps: Option<String>,
10822 #[serde(rename = "ExpirationDate")]
10823 pub expiration_date: Option<String>,
10824 #[serde(rename = "Ingredients")]
10825 pub ingredients: Option<Vec<HarvestsCreatePackageV2RequestItemIngredients>>,
10826 #[serde(rename = "IsDonation")]
10827 pub is_donation: Option<bool>,
10828 #[serde(rename = "IsProductionBatch")]
10829 pub is_production_batch: Option<bool>,
10830 #[serde(rename = "IsTradeSample")]
10831 pub is_trade_sample: Option<bool>,
10832 #[serde(rename = "Item")]
10833 pub item: Option<String>,
10834 #[serde(rename = "LabTestStageId")]
10835 pub lab_test_stage_id: Option<i64>,
10836 #[serde(rename = "Location")]
10837 pub location: Option<String>,
10838 #[serde(rename = "Note")]
10839 pub note: Option<String>,
10840 #[serde(rename = "PatientLicenseNumber")]
10841 pub patient_license_number: Option<String>,
10842 #[serde(rename = "ProcessingJobTypeId")]
10843 pub processing_job_type_id: Option<i64>,
10844 #[serde(rename = "ProductRequiresDecontamination")]
10845 pub product_requires_decontamination: Option<bool>,
10846 #[serde(rename = "ProductRequiresRemediation")]
10847 pub product_requires_remediation: Option<bool>,
10848 #[serde(rename = "ProductionBatchNumber")]
10849 pub production_batch_number: Option<String>,
10850 #[serde(rename = "RemediateProduct")]
10851 pub remediate_product: Option<bool>,
10852 #[serde(rename = "RemediationDate")]
10853 pub remediation_date: Option<String>,
10854 #[serde(rename = "RemediationMethodId")]
10855 pub remediation_method_id: Option<i64>,
10856 #[serde(rename = "RemediationSteps")]
10857 pub remediation_steps: Option<String>,
10858 #[serde(rename = "RequiredLabTestBatches")]
10859 pub required_lab_test_batches: Option<Vec<Value>>,
10860 #[serde(rename = "SellByDate")]
10861 pub sell_by_date: Option<String>,
10862 #[serde(rename = "Sublocation")]
10863 pub sublocation: Option<String>,
10864 #[serde(rename = "Tag")]
10865 pub tag: Option<String>,
10866 #[serde(rename = "UnitOfWeight")]
10867 pub unit_of_weight: Option<String>,
10868 #[serde(rename = "UseByDate")]
10869 pub use_by_date: Option<String>,
10870}
10871
10872#[derive(Serialize, Deserialize, Debug, Clone)]
10873pub struct HarvestsCreatePackageV2RequestItemIngredients {
10874 #[serde(rename = "HarvestId")]
10875 pub harvest_id: Option<i64>,
10876 #[serde(rename = "HarvestName")]
10877 pub harvest_name: Option<String>,
10878 #[serde(rename = "UnitOfWeight")]
10879 pub unit_of_weight: Option<String>,
10880 #[serde(rename = "Weight")]
10881 pub weight: Option<f64>,
10882}
10883
10884#[derive(Serialize, Deserialize, Debug, Clone)]
10885pub struct HarvestsCreatePackageTestingV1RequestItem {
10886 #[serde(rename = "ActualDate")]
10887 pub actual_date: Option<String>,
10888 #[serde(rename = "DecontaminateProduct")]
10889 pub decontaminate_product: Option<bool>,
10890 #[serde(rename = "DecontaminationDate")]
10891 pub decontamination_date: Option<String>,
10892 #[serde(rename = "DecontaminationSteps")]
10893 pub decontamination_steps: Option<String>,
10894 #[serde(rename = "ExpirationDate")]
10895 pub expiration_date: Option<String>,
10896 #[serde(rename = "Ingredients")]
10897 pub ingredients: Option<Vec<HarvestsCreatePackageTestingV1RequestItemIngredients>>,
10898 #[serde(rename = "IsDonation")]
10899 pub is_donation: Option<bool>,
10900 #[serde(rename = "IsProductionBatch")]
10901 pub is_production_batch: Option<bool>,
10902 #[serde(rename = "IsTradeSample")]
10903 pub is_trade_sample: Option<bool>,
10904 #[serde(rename = "Item")]
10905 pub item: Option<String>,
10906 #[serde(rename = "LabTestStageId")]
10907 pub lab_test_stage_id: Option<i64>,
10908 #[serde(rename = "Location")]
10909 pub location: Option<String>,
10910 #[serde(rename = "Note")]
10911 pub note: Option<String>,
10912 #[serde(rename = "PatientLicenseNumber")]
10913 pub patient_license_number: Option<String>,
10914 #[serde(rename = "ProcessingJobTypeId")]
10915 pub processing_job_type_id: Option<i64>,
10916 #[serde(rename = "ProductRequiresDecontamination")]
10917 pub product_requires_decontamination: Option<bool>,
10918 #[serde(rename = "ProductRequiresRemediation")]
10919 pub product_requires_remediation: Option<bool>,
10920 #[serde(rename = "ProductionBatchNumber")]
10921 pub production_batch_number: Option<String>,
10922 #[serde(rename = "RemediateProduct")]
10923 pub remediate_product: Option<bool>,
10924 #[serde(rename = "RemediationDate")]
10925 pub remediation_date: Option<String>,
10926 #[serde(rename = "RemediationMethodId")]
10927 pub remediation_method_id: Option<i64>,
10928 #[serde(rename = "RemediationSteps")]
10929 pub remediation_steps: Option<String>,
10930 #[serde(rename = "RequiredLabTestBatches")]
10931 pub required_lab_test_batches: Option<Vec<Value>>,
10932 #[serde(rename = "SellByDate")]
10933 pub sell_by_date: Option<String>,
10934 #[serde(rename = "Sublocation")]
10935 pub sublocation: Option<String>,
10936 #[serde(rename = "Tag")]
10937 pub tag: Option<String>,
10938 #[serde(rename = "UnitOfWeight")]
10939 pub unit_of_weight: Option<String>,
10940 #[serde(rename = "UseByDate")]
10941 pub use_by_date: Option<String>,
10942}
10943
10944#[derive(Serialize, Deserialize, Debug, Clone)]
10945pub struct HarvestsCreatePackageTestingV1RequestItemIngredients {
10946 #[serde(rename = "HarvestId")]
10947 pub harvest_id: Option<i64>,
10948 #[serde(rename = "HarvestName")]
10949 pub harvest_name: Option<String>,
10950 #[serde(rename = "UnitOfWeight")]
10951 pub unit_of_weight: Option<String>,
10952 #[serde(rename = "Weight")]
10953 pub weight: Option<f64>,
10954}
10955
10956#[derive(Serialize, Deserialize, Debug, Clone)]
10957pub struct HarvestsCreatePackageTestingV2RequestItem {
10958 #[serde(rename = "ActualDate")]
10959 pub actual_date: Option<String>,
10960 #[serde(rename = "DecontaminateProduct")]
10961 pub decontaminate_product: Option<bool>,
10962 #[serde(rename = "DecontaminationDate")]
10963 pub decontamination_date: Option<String>,
10964 #[serde(rename = "DecontaminationSteps")]
10965 pub decontamination_steps: Option<String>,
10966 #[serde(rename = "ExpirationDate")]
10967 pub expiration_date: Option<String>,
10968 #[serde(rename = "Ingredients")]
10969 pub ingredients: Option<Vec<HarvestsCreatePackageTestingV2RequestItemIngredients>>,
10970 #[serde(rename = "IsDonation")]
10971 pub is_donation: Option<bool>,
10972 #[serde(rename = "IsProductionBatch")]
10973 pub is_production_batch: Option<bool>,
10974 #[serde(rename = "IsTradeSample")]
10975 pub is_trade_sample: Option<bool>,
10976 #[serde(rename = "Item")]
10977 pub item: Option<String>,
10978 #[serde(rename = "LabTestStageId")]
10979 pub lab_test_stage_id: Option<i64>,
10980 #[serde(rename = "Location")]
10981 pub location: Option<String>,
10982 #[serde(rename = "Note")]
10983 pub note: Option<String>,
10984 #[serde(rename = "PatientLicenseNumber")]
10985 pub patient_license_number: Option<String>,
10986 #[serde(rename = "ProcessingJobTypeId")]
10987 pub processing_job_type_id: Option<i64>,
10988 #[serde(rename = "ProductRequiresDecontamination")]
10989 pub product_requires_decontamination: Option<bool>,
10990 #[serde(rename = "ProductRequiresRemediation")]
10991 pub product_requires_remediation: Option<bool>,
10992 #[serde(rename = "ProductionBatchNumber")]
10993 pub production_batch_number: Option<String>,
10994 #[serde(rename = "RemediateProduct")]
10995 pub remediate_product: Option<bool>,
10996 #[serde(rename = "RemediationDate")]
10997 pub remediation_date: Option<String>,
10998 #[serde(rename = "RemediationMethodId")]
10999 pub remediation_method_id: Option<i64>,
11000 #[serde(rename = "RemediationSteps")]
11001 pub remediation_steps: Option<String>,
11002 #[serde(rename = "RequiredLabTestBatches")]
11003 pub required_lab_test_batches: Option<Vec<Value>>,
11004 #[serde(rename = "SellByDate")]
11005 pub sell_by_date: Option<String>,
11006 #[serde(rename = "Sublocation")]
11007 pub sublocation: Option<String>,
11008 #[serde(rename = "Tag")]
11009 pub tag: Option<String>,
11010 #[serde(rename = "UnitOfWeight")]
11011 pub unit_of_weight: Option<String>,
11012 #[serde(rename = "UseByDate")]
11013 pub use_by_date: Option<String>,
11014}
11015
11016#[derive(Serialize, Deserialize, Debug, Clone)]
11017pub struct HarvestsCreatePackageTestingV2RequestItemIngredients {
11018 #[serde(rename = "HarvestId")]
11019 pub harvest_id: Option<i64>,
11020 #[serde(rename = "HarvestName")]
11021 pub harvest_name: Option<String>,
11022 #[serde(rename = "UnitOfWeight")]
11023 pub unit_of_weight: Option<String>,
11024 #[serde(rename = "Weight")]
11025 pub weight: Option<f64>,
11026}
11027
11028#[derive(Serialize, Deserialize, Debug, Clone)]
11029pub struct HarvestsCreateRemoveWasteV1RequestItem {
11030 #[serde(rename = "ActualDate")]
11031 pub actual_date: Option<String>,
11032 #[serde(rename = "Id")]
11033 pub id: Option<i64>,
11034 #[serde(rename = "UnitOfWeight")]
11035 pub unit_of_weight: Option<String>,
11036 #[serde(rename = "WasteType")]
11037 pub waste_type: Option<String>,
11038 #[serde(rename = "WasteWeight")]
11039 pub waste_weight: Option<f64>,
11040}
11041
11042#[derive(Serialize, Deserialize, Debug, Clone)]
11043pub struct HarvestsCreateUnfinishV1RequestItem {
11044 #[serde(rename = "Id")]
11045 pub id: Option<i64>,
11046}
11047
11048#[derive(Serialize, Deserialize, Debug, Clone)]
11049pub struct HarvestsCreateWasteV2RequestItem {
11050 #[serde(rename = "ActualDate")]
11051 pub actual_date: Option<String>,
11052 #[serde(rename = "Id")]
11053 pub id: Option<i64>,
11054 #[serde(rename = "UnitOfWeight")]
11055 pub unit_of_weight: Option<String>,
11056 #[serde(rename = "WasteType")]
11057 pub waste_type: Option<String>,
11058 #[serde(rename = "WasteWeight")]
11059 pub waste_weight: Option<f64>,
11060}
11061
11062#[derive(Serialize, Deserialize, Debug, Clone)]
11063pub struct HarvestsUpdateFinishV2RequestItem {
11064 #[serde(rename = "ActualDate")]
11065 pub actual_date: Option<String>,
11066 #[serde(rename = "Id")]
11067 pub id: Option<i64>,
11068}
11069
11070#[derive(Serialize, Deserialize, Debug, Clone)]
11071pub struct HarvestsUpdateLocationV2RequestItem {
11072 #[serde(rename = "ActualDate")]
11073 pub actual_date: Option<String>,
11074 #[serde(rename = "DryingLocation")]
11075 pub drying_location: Option<String>,
11076 #[serde(rename = "DryingSublocation")]
11077 pub drying_sublocation: Option<String>,
11078 #[serde(rename = "HarvestName")]
11079 pub harvest_name: Option<String>,
11080 #[serde(rename = "Id")]
11081 pub id: Option<i64>,
11082}
11083
11084#[derive(Serialize, Deserialize, Debug, Clone)]
11085pub struct HarvestsUpdateMoveV1RequestItem {
11086 #[serde(rename = "ActualDate")]
11087 pub actual_date: Option<String>,
11088 #[serde(rename = "DryingLocation")]
11089 pub drying_location: Option<String>,
11090 #[serde(rename = "DryingSublocation")]
11091 pub drying_sublocation: Option<String>,
11092 #[serde(rename = "HarvestName")]
11093 pub harvest_name: Option<String>,
11094 #[serde(rename = "Id")]
11095 pub id: Option<i64>,
11096}
11097
11098#[derive(Serialize, Deserialize, Debug, Clone)]
11099pub struct HarvestsUpdateRenameV1RequestItem {
11100 #[serde(rename = "Id")]
11101 pub id: Option<i64>,
11102 #[serde(rename = "NewName")]
11103 pub new_name: Option<String>,
11104 #[serde(rename = "OldName")]
11105 pub old_name: Option<String>,
11106}
11107
11108#[derive(Serialize, Deserialize, Debug, Clone)]
11109pub struct HarvestsUpdateRenameV2RequestItem {
11110 #[serde(rename = "Id")]
11111 pub id: Option<i64>,
11112 #[serde(rename = "NewName")]
11113 pub new_name: Option<String>,
11114 #[serde(rename = "OldName")]
11115 pub old_name: Option<String>,
11116}
11117
11118#[derive(Serialize, Deserialize, Debug, Clone)]
11119pub struct HarvestsUpdateRestoreHarvestedPlantsV2RequestItem {
11120 #[serde(rename = "HarvestId")]
11121 pub harvest_id: Option<i64>,
11122 #[serde(rename = "PlantTags")]
11123 pub plant_tags: Option<Vec<String>>,
11124}
11125
11126#[derive(Serialize, Deserialize, Debug, Clone)]
11127pub struct HarvestsUpdateUnfinishV2RequestItem {
11128 #[serde(rename = "Id")]
11129 pub id: Option<i64>,
11130}
11131
11132#[derive(Serialize, Deserialize, Debug, Clone)]
11133pub struct PatientsCreateV2RequestItem {
11134 #[serde(rename = "ActualDate")]
11135 pub actual_date: Option<String>,
11136 #[serde(rename = "ConcentrateOuncesAllowed")]
11137 pub concentrate_ounces_allowed: Option<i64>,
11138 #[serde(rename = "FlowerOuncesAllowed")]
11139 pub flower_ounces_allowed: Option<i64>,
11140 #[serde(rename = "HasSalesLimitExemption")]
11141 pub has_sales_limit_exemption: Option<bool>,
11142 #[serde(rename = "InfusedOuncesAllowed")]
11143 pub infused_ounces_allowed: Option<i64>,
11144 #[serde(rename = "LicenseEffectiveEndDate")]
11145 pub license_effective_end_date: Option<String>,
11146 #[serde(rename = "LicenseEffectiveStartDate")]
11147 pub license_effective_start_date: Option<String>,
11148 #[serde(rename = "LicenseNumber")]
11149 pub license_number: Option<String>,
11150 #[serde(rename = "MaxConcentrateThcPercentAllowed")]
11151 pub max_concentrate_thc_percent_allowed: Option<i64>,
11152 #[serde(rename = "MaxFlowerThcPercentAllowed")]
11153 pub max_flower_thc_percent_allowed: Option<i64>,
11154 #[serde(rename = "RecommendedPlants")]
11155 pub recommended_plants: Option<i64>,
11156 #[serde(rename = "RecommendedSmokableQuantity")]
11157 pub recommended_smokable_quantity: Option<i64>,
11158 #[serde(rename = "ThcOuncesAllowed")]
11159 pub thc_ounces_allowed: Option<i64>,
11160}
11161
11162#[derive(Serialize, Deserialize, Debug, Clone)]
11163pub struct PatientsCreateAddV1RequestItem {
11164 #[serde(rename = "ActualDate")]
11165 pub actual_date: Option<String>,
11166 #[serde(rename = "ConcentrateOuncesAllowed")]
11167 pub concentrate_ounces_allowed: Option<i64>,
11168 #[serde(rename = "FlowerOuncesAllowed")]
11169 pub flower_ounces_allowed: Option<i64>,
11170 #[serde(rename = "HasSalesLimitExemption")]
11171 pub has_sales_limit_exemption: Option<bool>,
11172 #[serde(rename = "InfusedOuncesAllowed")]
11173 pub infused_ounces_allowed: Option<i64>,
11174 #[serde(rename = "LicenseEffectiveEndDate")]
11175 pub license_effective_end_date: Option<String>,
11176 #[serde(rename = "LicenseEffectiveStartDate")]
11177 pub license_effective_start_date: Option<String>,
11178 #[serde(rename = "LicenseNumber")]
11179 pub license_number: Option<String>,
11180 #[serde(rename = "MaxConcentrateThcPercentAllowed")]
11181 pub max_concentrate_thc_percent_allowed: Option<i64>,
11182 #[serde(rename = "MaxFlowerThcPercentAllowed")]
11183 pub max_flower_thc_percent_allowed: Option<i64>,
11184 #[serde(rename = "RecommendedPlants")]
11185 pub recommended_plants: Option<i64>,
11186 #[serde(rename = "RecommendedSmokableQuantity")]
11187 pub recommended_smokable_quantity: Option<i64>,
11188 #[serde(rename = "ThcOuncesAllowed")]
11189 pub thc_ounces_allowed: Option<i64>,
11190}
11191
11192#[derive(Serialize, Deserialize, Debug, Clone)]
11193pub struct PatientsCreateUpdateV1RequestItem {
11194 #[serde(rename = "ActualDate")]
11195 pub actual_date: Option<String>,
11196 #[serde(rename = "ConcentrateOuncesAllowed")]
11197 pub concentrate_ounces_allowed: Option<i64>,
11198 #[serde(rename = "FlowerOuncesAllowed")]
11199 pub flower_ounces_allowed: Option<i64>,
11200 #[serde(rename = "HasSalesLimitExemption")]
11201 pub has_sales_limit_exemption: Option<bool>,
11202 #[serde(rename = "InfusedOuncesAllowed")]
11203 pub infused_ounces_allowed: Option<i64>,
11204 #[serde(rename = "LicenseEffectiveEndDate")]
11205 pub license_effective_end_date: Option<String>,
11206 #[serde(rename = "LicenseEffectiveStartDate")]
11207 pub license_effective_start_date: Option<String>,
11208 #[serde(rename = "LicenseNumber")]
11209 pub license_number: Option<String>,
11210 #[serde(rename = "MaxConcentrateThcPercentAllowed")]
11211 pub max_concentrate_thc_percent_allowed: Option<i64>,
11212 #[serde(rename = "MaxFlowerThcPercentAllowed")]
11213 pub max_flower_thc_percent_allowed: Option<i64>,
11214 #[serde(rename = "NewLicenseNumber")]
11215 pub new_license_number: Option<String>,
11216 #[serde(rename = "RecommendedPlants")]
11217 pub recommended_plants: Option<i64>,
11218 #[serde(rename = "RecommendedSmokableQuantity")]
11219 pub recommended_smokable_quantity: Option<i64>,
11220 #[serde(rename = "ThcOuncesAllowed")]
11221 pub thc_ounces_allowed: Option<i64>,
11222}
11223
11224#[derive(Serialize, Deserialize, Debug, Clone)]
11225pub struct PatientsUpdateV2RequestItem {
11226 #[serde(rename = "ActualDate")]
11227 pub actual_date: Option<String>,
11228 #[serde(rename = "ConcentrateOuncesAllowed")]
11229 pub concentrate_ounces_allowed: Option<i64>,
11230 #[serde(rename = "FlowerOuncesAllowed")]
11231 pub flower_ounces_allowed: Option<i64>,
11232 #[serde(rename = "HasSalesLimitExemption")]
11233 pub has_sales_limit_exemption: Option<bool>,
11234 #[serde(rename = "InfusedOuncesAllowed")]
11235 pub infused_ounces_allowed: Option<i64>,
11236 #[serde(rename = "LicenseEffectiveEndDate")]
11237 pub license_effective_end_date: Option<String>,
11238 #[serde(rename = "LicenseEffectiveStartDate")]
11239 pub license_effective_start_date: Option<String>,
11240 #[serde(rename = "LicenseNumber")]
11241 pub license_number: Option<String>,
11242 #[serde(rename = "MaxConcentrateThcPercentAllowed")]
11243 pub max_concentrate_thc_percent_allowed: Option<i64>,
11244 #[serde(rename = "MaxFlowerThcPercentAllowed")]
11245 pub max_flower_thc_percent_allowed: Option<i64>,
11246 #[serde(rename = "NewLicenseNumber")]
11247 pub new_license_number: Option<String>,
11248 #[serde(rename = "RecommendedPlants")]
11249 pub recommended_plants: Option<i64>,
11250 #[serde(rename = "RecommendedSmokableQuantity")]
11251 pub recommended_smokable_quantity: Option<i64>,
11252 #[serde(rename = "ThcOuncesAllowed")]
11253 pub thc_ounces_allowed: Option<i64>,
11254}
11255
11256#[derive(Serialize, Deserialize, Debug, Clone)]
11257pub struct SalesCreateDeliveryV1RequestItem {
11258 #[serde(rename = "ConsumerId")]
11259 pub consumer_id: Option<i64>,
11260 #[serde(rename = "DriverEmployeeId")]
11261 pub driver_employee_id: Option<String>,
11262 #[serde(rename = "DriverName")]
11263 pub driver_name: Option<String>,
11264 #[serde(rename = "DriversLicenseNumber")]
11265 pub drivers_license_number: Option<String>,
11266 #[serde(rename = "EstimatedArrivalDateTime")]
11267 pub estimated_arrival_date_time: Option<String>,
11268 #[serde(rename = "EstimatedDepartureDateTime")]
11269 pub estimated_departure_date_time: Option<String>,
11270 #[serde(rename = "PatientLicenseNumber")]
11271 pub patient_license_number: Option<String>,
11272 #[serde(rename = "PhoneNumberForQuestions")]
11273 pub phone_number_for_questions: Option<String>,
11274 #[serde(rename = "PlannedRoute")]
11275 pub planned_route: Option<String>,
11276 #[serde(rename = "RecipientAddressCity")]
11277 pub recipient_address_city: Option<String>,
11278 #[serde(rename = "RecipientAddressCounty")]
11279 pub recipient_address_county: Option<String>,
11280 #[serde(rename = "RecipientAddressPostalCode")]
11281 pub recipient_address_postal_code: Option<String>,
11282 #[serde(rename = "RecipientAddressState")]
11283 pub recipient_address_state: Option<String>,
11284 #[serde(rename = "RecipientAddressStreet1")]
11285 pub recipient_address_street1: Option<String>,
11286 #[serde(rename = "RecipientAddressStreet2")]
11287 pub recipient_address_street2: Option<String>,
11288 #[serde(rename = "RecipientName")]
11289 pub recipient_name: Option<String>,
11290 #[serde(rename = "RecipientZoneId")]
11291 pub recipient_zone_id: Option<i64>,
11292 #[serde(rename = "SalesCustomerType")]
11293 pub sales_customer_type: Option<String>,
11294 #[serde(rename = "SalesDateTime")]
11295 pub sales_date_time: Option<String>,
11296 #[serde(rename = "Transactions")]
11297 pub transactions: Option<Vec<SalesCreateDeliveryV1RequestItemTransactions>>,
11298 #[serde(rename = "TransporterFacilityLicenseNumber")]
11299 pub transporter_facility_license_number: Option<String>,
11300 #[serde(rename = "VehicleLicensePlateNumber")]
11301 pub vehicle_license_plate_number: Option<String>,
11302 #[serde(rename = "VehicleMake")]
11303 pub vehicle_make: Option<String>,
11304 #[serde(rename = "VehicleModel")]
11305 pub vehicle_model: Option<String>,
11306}
11307
11308#[derive(Serialize, Deserialize, Debug, Clone)]
11309pub struct SalesCreateDeliveryV1RequestItemTransactions {
11310 #[serde(rename = "CityTax")]
11311 pub city_tax: Option<String>,
11312 #[serde(rename = "CountyTax")]
11313 pub county_tax: Option<String>,
11314 #[serde(rename = "DiscountAmount")]
11315 pub discount_amount: Option<String>,
11316 #[serde(rename = "ExciseTax")]
11317 pub excise_tax: Option<String>,
11318 #[serde(rename = "InvoiceNumber")]
11319 pub invoice_number: Option<String>,
11320 #[serde(rename = "MunicipalTax")]
11321 pub municipal_tax: Option<String>,
11322 #[serde(rename = "PackageLabel")]
11323 pub package_label: Option<String>,
11324 #[serde(rename = "Price")]
11325 pub price: Option<String>,
11326 #[serde(rename = "QrCodes")]
11327 pub qr_codes: Option<String>,
11328 #[serde(rename = "Quantity")]
11329 pub quantity: Option<i64>,
11330 #[serde(rename = "SalesTax")]
11331 pub sales_tax: Option<String>,
11332 #[serde(rename = "SubTotal")]
11333 pub sub_total: Option<String>,
11334 #[serde(rename = "TotalAmount")]
11335 pub total_amount: Option<f64>,
11336 #[serde(rename = "UnitOfMeasure")]
11337 pub unit_of_measure: Option<String>,
11338 #[serde(rename = "UnitThcContent")]
11339 pub unit_thc_content: Option<f64>,
11340 #[serde(rename = "UnitThcContentUnitOfMeasure")]
11341 pub unit_thc_content_unit_of_measure: Option<String>,
11342 #[serde(rename = "UnitThcPercent")]
11343 pub unit_thc_percent: Option<f64>,
11344 #[serde(rename = "UnitWeight")]
11345 pub unit_weight: Option<f64>,
11346 #[serde(rename = "UnitWeightUnitOfMeasure")]
11347 pub unit_weight_unit_of_measure: Option<String>,
11348}
11349
11350#[derive(Serialize, Deserialize, Debug, Clone)]
11351pub struct SalesCreateDeliveryV2RequestItem {
11352 #[serde(rename = "ConsumerId")]
11353 pub consumer_id: Option<i64>,
11354 #[serde(rename = "DriverEmployeeId")]
11355 pub driver_employee_id: Option<String>,
11356 #[serde(rename = "DriverName")]
11357 pub driver_name: Option<String>,
11358 #[serde(rename = "DriversLicenseNumber")]
11359 pub drivers_license_number: Option<String>,
11360 #[serde(rename = "EstimatedArrivalDateTime")]
11361 pub estimated_arrival_date_time: Option<String>,
11362 #[serde(rename = "EstimatedDepartureDateTime")]
11363 pub estimated_departure_date_time: Option<String>,
11364 #[serde(rename = "PatientLicenseNumber")]
11365 pub patient_license_number: Option<String>,
11366 #[serde(rename = "PhoneNumberForQuestions")]
11367 pub phone_number_for_questions: Option<String>,
11368 #[serde(rename = "PlannedRoute")]
11369 pub planned_route: Option<String>,
11370 #[serde(rename = "RecipientAddressCity")]
11371 pub recipient_address_city: Option<String>,
11372 #[serde(rename = "RecipientAddressCounty")]
11373 pub recipient_address_county: Option<String>,
11374 #[serde(rename = "RecipientAddressPostalCode")]
11375 pub recipient_address_postal_code: Option<String>,
11376 #[serde(rename = "RecipientAddressState")]
11377 pub recipient_address_state: Option<String>,
11378 #[serde(rename = "RecipientAddressStreet1")]
11379 pub recipient_address_street1: Option<String>,
11380 #[serde(rename = "RecipientAddressStreet2")]
11381 pub recipient_address_street2: Option<String>,
11382 #[serde(rename = "RecipientName")]
11383 pub recipient_name: Option<String>,
11384 #[serde(rename = "RecipientZoneId")]
11385 pub recipient_zone_id: Option<i64>,
11386 #[serde(rename = "SalesCustomerType")]
11387 pub sales_customer_type: Option<String>,
11388 #[serde(rename = "SalesDateTime")]
11389 pub sales_date_time: Option<String>,
11390 #[serde(rename = "Transactions")]
11391 pub transactions: Option<Vec<SalesCreateDeliveryV2RequestItemTransactions>>,
11392 #[serde(rename = "TransporterFacilityLicenseNumber")]
11393 pub transporter_facility_license_number: Option<String>,
11394 #[serde(rename = "VehicleLicensePlateNumber")]
11395 pub vehicle_license_plate_number: Option<String>,
11396 #[serde(rename = "VehicleMake")]
11397 pub vehicle_make: Option<String>,
11398 #[serde(rename = "VehicleModel")]
11399 pub vehicle_model: Option<String>,
11400}
11401
11402#[derive(Serialize, Deserialize, Debug, Clone)]
11403pub struct SalesCreateDeliveryV2RequestItemTransactions {
11404 #[serde(rename = "CityTax")]
11405 pub city_tax: Option<String>,
11406 #[serde(rename = "CountyTax")]
11407 pub county_tax: Option<String>,
11408 #[serde(rename = "DiscountAmount")]
11409 pub discount_amount: Option<String>,
11410 #[serde(rename = "ExciseTax")]
11411 pub excise_tax: Option<String>,
11412 #[serde(rename = "InvoiceNumber")]
11413 pub invoice_number: Option<String>,
11414 #[serde(rename = "MunicipalTax")]
11415 pub municipal_tax: Option<String>,
11416 #[serde(rename = "PackageLabel")]
11417 pub package_label: Option<String>,
11418 #[serde(rename = "Price")]
11419 pub price: Option<String>,
11420 #[serde(rename = "QrCodes")]
11421 pub qr_codes: Option<String>,
11422 #[serde(rename = "Quantity")]
11423 pub quantity: Option<i64>,
11424 #[serde(rename = "SalesTax")]
11425 pub sales_tax: Option<String>,
11426 #[serde(rename = "SubTotal")]
11427 pub sub_total: Option<String>,
11428 #[serde(rename = "TotalAmount")]
11429 pub total_amount: Option<f64>,
11430 #[serde(rename = "UnitOfMeasure")]
11431 pub unit_of_measure: Option<String>,
11432 #[serde(rename = "UnitThcContent")]
11433 pub unit_thc_content: Option<f64>,
11434 #[serde(rename = "UnitThcContentUnitOfMeasure")]
11435 pub unit_thc_content_unit_of_measure: Option<String>,
11436 #[serde(rename = "UnitThcPercent")]
11437 pub unit_thc_percent: Option<f64>,
11438 #[serde(rename = "UnitWeight")]
11439 pub unit_weight: Option<f64>,
11440 #[serde(rename = "UnitWeightUnitOfMeasure")]
11441 pub unit_weight_unit_of_measure: Option<String>,
11442}
11443
11444#[derive(Serialize, Deserialize, Debug, Clone)]
11445pub struct SalesCreateDeliveryRetailerV1RequestItem {
11446 #[serde(rename = "DateTime")]
11447 pub date_time: Option<String>,
11448 #[serde(rename = "Destinations")]
11449 pub destinations: Option<Vec<SalesCreateDeliveryRetailerV1RequestItemDestinations>>,
11450 #[serde(rename = "DriverEmployeeId")]
11451 pub driver_employee_id: Option<String>,
11452 #[serde(rename = "DriverName")]
11453 pub driver_name: Option<String>,
11454 #[serde(rename = "DriversLicenseNumber")]
11455 pub drivers_license_number: Option<String>,
11456 #[serde(rename = "EstimatedDepartureDateTime")]
11457 pub estimated_departure_date_time: Option<String>,
11458 #[serde(rename = "Packages")]
11459 pub packages: Option<Vec<SalesCreateDeliveryRetailerV1RequestItemPackages>>,
11460 #[serde(rename = "PhoneNumberForQuestions")]
11461 pub phone_number_for_questions: Option<String>,
11462 #[serde(rename = "VehicleLicensePlateNumber")]
11463 pub vehicle_license_plate_number: Option<String>,
11464 #[serde(rename = "VehicleMake")]
11465 pub vehicle_make: Option<String>,
11466 #[serde(rename = "VehicleModel")]
11467 pub vehicle_model: Option<String>,
11468}
11469
11470#[derive(Serialize, Deserialize, Debug, Clone)]
11471pub struct SalesCreateDeliveryRetailerV1RequestItemDestinations {
11472 #[serde(rename = "ConsumerId")]
11473 pub consumer_id: Option<String>,
11474 #[serde(rename = "EstimatedArrivalDateTime")]
11475 pub estimated_arrival_date_time: Option<String>,
11476 #[serde(rename = "PatientLicenseNumber")]
11477 pub patient_license_number: Option<String>,
11478 #[serde(rename = "RecipientAddressCity")]
11479 pub recipient_address_city: Option<String>,
11480 #[serde(rename = "RecipientAddressCounty")]
11481 pub recipient_address_county: Option<String>,
11482 #[serde(rename = "RecipientAddressPostalCode")]
11483 pub recipient_address_postal_code: Option<String>,
11484 #[serde(rename = "RecipientAddressState")]
11485 pub recipient_address_state: Option<String>,
11486 #[serde(rename = "RecipientAddressStreet1")]
11487 pub recipient_address_street1: Option<String>,
11488 #[serde(rename = "RecipientAddressStreet2")]
11489 pub recipient_address_street2: Option<String>,
11490 #[serde(rename = "RecipientName")]
11491 pub recipient_name: Option<String>,
11492 #[serde(rename = "RecipientZoneId")]
11493 pub recipient_zone_id: Option<String>,
11494 #[serde(rename = "SalesCustomerType")]
11495 pub sales_customer_type: Option<String>,
11496 #[serde(rename = "Transactions")]
11497 pub transactions: Option<Vec<SalesCreateDeliveryRetailerV1RequestItemDestinationsTransactions>>,
11498}
11499
11500#[derive(Serialize, Deserialize, Debug, Clone)]
11501pub struct SalesCreateDeliveryRetailerV1RequestItemDestinationsTransactions {
11502 #[serde(rename = "CityTax")]
11503 pub city_tax: Option<String>,
11504 #[serde(rename = "CountyTax")]
11505 pub county_tax: Option<String>,
11506 #[serde(rename = "DiscountAmount")]
11507 pub discount_amount: Option<String>,
11508 #[serde(rename = "ExciseTax")]
11509 pub excise_tax: Option<String>,
11510 #[serde(rename = "InvoiceNumber")]
11511 pub invoice_number: Option<String>,
11512 #[serde(rename = "MunicipalTax")]
11513 pub municipal_tax: Option<String>,
11514 #[serde(rename = "PackageLabel")]
11515 pub package_label: Option<String>,
11516 #[serde(rename = "Price")]
11517 pub price: Option<String>,
11518 #[serde(rename = "QrCodes")]
11519 pub qr_codes: Option<String>,
11520 #[serde(rename = "Quantity")]
11521 pub quantity: Option<i64>,
11522 #[serde(rename = "SalesTax")]
11523 pub sales_tax: Option<String>,
11524 #[serde(rename = "SubTotal")]
11525 pub sub_total: Option<String>,
11526 #[serde(rename = "TotalAmount")]
11527 pub total_amount: Option<f64>,
11528 #[serde(rename = "UnitOfMeasure")]
11529 pub unit_of_measure: Option<String>,
11530 #[serde(rename = "UnitThcContent")]
11531 pub unit_thc_content: Option<f64>,
11532 #[serde(rename = "UnitThcContentUnitOfMeasure")]
11533 pub unit_thc_content_unit_of_measure: Option<String>,
11534 #[serde(rename = "UnitThcPercent")]
11535 pub unit_thc_percent: Option<f64>,
11536 #[serde(rename = "UnitWeight")]
11537 pub unit_weight: Option<f64>,
11538 #[serde(rename = "UnitWeightUnitOfMeasure")]
11539 pub unit_weight_unit_of_measure: Option<String>,
11540}
11541
11542#[derive(Serialize, Deserialize, Debug, Clone)]
11543pub struct SalesCreateDeliveryRetailerV1RequestItemPackages {
11544 #[serde(rename = "DateTime")]
11545 pub date_time: Option<String>,
11546 #[serde(rename = "PackageLabel")]
11547 pub package_label: Option<String>,
11548 #[serde(rename = "Quantity")]
11549 pub quantity: Option<i64>,
11550 #[serde(rename = "TotalPrice")]
11551 pub total_price: Option<f64>,
11552 #[serde(rename = "UnitOfMeasure")]
11553 pub unit_of_measure: Option<String>,
11554}
11555
11556#[derive(Serialize, Deserialize, Debug, Clone)]
11557pub struct SalesCreateDeliveryRetailerV2RequestItem {
11558 #[serde(rename = "DateTime")]
11559 pub date_time: Option<String>,
11560 #[serde(rename = "Destinations")]
11561 pub destinations: Option<Vec<SalesCreateDeliveryRetailerV2RequestItemDestinations>>,
11562 #[serde(rename = "DriverEmployeeId")]
11563 pub driver_employee_id: Option<String>,
11564 #[serde(rename = "DriverName")]
11565 pub driver_name: Option<String>,
11566 #[serde(rename = "DriversLicenseNumber")]
11567 pub drivers_license_number: Option<String>,
11568 #[serde(rename = "EstimatedDepartureDateTime")]
11569 pub estimated_departure_date_time: Option<String>,
11570 #[serde(rename = "Packages")]
11571 pub packages: Option<Vec<SalesCreateDeliveryRetailerV2RequestItemPackages>>,
11572 #[serde(rename = "PhoneNumberForQuestions")]
11573 pub phone_number_for_questions: Option<String>,
11574 #[serde(rename = "VehicleLicensePlateNumber")]
11575 pub vehicle_license_plate_number: Option<String>,
11576 #[serde(rename = "VehicleMake")]
11577 pub vehicle_make: Option<String>,
11578 #[serde(rename = "VehicleModel")]
11579 pub vehicle_model: Option<String>,
11580}
11581
11582#[derive(Serialize, Deserialize, Debug, Clone)]
11583pub struct SalesCreateDeliveryRetailerV2RequestItemDestinations {
11584 #[serde(rename = "ConsumerId")]
11585 pub consumer_id: Option<String>,
11586 #[serde(rename = "EstimatedArrivalDateTime")]
11587 pub estimated_arrival_date_time: Option<String>,
11588 #[serde(rename = "PatientLicenseNumber")]
11589 pub patient_license_number: Option<String>,
11590 #[serde(rename = "RecipientAddressCity")]
11591 pub recipient_address_city: Option<String>,
11592 #[serde(rename = "RecipientAddressCounty")]
11593 pub recipient_address_county: Option<String>,
11594 #[serde(rename = "RecipientAddressPostalCode")]
11595 pub recipient_address_postal_code: Option<String>,
11596 #[serde(rename = "RecipientAddressState")]
11597 pub recipient_address_state: Option<String>,
11598 #[serde(rename = "RecipientAddressStreet1")]
11599 pub recipient_address_street1: Option<String>,
11600 #[serde(rename = "RecipientAddressStreet2")]
11601 pub recipient_address_street2: Option<String>,
11602 #[serde(rename = "RecipientName")]
11603 pub recipient_name: Option<String>,
11604 #[serde(rename = "RecipientZoneId")]
11605 pub recipient_zone_id: Option<String>,
11606 #[serde(rename = "SalesCustomerType")]
11607 pub sales_customer_type: Option<String>,
11608 #[serde(rename = "Transactions")]
11609 pub transactions: Option<Vec<SalesCreateDeliveryRetailerV2RequestItemDestinationsTransactions>>,
11610}
11611
11612#[derive(Serialize, Deserialize, Debug, Clone)]
11613pub struct SalesCreateDeliveryRetailerV2RequestItemDestinationsTransactions {
11614 #[serde(rename = "CityTax")]
11615 pub city_tax: Option<String>,
11616 #[serde(rename = "CountyTax")]
11617 pub county_tax: Option<String>,
11618 #[serde(rename = "DiscountAmount")]
11619 pub discount_amount: Option<String>,
11620 #[serde(rename = "ExciseTax")]
11621 pub excise_tax: Option<String>,
11622 #[serde(rename = "InvoiceNumber")]
11623 pub invoice_number: Option<String>,
11624 #[serde(rename = "MunicipalTax")]
11625 pub municipal_tax: Option<String>,
11626 #[serde(rename = "PackageLabel")]
11627 pub package_label: Option<String>,
11628 #[serde(rename = "Price")]
11629 pub price: Option<String>,
11630 #[serde(rename = "QrCodes")]
11631 pub qr_codes: Option<String>,
11632 #[serde(rename = "Quantity")]
11633 pub quantity: Option<i64>,
11634 #[serde(rename = "SalesTax")]
11635 pub sales_tax: Option<String>,
11636 #[serde(rename = "SubTotal")]
11637 pub sub_total: Option<String>,
11638 #[serde(rename = "TotalAmount")]
11639 pub total_amount: Option<f64>,
11640 #[serde(rename = "UnitOfMeasure")]
11641 pub unit_of_measure: Option<String>,
11642 #[serde(rename = "UnitThcContent")]
11643 pub unit_thc_content: Option<f64>,
11644 #[serde(rename = "UnitThcContentUnitOfMeasure")]
11645 pub unit_thc_content_unit_of_measure: Option<String>,
11646 #[serde(rename = "UnitThcPercent")]
11647 pub unit_thc_percent: Option<f64>,
11648 #[serde(rename = "UnitWeight")]
11649 pub unit_weight: Option<f64>,
11650 #[serde(rename = "UnitWeightUnitOfMeasure")]
11651 pub unit_weight_unit_of_measure: Option<String>,
11652}
11653
11654#[derive(Serialize, Deserialize, Debug, Clone)]
11655pub struct SalesCreateDeliveryRetailerV2RequestItemPackages {
11656 #[serde(rename = "DateTime")]
11657 pub date_time: Option<String>,
11658 #[serde(rename = "PackageLabel")]
11659 pub package_label: Option<String>,
11660 #[serde(rename = "Quantity")]
11661 pub quantity: Option<i64>,
11662 #[serde(rename = "TotalPrice")]
11663 pub total_price: Option<f64>,
11664 #[serde(rename = "UnitOfMeasure")]
11665 pub unit_of_measure: Option<String>,
11666}
11667
11668#[derive(Serialize, Deserialize, Debug, Clone)]
11669pub struct SalesCreateDeliveryRetailerDepartV1RequestItem {
11670 #[serde(rename = "RetailerDeliveryId")]
11671 pub retailer_delivery_id: Option<i64>,
11672}
11673
11674#[derive(Serialize, Deserialize, Debug, Clone)]
11675pub struct SalesCreateDeliveryRetailerDepartV2RequestItem {
11676 #[serde(rename = "RetailerDeliveryId")]
11677 pub retailer_delivery_id: Option<i64>,
11678}
11679
11680#[derive(Serialize, Deserialize, Debug, Clone)]
11681pub struct SalesCreateDeliveryRetailerEndV1RequestItem {
11682 #[serde(rename = "ActualArrivalDateTime")]
11683 pub actual_arrival_date_time: Option<String>,
11684 #[serde(rename = "Packages")]
11685 pub packages: Option<Vec<SalesCreateDeliveryRetailerEndV1RequestItemPackages>>,
11686 #[serde(rename = "RetailerDeliveryId")]
11687 pub retailer_delivery_id: Option<i64>,
11688}
11689
11690#[derive(Serialize, Deserialize, Debug, Clone)]
11691pub struct SalesCreateDeliveryRetailerEndV1RequestItemPackages {
11692 #[serde(rename = "EndQuantity")]
11693 pub end_quantity: Option<i64>,
11694 #[serde(rename = "EndUnitOfMeasure")]
11695 pub end_unit_of_measure: Option<String>,
11696 #[serde(rename = "Label")]
11697 pub label: Option<String>,
11698}
11699
11700#[derive(Serialize, Deserialize, Debug, Clone)]
11701pub struct SalesCreateDeliveryRetailerEndV2RequestItem {
11702 #[serde(rename = "ActualArrivalDateTime")]
11703 pub actual_arrival_date_time: Option<String>,
11704 #[serde(rename = "Packages")]
11705 pub packages: Option<Vec<SalesCreateDeliveryRetailerEndV2RequestItemPackages>>,
11706 #[serde(rename = "RetailerDeliveryId")]
11707 pub retailer_delivery_id: Option<i64>,
11708}
11709
11710#[derive(Serialize, Deserialize, Debug, Clone)]
11711pub struct SalesCreateDeliveryRetailerEndV2RequestItemPackages {
11712 #[serde(rename = "EndQuantity")]
11713 pub end_quantity: Option<i64>,
11714 #[serde(rename = "EndUnitOfMeasure")]
11715 pub end_unit_of_measure: Option<String>,
11716 #[serde(rename = "Label")]
11717 pub label: Option<String>,
11718}
11719
11720#[derive(Serialize, Deserialize, Debug, Clone)]
11721pub struct SalesCreateDeliveryRetailerRestockV1RequestItem {
11722 #[serde(rename = "DateTime")]
11723 pub date_time: Option<String>,
11724 #[serde(rename = "Destinations")]
11725 pub destinations: Option<String>,
11726 #[serde(rename = "EstimatedDepartureDateTime")]
11727 pub estimated_departure_date_time: Option<String>,
11728 #[serde(rename = "Packages")]
11729 pub packages: Option<Vec<SalesCreateDeliveryRetailerRestockV1RequestItemPackages>>,
11730 #[serde(rename = "RetailerDeliveryId")]
11731 pub retailer_delivery_id: Option<i64>,
11732}
11733
11734#[derive(Serialize, Deserialize, Debug, Clone)]
11735pub struct SalesCreateDeliveryRetailerRestockV1RequestItemPackages {
11736 #[serde(rename = "PackageLabel")]
11737 pub package_label: Option<String>,
11738 #[serde(rename = "Quantity")]
11739 pub quantity: Option<i64>,
11740 #[serde(rename = "RemoveCurrentPackage")]
11741 pub remove_current_package: Option<bool>,
11742 #[serde(rename = "TotalPrice")]
11743 pub total_price: Option<f64>,
11744 #[serde(rename = "UnitOfMeasure")]
11745 pub unit_of_measure: Option<String>,
11746}
11747
11748#[derive(Serialize, Deserialize, Debug, Clone)]
11749pub struct SalesCreateDeliveryRetailerRestockV2RequestItem {
11750 #[serde(rename = "DateTime")]
11751 pub date_time: Option<String>,
11752 #[serde(rename = "Destinations")]
11753 pub destinations: Option<String>,
11754 #[serde(rename = "EstimatedDepartureDateTime")]
11755 pub estimated_departure_date_time: Option<String>,
11756 #[serde(rename = "Packages")]
11757 pub packages: Option<Vec<SalesCreateDeliveryRetailerRestockV2RequestItemPackages>>,
11758 #[serde(rename = "RetailerDeliveryId")]
11759 pub retailer_delivery_id: Option<i64>,
11760}
11761
11762#[derive(Serialize, Deserialize, Debug, Clone)]
11763pub struct SalesCreateDeliveryRetailerRestockV2RequestItemPackages {
11764 #[serde(rename = "PackageLabel")]
11765 pub package_label: Option<String>,
11766 #[serde(rename = "Quantity")]
11767 pub quantity: Option<i64>,
11768 #[serde(rename = "RemoveCurrentPackage")]
11769 pub remove_current_package: Option<bool>,
11770 #[serde(rename = "TotalPrice")]
11771 pub total_price: Option<f64>,
11772 #[serde(rename = "UnitOfMeasure")]
11773 pub unit_of_measure: Option<String>,
11774}
11775
11776#[derive(Serialize, Deserialize, Debug, Clone)]
11777pub struct SalesCreateDeliveryRetailerSaleV1RequestItem {
11778 #[serde(rename = "ConsumerId")]
11779 pub consumer_id: Option<i64>,
11780 #[serde(rename = "EstimatedArrivalDateTime")]
11781 pub estimated_arrival_date_time: Option<String>,
11782 #[serde(rename = "EstimatedDepartureDateTime")]
11783 pub estimated_departure_date_time: Option<String>,
11784 #[serde(rename = "PatientLicenseNumber")]
11785 pub patient_license_number: Option<String>,
11786 #[serde(rename = "PhoneNumberForQuestions")]
11787 pub phone_number_for_questions: Option<String>,
11788 #[serde(rename = "PlannedRoute")]
11789 pub planned_route: Option<String>,
11790 #[serde(rename = "RecipientAddressCity")]
11791 pub recipient_address_city: Option<String>,
11792 #[serde(rename = "RecipientAddressCounty")]
11793 pub recipient_address_county: Option<String>,
11794 #[serde(rename = "RecipientAddressPostalCode")]
11795 pub recipient_address_postal_code: Option<String>,
11796 #[serde(rename = "RecipientAddressState")]
11797 pub recipient_address_state: Option<String>,
11798 #[serde(rename = "RecipientAddressStreet1")]
11799 pub recipient_address_street1: Option<String>,
11800 #[serde(rename = "RecipientAddressStreet2")]
11801 pub recipient_address_street2: Option<String>,
11802 #[serde(rename = "RecipientName")]
11803 pub recipient_name: Option<String>,
11804 #[serde(rename = "RecipientZoneId")]
11805 pub recipient_zone_id: Option<i64>,
11806 #[serde(rename = "RetailerDeliveryId")]
11807 pub retailer_delivery_id: Option<i64>,
11808 #[serde(rename = "SalesCustomerType")]
11809 pub sales_customer_type: Option<String>,
11810 #[serde(rename = "SalesDateTime")]
11811 pub sales_date_time: Option<String>,
11812 #[serde(rename = "Transactions")]
11813 pub transactions: Option<Vec<SalesCreateDeliveryRetailerSaleV1RequestItemTransactions>>,
11814}
11815
11816#[derive(Serialize, Deserialize, Debug, Clone)]
11817pub struct SalesCreateDeliveryRetailerSaleV1RequestItemTransactions {
11818 #[serde(rename = "CityTax")]
11819 pub city_tax: Option<String>,
11820 #[serde(rename = "CountyTax")]
11821 pub county_tax: Option<String>,
11822 #[serde(rename = "DiscountAmount")]
11823 pub discount_amount: Option<String>,
11824 #[serde(rename = "ExciseTax")]
11825 pub excise_tax: Option<String>,
11826 #[serde(rename = "InvoiceNumber")]
11827 pub invoice_number: Option<String>,
11828 #[serde(rename = "MunicipalTax")]
11829 pub municipal_tax: Option<String>,
11830 #[serde(rename = "PackageLabel")]
11831 pub package_label: Option<String>,
11832 #[serde(rename = "Price")]
11833 pub price: Option<String>,
11834 #[serde(rename = "QrCodes")]
11835 pub qr_codes: Option<String>,
11836 #[serde(rename = "Quantity")]
11837 pub quantity: Option<i64>,
11838 #[serde(rename = "SalesTax")]
11839 pub sales_tax: Option<String>,
11840 #[serde(rename = "SubTotal")]
11841 pub sub_total: Option<String>,
11842 #[serde(rename = "TotalAmount")]
11843 pub total_amount: Option<f64>,
11844 #[serde(rename = "UnitOfMeasure")]
11845 pub unit_of_measure: Option<String>,
11846 #[serde(rename = "UnitThcContent")]
11847 pub unit_thc_content: Option<f64>,
11848 #[serde(rename = "UnitThcContentUnitOfMeasure")]
11849 pub unit_thc_content_unit_of_measure: Option<String>,
11850 #[serde(rename = "UnitThcPercent")]
11851 pub unit_thc_percent: Option<f64>,
11852 #[serde(rename = "UnitWeight")]
11853 pub unit_weight: Option<f64>,
11854 #[serde(rename = "UnitWeightUnitOfMeasure")]
11855 pub unit_weight_unit_of_measure: Option<String>,
11856}
11857
11858#[derive(Serialize, Deserialize, Debug, Clone)]
11859pub struct SalesCreateDeliveryRetailerSaleV2RequestItem {
11860 #[serde(rename = "ConsumerId")]
11861 pub consumer_id: Option<i64>,
11862 #[serde(rename = "EstimatedArrivalDateTime")]
11863 pub estimated_arrival_date_time: Option<String>,
11864 #[serde(rename = "EstimatedDepartureDateTime")]
11865 pub estimated_departure_date_time: Option<String>,
11866 #[serde(rename = "PatientLicenseNumber")]
11867 pub patient_license_number: Option<String>,
11868 #[serde(rename = "PhoneNumberForQuestions")]
11869 pub phone_number_for_questions: Option<String>,
11870 #[serde(rename = "PlannedRoute")]
11871 pub planned_route: Option<String>,
11872 #[serde(rename = "RecipientAddressCity")]
11873 pub recipient_address_city: Option<String>,
11874 #[serde(rename = "RecipientAddressCounty")]
11875 pub recipient_address_county: Option<String>,
11876 #[serde(rename = "RecipientAddressPostalCode")]
11877 pub recipient_address_postal_code: Option<String>,
11878 #[serde(rename = "RecipientAddressState")]
11879 pub recipient_address_state: Option<String>,
11880 #[serde(rename = "RecipientAddressStreet1")]
11881 pub recipient_address_street1: Option<String>,
11882 #[serde(rename = "RecipientAddressStreet2")]
11883 pub recipient_address_street2: Option<String>,
11884 #[serde(rename = "RecipientName")]
11885 pub recipient_name: Option<String>,
11886 #[serde(rename = "RecipientZoneId")]
11887 pub recipient_zone_id: Option<i64>,
11888 #[serde(rename = "RetailerDeliveryId")]
11889 pub retailer_delivery_id: Option<i64>,
11890 #[serde(rename = "SalesCustomerType")]
11891 pub sales_customer_type: Option<String>,
11892 #[serde(rename = "SalesDateTime")]
11893 pub sales_date_time: Option<String>,
11894 #[serde(rename = "Transactions")]
11895 pub transactions: Option<Vec<SalesCreateDeliveryRetailerSaleV2RequestItemTransactions>>,
11896}
11897
11898#[derive(Serialize, Deserialize, Debug, Clone)]
11899pub struct SalesCreateDeliveryRetailerSaleV2RequestItemTransactions {
11900 #[serde(rename = "CityTax")]
11901 pub city_tax: Option<String>,
11902 #[serde(rename = "CountyTax")]
11903 pub county_tax: Option<String>,
11904 #[serde(rename = "DiscountAmount")]
11905 pub discount_amount: Option<String>,
11906 #[serde(rename = "ExciseTax")]
11907 pub excise_tax: Option<String>,
11908 #[serde(rename = "InvoiceNumber")]
11909 pub invoice_number: Option<String>,
11910 #[serde(rename = "MunicipalTax")]
11911 pub municipal_tax: Option<String>,
11912 #[serde(rename = "PackageLabel")]
11913 pub package_label: Option<String>,
11914 #[serde(rename = "Price")]
11915 pub price: Option<String>,
11916 #[serde(rename = "QrCodes")]
11917 pub qr_codes: Option<String>,
11918 #[serde(rename = "Quantity")]
11919 pub quantity: Option<i64>,
11920 #[serde(rename = "SalesTax")]
11921 pub sales_tax: Option<String>,
11922 #[serde(rename = "SubTotal")]
11923 pub sub_total: Option<String>,
11924 #[serde(rename = "TotalAmount")]
11925 pub total_amount: Option<f64>,
11926 #[serde(rename = "UnitOfMeasure")]
11927 pub unit_of_measure: Option<String>,
11928 #[serde(rename = "UnitThcContent")]
11929 pub unit_thc_content: Option<f64>,
11930 #[serde(rename = "UnitThcContentUnitOfMeasure")]
11931 pub unit_thc_content_unit_of_measure: Option<String>,
11932 #[serde(rename = "UnitThcPercent")]
11933 pub unit_thc_percent: Option<f64>,
11934 #[serde(rename = "UnitWeight")]
11935 pub unit_weight: Option<f64>,
11936 #[serde(rename = "UnitWeightUnitOfMeasure")]
11937 pub unit_weight_unit_of_measure: Option<String>,
11938}
11939
11940#[derive(Serialize, Deserialize, Debug, Clone)]
11941pub struct SalesCreateReceiptV1RequestItem {
11942 #[serde(rename = "CaregiverLicenseNumber")]
11943 pub caregiver_license_number: Option<String>,
11944 #[serde(rename = "ExternalReceiptNumber")]
11945 pub external_receipt_number: Option<String>,
11946 #[serde(rename = "IdentificationMethod")]
11947 pub identification_method: Option<String>,
11948 #[serde(rename = "PatientLicenseNumber")]
11949 pub patient_license_number: Option<String>,
11950 #[serde(rename = "PatientRegistrationLocationId")]
11951 pub patient_registration_location_id: Option<i64>,
11952 #[serde(rename = "SalesCustomerType")]
11953 pub sales_customer_type: Option<String>,
11954 #[serde(rename = "SalesDateTime")]
11955 pub sales_date_time: Option<String>,
11956 #[serde(rename = "Transactions")]
11957 pub transactions: Option<Vec<SalesCreateReceiptV1RequestItemTransactions>>,
11958}
11959
11960#[derive(Serialize, Deserialize, Debug, Clone)]
11961pub struct SalesCreateReceiptV1RequestItemTransactions {
11962 #[serde(rename = "CityTax")]
11963 pub city_tax: Option<String>,
11964 #[serde(rename = "CountyTax")]
11965 pub county_tax: Option<String>,
11966 #[serde(rename = "DiscountAmount")]
11967 pub discount_amount: Option<String>,
11968 #[serde(rename = "ExciseTax")]
11969 pub excise_tax: Option<String>,
11970 #[serde(rename = "InvoiceNumber")]
11971 pub invoice_number: Option<String>,
11972 #[serde(rename = "MunicipalTax")]
11973 pub municipal_tax: Option<String>,
11974 #[serde(rename = "PackageLabel")]
11975 pub package_label: Option<String>,
11976 #[serde(rename = "Price")]
11977 pub price: Option<String>,
11978 #[serde(rename = "QrCodes")]
11979 pub qr_codes: Option<String>,
11980 #[serde(rename = "Quantity")]
11981 pub quantity: Option<i64>,
11982 #[serde(rename = "SalesTax")]
11983 pub sales_tax: Option<String>,
11984 #[serde(rename = "SubTotal")]
11985 pub sub_total: Option<String>,
11986 #[serde(rename = "TotalAmount")]
11987 pub total_amount: Option<f64>,
11988 #[serde(rename = "UnitOfMeasure")]
11989 pub unit_of_measure: Option<String>,
11990 #[serde(rename = "UnitThcContent")]
11991 pub unit_thc_content: Option<f64>,
11992 #[serde(rename = "UnitThcContentUnitOfMeasure")]
11993 pub unit_thc_content_unit_of_measure: Option<String>,
11994 #[serde(rename = "UnitThcPercent")]
11995 pub unit_thc_percent: Option<f64>,
11996 #[serde(rename = "UnitWeight")]
11997 pub unit_weight: Option<f64>,
11998 #[serde(rename = "UnitWeightUnitOfMeasure")]
11999 pub unit_weight_unit_of_measure: Option<String>,
12000}
12001
12002#[derive(Serialize, Deserialize, Debug, Clone)]
12003pub struct SalesCreateReceiptV2RequestItem {
12004 #[serde(rename = "CaregiverLicenseNumber")]
12005 pub caregiver_license_number: Option<String>,
12006 #[serde(rename = "ExternalReceiptNumber")]
12007 pub external_receipt_number: Option<String>,
12008 #[serde(rename = "IdentificationMethod")]
12009 pub identification_method: Option<String>,
12010 #[serde(rename = "PatientLicenseNumber")]
12011 pub patient_license_number: Option<String>,
12012 #[serde(rename = "PatientRegistrationLocationId")]
12013 pub patient_registration_location_id: Option<i64>,
12014 #[serde(rename = "SalesCustomerType")]
12015 pub sales_customer_type: Option<String>,
12016 #[serde(rename = "SalesDateTime")]
12017 pub sales_date_time: Option<String>,
12018 #[serde(rename = "Transactions")]
12019 pub transactions: Option<Vec<SalesCreateReceiptV2RequestItemTransactions>>,
12020}
12021
12022#[derive(Serialize, Deserialize, Debug, Clone)]
12023pub struct SalesCreateReceiptV2RequestItemTransactions {
12024 #[serde(rename = "CityTax")]
12025 pub city_tax: Option<String>,
12026 #[serde(rename = "CountyTax")]
12027 pub county_tax: Option<String>,
12028 #[serde(rename = "DiscountAmount")]
12029 pub discount_amount: Option<String>,
12030 #[serde(rename = "ExciseTax")]
12031 pub excise_tax: Option<String>,
12032 #[serde(rename = "InvoiceNumber")]
12033 pub invoice_number: Option<String>,
12034 #[serde(rename = "MunicipalTax")]
12035 pub municipal_tax: Option<String>,
12036 #[serde(rename = "PackageLabel")]
12037 pub package_label: Option<String>,
12038 #[serde(rename = "Price")]
12039 pub price: Option<String>,
12040 #[serde(rename = "QrCodes")]
12041 pub qr_codes: Option<String>,
12042 #[serde(rename = "Quantity")]
12043 pub quantity: Option<i64>,
12044 #[serde(rename = "SalesTax")]
12045 pub sales_tax: Option<String>,
12046 #[serde(rename = "SubTotal")]
12047 pub sub_total: Option<String>,
12048 #[serde(rename = "TotalAmount")]
12049 pub total_amount: Option<f64>,
12050 #[serde(rename = "UnitOfMeasure")]
12051 pub unit_of_measure: Option<String>,
12052 #[serde(rename = "UnitThcContent")]
12053 pub unit_thc_content: Option<f64>,
12054 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12055 pub unit_thc_content_unit_of_measure: Option<String>,
12056 #[serde(rename = "UnitThcPercent")]
12057 pub unit_thc_percent: Option<f64>,
12058 #[serde(rename = "UnitWeight")]
12059 pub unit_weight: Option<f64>,
12060 #[serde(rename = "UnitWeightUnitOfMeasure")]
12061 pub unit_weight_unit_of_measure: Option<String>,
12062}
12063
12064#[derive(Serialize, Deserialize, Debug, Clone)]
12065pub struct SalesCreateTransactionByDateV1RequestItem {
12066 #[serde(rename = "CityTax")]
12067 pub city_tax: Option<String>,
12068 #[serde(rename = "CountyTax")]
12069 pub county_tax: Option<String>,
12070 #[serde(rename = "DiscountAmount")]
12071 pub discount_amount: Option<String>,
12072 #[serde(rename = "ExciseTax")]
12073 pub excise_tax: Option<String>,
12074 #[serde(rename = "InvoiceNumber")]
12075 pub invoice_number: Option<String>,
12076 #[serde(rename = "MunicipalTax")]
12077 pub municipal_tax: Option<String>,
12078 #[serde(rename = "PackageLabel")]
12079 pub package_label: Option<String>,
12080 #[serde(rename = "Price")]
12081 pub price: Option<String>,
12082 #[serde(rename = "QrCodes")]
12083 pub qr_codes: Option<String>,
12084 #[serde(rename = "Quantity")]
12085 pub quantity: Option<i64>,
12086 #[serde(rename = "SalesTax")]
12087 pub sales_tax: Option<String>,
12088 #[serde(rename = "SubTotal")]
12089 pub sub_total: Option<String>,
12090 #[serde(rename = "TotalAmount")]
12091 pub total_amount: Option<f64>,
12092 #[serde(rename = "UnitOfMeasure")]
12093 pub unit_of_measure: Option<String>,
12094 #[serde(rename = "UnitThcContent")]
12095 pub unit_thc_content: Option<f64>,
12096 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12097 pub unit_thc_content_unit_of_measure: Option<String>,
12098 #[serde(rename = "UnitThcPercent")]
12099 pub unit_thc_percent: Option<f64>,
12100 #[serde(rename = "UnitWeight")]
12101 pub unit_weight: Option<f64>,
12102 #[serde(rename = "UnitWeightUnitOfMeasure")]
12103 pub unit_weight_unit_of_measure: Option<String>,
12104}
12105
12106#[derive(Serialize, Deserialize, Debug, Clone)]
12107pub struct SalesUpdateDeliveryV1RequestItem {
12108 #[serde(rename = "ConsumerId")]
12109 pub consumer_id: Option<i64>,
12110 #[serde(rename = "DriverEmployeeId")]
12111 pub driver_employee_id: Option<String>,
12112 #[serde(rename = "DriverName")]
12113 pub driver_name: Option<String>,
12114 #[serde(rename = "DriversLicenseNumber")]
12115 pub drivers_license_number: Option<String>,
12116 #[serde(rename = "EstimatedArrivalDateTime")]
12117 pub estimated_arrival_date_time: Option<String>,
12118 #[serde(rename = "EstimatedDepartureDateTime")]
12119 pub estimated_departure_date_time: Option<String>,
12120 #[serde(rename = "Id")]
12121 pub id: Option<i64>,
12122 #[serde(rename = "PatientLicenseNumber")]
12123 pub patient_license_number: Option<String>,
12124 #[serde(rename = "PhoneNumberForQuestions")]
12125 pub phone_number_for_questions: Option<String>,
12126 #[serde(rename = "PlannedRoute")]
12127 pub planned_route: Option<String>,
12128 #[serde(rename = "RecipientAddressCity")]
12129 pub recipient_address_city: Option<String>,
12130 #[serde(rename = "RecipientAddressCounty")]
12131 pub recipient_address_county: Option<String>,
12132 #[serde(rename = "RecipientAddressPostalCode")]
12133 pub recipient_address_postal_code: Option<String>,
12134 #[serde(rename = "RecipientAddressState")]
12135 pub recipient_address_state: Option<String>,
12136 #[serde(rename = "RecipientAddressStreet1")]
12137 pub recipient_address_street1: Option<String>,
12138 #[serde(rename = "RecipientAddressStreet2")]
12139 pub recipient_address_street2: Option<String>,
12140 #[serde(rename = "RecipientName")]
12141 pub recipient_name: Option<String>,
12142 #[serde(rename = "RecipientZoneId")]
12143 pub recipient_zone_id: Option<String>,
12144 #[serde(rename = "SalesCustomerType")]
12145 pub sales_customer_type: Option<String>,
12146 #[serde(rename = "SalesDateTime")]
12147 pub sales_date_time: Option<String>,
12148 #[serde(rename = "Transactions")]
12149 pub transactions: Option<Vec<SalesUpdateDeliveryV1RequestItemTransactions>>,
12150 #[serde(rename = "TransporterFacilityLicenseNumber")]
12151 pub transporter_facility_license_number: Option<String>,
12152 #[serde(rename = "VehicleLicensePlateNumber")]
12153 pub vehicle_license_plate_number: Option<String>,
12154 #[serde(rename = "VehicleMake")]
12155 pub vehicle_make: Option<String>,
12156 #[serde(rename = "VehicleModel")]
12157 pub vehicle_model: Option<String>,
12158}
12159
12160#[derive(Serialize, Deserialize, Debug, Clone)]
12161pub struct SalesUpdateDeliveryV1RequestItemTransactions {
12162 #[serde(rename = "CityTax")]
12163 pub city_tax: Option<String>,
12164 #[serde(rename = "CountyTax")]
12165 pub county_tax: Option<String>,
12166 #[serde(rename = "DiscountAmount")]
12167 pub discount_amount: Option<String>,
12168 #[serde(rename = "ExciseTax")]
12169 pub excise_tax: Option<String>,
12170 #[serde(rename = "InvoiceNumber")]
12171 pub invoice_number: Option<String>,
12172 #[serde(rename = "MunicipalTax")]
12173 pub municipal_tax: Option<String>,
12174 #[serde(rename = "PackageLabel")]
12175 pub package_label: Option<String>,
12176 #[serde(rename = "Price")]
12177 pub price: Option<String>,
12178 #[serde(rename = "QrCodes")]
12179 pub qr_codes: Option<String>,
12180 #[serde(rename = "Quantity")]
12181 pub quantity: Option<i64>,
12182 #[serde(rename = "SalesTax")]
12183 pub sales_tax: Option<String>,
12184 #[serde(rename = "SubTotal")]
12185 pub sub_total: Option<String>,
12186 #[serde(rename = "TotalAmount")]
12187 pub total_amount: Option<f64>,
12188 #[serde(rename = "UnitOfMeasure")]
12189 pub unit_of_measure: Option<String>,
12190 #[serde(rename = "UnitThcContent")]
12191 pub unit_thc_content: Option<f64>,
12192 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12193 pub unit_thc_content_unit_of_measure: Option<String>,
12194 #[serde(rename = "UnitThcPercent")]
12195 pub unit_thc_percent: Option<f64>,
12196 #[serde(rename = "UnitWeight")]
12197 pub unit_weight: Option<f64>,
12198 #[serde(rename = "UnitWeightUnitOfMeasure")]
12199 pub unit_weight_unit_of_measure: Option<String>,
12200}
12201
12202#[derive(Serialize, Deserialize, Debug, Clone)]
12203pub struct SalesUpdateDeliveryV2RequestItem {
12204 #[serde(rename = "ConsumerId")]
12205 pub consumer_id: Option<i64>,
12206 #[serde(rename = "DriverEmployeeId")]
12207 pub driver_employee_id: Option<String>,
12208 #[serde(rename = "DriverName")]
12209 pub driver_name: Option<String>,
12210 #[serde(rename = "DriversLicenseNumber")]
12211 pub drivers_license_number: Option<String>,
12212 #[serde(rename = "EstimatedArrivalDateTime")]
12213 pub estimated_arrival_date_time: Option<String>,
12214 #[serde(rename = "EstimatedDepartureDateTime")]
12215 pub estimated_departure_date_time: Option<String>,
12216 #[serde(rename = "Id")]
12217 pub id: Option<i64>,
12218 #[serde(rename = "PatientLicenseNumber")]
12219 pub patient_license_number: Option<String>,
12220 #[serde(rename = "PhoneNumberForQuestions")]
12221 pub phone_number_for_questions: Option<String>,
12222 #[serde(rename = "PlannedRoute")]
12223 pub planned_route: Option<String>,
12224 #[serde(rename = "RecipientAddressCity")]
12225 pub recipient_address_city: Option<String>,
12226 #[serde(rename = "RecipientAddressCounty")]
12227 pub recipient_address_county: Option<String>,
12228 #[serde(rename = "RecipientAddressPostalCode")]
12229 pub recipient_address_postal_code: Option<String>,
12230 #[serde(rename = "RecipientAddressState")]
12231 pub recipient_address_state: Option<String>,
12232 #[serde(rename = "RecipientAddressStreet1")]
12233 pub recipient_address_street1: Option<String>,
12234 #[serde(rename = "RecipientAddressStreet2")]
12235 pub recipient_address_street2: Option<String>,
12236 #[serde(rename = "RecipientName")]
12237 pub recipient_name: Option<String>,
12238 #[serde(rename = "RecipientZoneId")]
12239 pub recipient_zone_id: Option<String>,
12240 #[serde(rename = "SalesCustomerType")]
12241 pub sales_customer_type: Option<String>,
12242 #[serde(rename = "SalesDateTime")]
12243 pub sales_date_time: Option<String>,
12244 #[serde(rename = "Transactions")]
12245 pub transactions: Option<Vec<SalesUpdateDeliveryV2RequestItemTransactions>>,
12246 #[serde(rename = "TransporterFacilityLicenseNumber")]
12247 pub transporter_facility_license_number: Option<String>,
12248 #[serde(rename = "VehicleLicensePlateNumber")]
12249 pub vehicle_license_plate_number: Option<String>,
12250 #[serde(rename = "VehicleMake")]
12251 pub vehicle_make: Option<String>,
12252 #[serde(rename = "VehicleModel")]
12253 pub vehicle_model: Option<String>,
12254}
12255
12256#[derive(Serialize, Deserialize, Debug, Clone)]
12257pub struct SalesUpdateDeliveryV2RequestItemTransactions {
12258 #[serde(rename = "CityTax")]
12259 pub city_tax: Option<String>,
12260 #[serde(rename = "CountyTax")]
12261 pub county_tax: Option<String>,
12262 #[serde(rename = "DiscountAmount")]
12263 pub discount_amount: Option<String>,
12264 #[serde(rename = "ExciseTax")]
12265 pub excise_tax: Option<String>,
12266 #[serde(rename = "InvoiceNumber")]
12267 pub invoice_number: Option<String>,
12268 #[serde(rename = "MunicipalTax")]
12269 pub municipal_tax: Option<String>,
12270 #[serde(rename = "PackageLabel")]
12271 pub package_label: Option<String>,
12272 #[serde(rename = "Price")]
12273 pub price: Option<String>,
12274 #[serde(rename = "QrCodes")]
12275 pub qr_codes: Option<String>,
12276 #[serde(rename = "Quantity")]
12277 pub quantity: Option<i64>,
12278 #[serde(rename = "SalesTax")]
12279 pub sales_tax: Option<String>,
12280 #[serde(rename = "SubTotal")]
12281 pub sub_total: Option<String>,
12282 #[serde(rename = "TotalAmount")]
12283 pub total_amount: Option<f64>,
12284 #[serde(rename = "UnitOfMeasure")]
12285 pub unit_of_measure: Option<String>,
12286 #[serde(rename = "UnitThcContent")]
12287 pub unit_thc_content: Option<f64>,
12288 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12289 pub unit_thc_content_unit_of_measure: Option<String>,
12290 #[serde(rename = "UnitThcPercent")]
12291 pub unit_thc_percent: Option<f64>,
12292 #[serde(rename = "UnitWeight")]
12293 pub unit_weight: Option<f64>,
12294 #[serde(rename = "UnitWeightUnitOfMeasure")]
12295 pub unit_weight_unit_of_measure: Option<String>,
12296}
12297
12298#[derive(Serialize, Deserialize, Debug, Clone)]
12299pub struct SalesUpdateDeliveryCompleteV1RequestItem {
12300 #[serde(rename = "AcceptedPackages")]
12301 pub accepted_packages: Option<Vec<String>>,
12302 #[serde(rename = "ActualArrivalDateTime")]
12303 pub actual_arrival_date_time: Option<String>,
12304 #[serde(rename = "Id")]
12305 pub id: Option<i64>,
12306 #[serde(rename = "PaymentType")]
12307 pub payment_type: Option<String>,
12308 #[serde(rename = "ReturnedPackages")]
12309 pub returned_packages: Option<Vec<SalesUpdateDeliveryCompleteV1RequestItemReturnedPackages>>,
12310}
12311
12312#[derive(Serialize, Deserialize, Debug, Clone)]
12313pub struct SalesUpdateDeliveryCompleteV1RequestItemReturnedPackages {
12314 #[serde(rename = "Label")]
12315 pub label: Option<String>,
12316 #[serde(rename = "ReturnQuantityVerified")]
12317 pub return_quantity_verified: Option<i64>,
12318 #[serde(rename = "ReturnReason")]
12319 pub return_reason: Option<String>,
12320 #[serde(rename = "ReturnReasonNote")]
12321 pub return_reason_note: Option<String>,
12322 #[serde(rename = "ReturnUnitOfMeasure")]
12323 pub return_unit_of_measure: Option<String>,
12324}
12325
12326#[derive(Serialize, Deserialize, Debug, Clone)]
12327pub struct SalesUpdateDeliveryCompleteV2RequestItem {
12328 #[serde(rename = "AcceptedPackages")]
12329 pub accepted_packages: Option<Vec<String>>,
12330 #[serde(rename = "ActualArrivalDateTime")]
12331 pub actual_arrival_date_time: Option<String>,
12332 #[serde(rename = "Id")]
12333 pub id: Option<i64>,
12334 #[serde(rename = "PaymentType")]
12335 pub payment_type: Option<String>,
12336 #[serde(rename = "ReturnedPackages")]
12337 pub returned_packages: Option<Vec<SalesUpdateDeliveryCompleteV2RequestItemReturnedPackages>>,
12338}
12339
12340#[derive(Serialize, Deserialize, Debug, Clone)]
12341pub struct SalesUpdateDeliveryCompleteV2RequestItemReturnedPackages {
12342 #[serde(rename = "Label")]
12343 pub label: Option<String>,
12344 #[serde(rename = "ReturnQuantityVerified")]
12345 pub return_quantity_verified: Option<i64>,
12346 #[serde(rename = "ReturnReason")]
12347 pub return_reason: Option<String>,
12348 #[serde(rename = "ReturnReasonNote")]
12349 pub return_reason_note: Option<String>,
12350 #[serde(rename = "ReturnUnitOfMeasure")]
12351 pub return_unit_of_measure: Option<String>,
12352}
12353
12354#[derive(Serialize, Deserialize, Debug, Clone)]
12355pub struct SalesUpdateDeliveryHubV1RequestItem {
12356 #[serde(rename = "DriverEmployeeId")]
12357 pub driver_employee_id: Option<String>,
12358 #[serde(rename = "DriverName")]
12359 pub driver_name: Option<String>,
12360 #[serde(rename = "DriversLicenseNumber")]
12361 pub drivers_license_number: Option<String>,
12362 #[serde(rename = "EstimatedArrivalDateTime")]
12363 pub estimated_arrival_date_time: Option<String>,
12364 #[serde(rename = "EstimatedDepartureDateTime")]
12365 pub estimated_departure_date_time: Option<String>,
12366 #[serde(rename = "Id")]
12367 pub id: Option<i64>,
12368 #[serde(rename = "PhoneNumberForQuestions")]
12369 pub phone_number_for_questions: Option<String>,
12370 #[serde(rename = "PlannedRoute")]
12371 pub planned_route: Option<String>,
12372 #[serde(rename = "TransporterFacilityId")]
12373 pub transporter_facility_id: Option<String>,
12374 #[serde(rename = "VehicleLicensePlateNumber")]
12375 pub vehicle_license_plate_number: Option<String>,
12376 #[serde(rename = "VehicleMake")]
12377 pub vehicle_make: Option<String>,
12378 #[serde(rename = "VehicleModel")]
12379 pub vehicle_model: Option<String>,
12380}
12381
12382#[derive(Serialize, Deserialize, Debug, Clone)]
12383pub struct SalesUpdateDeliveryHubV2RequestItem {
12384 #[serde(rename = "DriverEmployeeId")]
12385 pub driver_employee_id: Option<String>,
12386 #[serde(rename = "DriverName")]
12387 pub driver_name: Option<String>,
12388 #[serde(rename = "DriversLicenseNumber")]
12389 pub drivers_license_number: Option<String>,
12390 #[serde(rename = "EstimatedArrivalDateTime")]
12391 pub estimated_arrival_date_time: Option<String>,
12392 #[serde(rename = "EstimatedDepartureDateTime")]
12393 pub estimated_departure_date_time: Option<String>,
12394 #[serde(rename = "Id")]
12395 pub id: Option<i64>,
12396 #[serde(rename = "PhoneNumberForQuestions")]
12397 pub phone_number_for_questions: Option<String>,
12398 #[serde(rename = "PlannedRoute")]
12399 pub planned_route: Option<String>,
12400 #[serde(rename = "TransporterFacilityId")]
12401 pub transporter_facility_id: Option<String>,
12402 #[serde(rename = "VehicleLicensePlateNumber")]
12403 pub vehicle_license_plate_number: Option<String>,
12404 #[serde(rename = "VehicleMake")]
12405 pub vehicle_make: Option<String>,
12406 #[serde(rename = "VehicleModel")]
12407 pub vehicle_model: Option<String>,
12408}
12409
12410#[derive(Serialize, Deserialize, Debug, Clone)]
12411pub struct SalesUpdateDeliveryHubAcceptV1RequestItem {
12412 #[serde(rename = "Id")]
12413 pub id: Option<i64>,
12414}
12415
12416#[derive(Serialize, Deserialize, Debug, Clone)]
12417pub struct SalesUpdateDeliveryHubAcceptV2RequestItem {
12418 #[serde(rename = "Id")]
12419 pub id: Option<i64>,
12420}
12421
12422#[derive(Serialize, Deserialize, Debug, Clone)]
12423pub struct SalesUpdateDeliveryHubDepartV1RequestItem {
12424 #[serde(rename = "Id")]
12425 pub id: Option<i64>,
12426}
12427
12428#[derive(Serialize, Deserialize, Debug, Clone)]
12429pub struct SalesUpdateDeliveryHubDepartV2RequestItem {
12430 #[serde(rename = "Id")]
12431 pub id: Option<i64>,
12432}
12433
12434#[derive(Serialize, Deserialize, Debug, Clone)]
12435pub struct SalesUpdateDeliveryHubVerifyIdV1RequestItem {
12436 #[serde(rename = "Id")]
12437 pub id: Option<i64>,
12438 #[serde(rename = "PaymentType")]
12439 pub payment_type: Option<String>,
12440}
12441
12442#[derive(Serialize, Deserialize, Debug, Clone)]
12443pub struct SalesUpdateDeliveryHubVerifyIdV2RequestItem {
12444 #[serde(rename = "Id")]
12445 pub id: Option<i64>,
12446 #[serde(rename = "PaymentType")]
12447 pub payment_type: Option<String>,
12448}
12449
12450#[derive(Serialize, Deserialize, Debug, Clone)]
12451pub struct SalesUpdateDeliveryRetailerV1RequestItem {
12452 #[serde(rename = "DateTime")]
12453 pub date_time: Option<String>,
12454 #[serde(rename = "Destinations")]
12455 pub destinations: Option<Vec<SalesUpdateDeliveryRetailerV1RequestItemDestinations>>,
12456 #[serde(rename = "DriverEmployeeId")]
12457 pub driver_employee_id: Option<String>,
12458 #[serde(rename = "DriverName")]
12459 pub driver_name: Option<String>,
12460 #[serde(rename = "DriversLicenseNumber")]
12461 pub drivers_license_number: Option<String>,
12462 #[serde(rename = "EstimatedDepartureDateTime")]
12463 pub estimated_departure_date_time: Option<String>,
12464 #[serde(rename = "Id")]
12465 pub id: Option<i64>,
12466 #[serde(rename = "Packages")]
12467 pub packages: Option<Vec<SalesUpdateDeliveryRetailerV1RequestItemPackages>>,
12468 #[serde(rename = "PhoneNumberForQuestions")]
12469 pub phone_number_for_questions: Option<String>,
12470 #[serde(rename = "VehicleLicensePlateNumber")]
12471 pub vehicle_license_plate_number: Option<String>,
12472 #[serde(rename = "VehicleMake")]
12473 pub vehicle_make: Option<String>,
12474 #[serde(rename = "VehicleModel")]
12475 pub vehicle_model: Option<String>,
12476}
12477
12478#[derive(Serialize, Deserialize, Debug, Clone)]
12479pub struct SalesUpdateDeliveryRetailerV1RequestItemDestinations {
12480 #[serde(rename = "ConsumerId")]
12481 pub consumer_id: Option<String>,
12482 #[serde(rename = "DriverEmployeeId")]
12483 pub driver_employee_id: Option<i64>,
12484 #[serde(rename = "DriverName")]
12485 pub driver_name: Option<String>,
12486 #[serde(rename = "DriversLicenseNumber")]
12487 pub drivers_license_number: Option<String>,
12488 #[serde(rename = "EstimatedArrivalDateTime")]
12489 pub estimated_arrival_date_time: Option<String>,
12490 #[serde(rename = "EstimatedDepartureDateTime")]
12491 pub estimated_departure_date_time: Option<String>,
12492 #[serde(rename = "Id")]
12493 pub id: Option<i64>,
12494 #[serde(rename = "PatientLicenseNumber")]
12495 pub patient_license_number: Option<String>,
12496 #[serde(rename = "PhoneNumberForQuestions")]
12497 pub phone_number_for_questions: Option<String>,
12498 #[serde(rename = "PlannedRoute")]
12499 pub planned_route: Option<String>,
12500 #[serde(rename = "RecipientAddressCity")]
12501 pub recipient_address_city: Option<String>,
12502 #[serde(rename = "RecipientAddressCounty")]
12503 pub recipient_address_county: Option<String>,
12504 #[serde(rename = "RecipientAddressPostalCode")]
12505 pub recipient_address_postal_code: Option<String>,
12506 #[serde(rename = "RecipientAddressState")]
12507 pub recipient_address_state: Option<String>,
12508 #[serde(rename = "RecipientAddressStreet1")]
12509 pub recipient_address_street1: Option<String>,
12510 #[serde(rename = "RecipientAddressStreet2")]
12511 pub recipient_address_street2: Option<String>,
12512 #[serde(rename = "RecipientName")]
12513 pub recipient_name: Option<String>,
12514 #[serde(rename = "RecipientZoneId")]
12515 pub recipient_zone_id: Option<String>,
12516 #[serde(rename = "SalesCustomerType")]
12517 pub sales_customer_type: Option<String>,
12518 #[serde(rename = "SalesDateTime")]
12519 pub sales_date_time: Option<String>,
12520 #[serde(rename = "Transactions")]
12521 pub transactions: Option<Vec<SalesUpdateDeliveryRetailerV1RequestItemDestinationsTransactions>>,
12522 #[serde(rename = "VehicleLicensePlateNumber")]
12523 pub vehicle_license_plate_number: Option<String>,
12524 #[serde(rename = "VehicleMake")]
12525 pub vehicle_make: Option<String>,
12526 #[serde(rename = "VehicleModel")]
12527 pub vehicle_model: Option<String>,
12528}
12529
12530#[derive(Serialize, Deserialize, Debug, Clone)]
12531pub struct SalesUpdateDeliveryRetailerV1RequestItemDestinationsTransactions {
12532 #[serde(rename = "CityTax")]
12533 pub city_tax: Option<String>,
12534 #[serde(rename = "CountyTax")]
12535 pub county_tax: Option<String>,
12536 #[serde(rename = "DiscountAmount")]
12537 pub discount_amount: Option<String>,
12538 #[serde(rename = "ExciseTax")]
12539 pub excise_tax: Option<String>,
12540 #[serde(rename = "InvoiceNumber")]
12541 pub invoice_number: Option<String>,
12542 #[serde(rename = "MunicipalTax")]
12543 pub municipal_tax: Option<String>,
12544 #[serde(rename = "PackageLabel")]
12545 pub package_label: Option<String>,
12546 #[serde(rename = "Price")]
12547 pub price: Option<String>,
12548 #[serde(rename = "QrCodes")]
12549 pub qr_codes: Option<String>,
12550 #[serde(rename = "Quantity")]
12551 pub quantity: Option<i64>,
12552 #[serde(rename = "SalesTax")]
12553 pub sales_tax: Option<String>,
12554 #[serde(rename = "SubTotal")]
12555 pub sub_total: Option<String>,
12556 #[serde(rename = "TotalAmount")]
12557 pub total_amount: Option<f64>,
12558 #[serde(rename = "UnitOfMeasure")]
12559 pub unit_of_measure: Option<String>,
12560 #[serde(rename = "UnitThcContent")]
12561 pub unit_thc_content: Option<f64>,
12562 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12563 pub unit_thc_content_unit_of_measure: Option<String>,
12564 #[serde(rename = "UnitThcPercent")]
12565 pub unit_thc_percent: Option<f64>,
12566 #[serde(rename = "UnitWeight")]
12567 pub unit_weight: Option<f64>,
12568 #[serde(rename = "UnitWeightUnitOfMeasure")]
12569 pub unit_weight_unit_of_measure: Option<String>,
12570}
12571
12572#[derive(Serialize, Deserialize, Debug, Clone)]
12573pub struct SalesUpdateDeliveryRetailerV1RequestItemPackages {
12574 #[serde(rename = "DateTime")]
12575 pub date_time: Option<String>,
12576 #[serde(rename = "PackageLabel")]
12577 pub package_label: Option<String>,
12578 #[serde(rename = "Quantity")]
12579 pub quantity: Option<i64>,
12580 #[serde(rename = "TotalPrice")]
12581 pub total_price: Option<f64>,
12582 #[serde(rename = "UnitOfMeasure")]
12583 pub unit_of_measure: Option<String>,
12584}
12585
12586#[derive(Serialize, Deserialize, Debug, Clone)]
12587pub struct SalesUpdateDeliveryRetailerV2RequestItem {
12588 #[serde(rename = "DateTime")]
12589 pub date_time: Option<String>,
12590 #[serde(rename = "Destinations")]
12591 pub destinations: Option<Vec<SalesUpdateDeliveryRetailerV2RequestItemDestinations>>,
12592 #[serde(rename = "DriverEmployeeId")]
12593 pub driver_employee_id: Option<String>,
12594 #[serde(rename = "DriverName")]
12595 pub driver_name: Option<String>,
12596 #[serde(rename = "DriversLicenseNumber")]
12597 pub drivers_license_number: Option<String>,
12598 #[serde(rename = "EstimatedDepartureDateTime")]
12599 pub estimated_departure_date_time: Option<String>,
12600 #[serde(rename = "Id")]
12601 pub id: Option<i64>,
12602 #[serde(rename = "Packages")]
12603 pub packages: Option<Vec<SalesUpdateDeliveryRetailerV2RequestItemPackages>>,
12604 #[serde(rename = "PhoneNumberForQuestions")]
12605 pub phone_number_for_questions: Option<String>,
12606 #[serde(rename = "VehicleLicensePlateNumber")]
12607 pub vehicle_license_plate_number: Option<String>,
12608 #[serde(rename = "VehicleMake")]
12609 pub vehicle_make: Option<String>,
12610 #[serde(rename = "VehicleModel")]
12611 pub vehicle_model: Option<String>,
12612}
12613
12614#[derive(Serialize, Deserialize, Debug, Clone)]
12615pub struct SalesUpdateDeliveryRetailerV2RequestItemDestinations {
12616 #[serde(rename = "ConsumerId")]
12617 pub consumer_id: Option<String>,
12618 #[serde(rename = "DriverEmployeeId")]
12619 pub driver_employee_id: Option<i64>,
12620 #[serde(rename = "DriverName")]
12621 pub driver_name: Option<String>,
12622 #[serde(rename = "DriversLicenseNumber")]
12623 pub drivers_license_number: Option<String>,
12624 #[serde(rename = "EstimatedArrivalDateTime")]
12625 pub estimated_arrival_date_time: Option<String>,
12626 #[serde(rename = "EstimatedDepartureDateTime")]
12627 pub estimated_departure_date_time: Option<String>,
12628 #[serde(rename = "Id")]
12629 pub id: Option<i64>,
12630 #[serde(rename = "PatientLicenseNumber")]
12631 pub patient_license_number: Option<String>,
12632 #[serde(rename = "PhoneNumberForQuestions")]
12633 pub phone_number_for_questions: Option<String>,
12634 #[serde(rename = "PlannedRoute")]
12635 pub planned_route: Option<String>,
12636 #[serde(rename = "RecipientAddressCity")]
12637 pub recipient_address_city: Option<String>,
12638 #[serde(rename = "RecipientAddressCounty")]
12639 pub recipient_address_county: Option<String>,
12640 #[serde(rename = "RecipientAddressPostalCode")]
12641 pub recipient_address_postal_code: Option<String>,
12642 #[serde(rename = "RecipientAddressState")]
12643 pub recipient_address_state: Option<String>,
12644 #[serde(rename = "RecipientAddressStreet1")]
12645 pub recipient_address_street1: Option<String>,
12646 #[serde(rename = "RecipientAddressStreet2")]
12647 pub recipient_address_street2: Option<String>,
12648 #[serde(rename = "RecipientName")]
12649 pub recipient_name: Option<String>,
12650 #[serde(rename = "RecipientZoneId")]
12651 pub recipient_zone_id: Option<String>,
12652 #[serde(rename = "SalesCustomerType")]
12653 pub sales_customer_type: Option<String>,
12654 #[serde(rename = "SalesDateTime")]
12655 pub sales_date_time: Option<String>,
12656 #[serde(rename = "Transactions")]
12657 pub transactions: Option<Vec<SalesUpdateDeliveryRetailerV2RequestItemDestinationsTransactions>>,
12658 #[serde(rename = "VehicleLicensePlateNumber")]
12659 pub vehicle_license_plate_number: Option<String>,
12660 #[serde(rename = "VehicleMake")]
12661 pub vehicle_make: Option<String>,
12662 #[serde(rename = "VehicleModel")]
12663 pub vehicle_model: Option<String>,
12664}
12665
12666#[derive(Serialize, Deserialize, Debug, Clone)]
12667pub struct SalesUpdateDeliveryRetailerV2RequestItemDestinationsTransactions {
12668 #[serde(rename = "CityTax")]
12669 pub city_tax: Option<String>,
12670 #[serde(rename = "CountyTax")]
12671 pub county_tax: Option<String>,
12672 #[serde(rename = "DiscountAmount")]
12673 pub discount_amount: Option<String>,
12674 #[serde(rename = "ExciseTax")]
12675 pub excise_tax: Option<String>,
12676 #[serde(rename = "InvoiceNumber")]
12677 pub invoice_number: Option<String>,
12678 #[serde(rename = "MunicipalTax")]
12679 pub municipal_tax: Option<String>,
12680 #[serde(rename = "PackageLabel")]
12681 pub package_label: Option<String>,
12682 #[serde(rename = "Price")]
12683 pub price: Option<String>,
12684 #[serde(rename = "QrCodes")]
12685 pub qr_codes: Option<String>,
12686 #[serde(rename = "Quantity")]
12687 pub quantity: Option<i64>,
12688 #[serde(rename = "SalesTax")]
12689 pub sales_tax: Option<String>,
12690 #[serde(rename = "SubTotal")]
12691 pub sub_total: Option<String>,
12692 #[serde(rename = "TotalAmount")]
12693 pub total_amount: Option<f64>,
12694 #[serde(rename = "UnitOfMeasure")]
12695 pub unit_of_measure: Option<String>,
12696 #[serde(rename = "UnitThcContent")]
12697 pub unit_thc_content: Option<f64>,
12698 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12699 pub unit_thc_content_unit_of_measure: Option<String>,
12700 #[serde(rename = "UnitThcPercent")]
12701 pub unit_thc_percent: Option<f64>,
12702 #[serde(rename = "UnitWeight")]
12703 pub unit_weight: Option<f64>,
12704 #[serde(rename = "UnitWeightUnitOfMeasure")]
12705 pub unit_weight_unit_of_measure: Option<String>,
12706}
12707
12708#[derive(Serialize, Deserialize, Debug, Clone)]
12709pub struct SalesUpdateDeliveryRetailerV2RequestItemPackages {
12710 #[serde(rename = "DateTime")]
12711 pub date_time: Option<String>,
12712 #[serde(rename = "PackageLabel")]
12713 pub package_label: Option<String>,
12714 #[serde(rename = "Quantity")]
12715 pub quantity: Option<i64>,
12716 #[serde(rename = "TotalPrice")]
12717 pub total_price: Option<f64>,
12718 #[serde(rename = "UnitOfMeasure")]
12719 pub unit_of_measure: Option<String>,
12720}
12721
12722#[derive(Serialize, Deserialize, Debug, Clone)]
12723pub struct SalesUpdateReceiptV1RequestItem {
12724 #[serde(rename = "CaregiverLicenseNumber")]
12725 pub caregiver_license_number: Option<String>,
12726 #[serde(rename = "ExternalReceiptNumber")]
12727 pub external_receipt_number: Option<String>,
12728 #[serde(rename = "Id")]
12729 pub id: Option<i64>,
12730 #[serde(rename = "IdentificationMethod")]
12731 pub identification_method: Option<String>,
12732 #[serde(rename = "PatientLicenseNumber")]
12733 pub patient_license_number: Option<String>,
12734 #[serde(rename = "PatientRegistrationLocationId")]
12735 pub patient_registration_location_id: Option<i64>,
12736 #[serde(rename = "SalesCustomerType")]
12737 pub sales_customer_type: Option<String>,
12738 #[serde(rename = "SalesDateTime")]
12739 pub sales_date_time: Option<String>,
12740 #[serde(rename = "Transactions")]
12741 pub transactions: Option<Vec<SalesUpdateReceiptV1RequestItemTransactions>>,
12742}
12743
12744#[derive(Serialize, Deserialize, Debug, Clone)]
12745pub struct SalesUpdateReceiptV1RequestItemTransactions {
12746 #[serde(rename = "CityTax")]
12747 pub city_tax: Option<String>,
12748 #[serde(rename = "CountyTax")]
12749 pub county_tax: Option<String>,
12750 #[serde(rename = "DiscountAmount")]
12751 pub discount_amount: Option<String>,
12752 #[serde(rename = "ExciseTax")]
12753 pub excise_tax: Option<String>,
12754 #[serde(rename = "InvoiceNumber")]
12755 pub invoice_number: Option<String>,
12756 #[serde(rename = "MunicipalTax")]
12757 pub municipal_tax: Option<String>,
12758 #[serde(rename = "PackageLabel")]
12759 pub package_label: Option<String>,
12760 #[serde(rename = "Price")]
12761 pub price: Option<String>,
12762 #[serde(rename = "QrCodes")]
12763 pub qr_codes: Option<String>,
12764 #[serde(rename = "Quantity")]
12765 pub quantity: Option<i64>,
12766 #[serde(rename = "SalesTax")]
12767 pub sales_tax: Option<String>,
12768 #[serde(rename = "SubTotal")]
12769 pub sub_total: Option<String>,
12770 #[serde(rename = "TotalAmount")]
12771 pub total_amount: Option<f64>,
12772 #[serde(rename = "UnitOfMeasure")]
12773 pub unit_of_measure: Option<String>,
12774 #[serde(rename = "UnitThcContent")]
12775 pub unit_thc_content: Option<f64>,
12776 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12777 pub unit_thc_content_unit_of_measure: Option<String>,
12778 #[serde(rename = "UnitThcPercent")]
12779 pub unit_thc_percent: Option<f64>,
12780 #[serde(rename = "UnitWeight")]
12781 pub unit_weight: Option<f64>,
12782 #[serde(rename = "UnitWeightUnitOfMeasure")]
12783 pub unit_weight_unit_of_measure: Option<String>,
12784}
12785
12786#[derive(Serialize, Deserialize, Debug, Clone)]
12787pub struct SalesUpdateReceiptV2RequestItem {
12788 #[serde(rename = "CaregiverLicenseNumber")]
12789 pub caregiver_license_number: Option<String>,
12790 #[serde(rename = "ExternalReceiptNumber")]
12791 pub external_receipt_number: Option<String>,
12792 #[serde(rename = "Id")]
12793 pub id: Option<i64>,
12794 #[serde(rename = "IdentificationMethod")]
12795 pub identification_method: Option<String>,
12796 #[serde(rename = "PatientLicenseNumber")]
12797 pub patient_license_number: Option<String>,
12798 #[serde(rename = "PatientRegistrationLocationId")]
12799 pub patient_registration_location_id: Option<i64>,
12800 #[serde(rename = "SalesCustomerType")]
12801 pub sales_customer_type: Option<String>,
12802 #[serde(rename = "SalesDateTime")]
12803 pub sales_date_time: Option<String>,
12804 #[serde(rename = "Transactions")]
12805 pub transactions: Option<Vec<SalesUpdateReceiptV2RequestItemTransactions>>,
12806}
12807
12808#[derive(Serialize, Deserialize, Debug, Clone)]
12809pub struct SalesUpdateReceiptV2RequestItemTransactions {
12810 #[serde(rename = "CityTax")]
12811 pub city_tax: Option<String>,
12812 #[serde(rename = "CountyTax")]
12813 pub county_tax: Option<String>,
12814 #[serde(rename = "DiscountAmount")]
12815 pub discount_amount: Option<String>,
12816 #[serde(rename = "ExciseTax")]
12817 pub excise_tax: Option<String>,
12818 #[serde(rename = "InvoiceNumber")]
12819 pub invoice_number: Option<String>,
12820 #[serde(rename = "MunicipalTax")]
12821 pub municipal_tax: Option<String>,
12822 #[serde(rename = "PackageLabel")]
12823 pub package_label: Option<String>,
12824 #[serde(rename = "Price")]
12825 pub price: Option<String>,
12826 #[serde(rename = "QrCodes")]
12827 pub qr_codes: Option<String>,
12828 #[serde(rename = "Quantity")]
12829 pub quantity: Option<i64>,
12830 #[serde(rename = "SalesTax")]
12831 pub sales_tax: Option<String>,
12832 #[serde(rename = "SubTotal")]
12833 pub sub_total: Option<String>,
12834 #[serde(rename = "TotalAmount")]
12835 pub total_amount: Option<f64>,
12836 #[serde(rename = "UnitOfMeasure")]
12837 pub unit_of_measure: Option<String>,
12838 #[serde(rename = "UnitThcContent")]
12839 pub unit_thc_content: Option<f64>,
12840 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12841 pub unit_thc_content_unit_of_measure: Option<String>,
12842 #[serde(rename = "UnitThcPercent")]
12843 pub unit_thc_percent: Option<f64>,
12844 #[serde(rename = "UnitWeight")]
12845 pub unit_weight: Option<f64>,
12846 #[serde(rename = "UnitWeightUnitOfMeasure")]
12847 pub unit_weight_unit_of_measure: Option<String>,
12848}
12849
12850#[derive(Serialize, Deserialize, Debug, Clone)]
12851pub struct SalesUpdateReceiptFinalizeV2RequestItem {
12852 #[serde(rename = "Id")]
12853 pub id: Option<i64>,
12854}
12855
12856#[derive(Serialize, Deserialize, Debug, Clone)]
12857pub struct SalesUpdateReceiptUnfinalizeV2RequestItem {
12858 #[serde(rename = "Id")]
12859 pub id: Option<i64>,
12860}
12861
12862#[derive(Serialize, Deserialize, Debug, Clone)]
12863pub struct SalesUpdateTransactionByDateV1RequestItem {
12864 #[serde(rename = "CityTax")]
12865 pub city_tax: Option<String>,
12866 #[serde(rename = "CountyTax")]
12867 pub county_tax: Option<String>,
12868 #[serde(rename = "DiscountAmount")]
12869 pub discount_amount: Option<String>,
12870 #[serde(rename = "ExciseTax")]
12871 pub excise_tax: Option<String>,
12872 #[serde(rename = "InvoiceNumber")]
12873 pub invoice_number: Option<String>,
12874 #[serde(rename = "MunicipalTax")]
12875 pub municipal_tax: Option<String>,
12876 #[serde(rename = "PackageLabel")]
12877 pub package_label: Option<String>,
12878 #[serde(rename = "Price")]
12879 pub price: Option<String>,
12880 #[serde(rename = "QrCodes")]
12881 pub qr_codes: Option<String>,
12882 #[serde(rename = "Quantity")]
12883 pub quantity: Option<i64>,
12884 #[serde(rename = "SalesTax")]
12885 pub sales_tax: Option<String>,
12886 #[serde(rename = "SubTotal")]
12887 pub sub_total: Option<String>,
12888 #[serde(rename = "TotalAmount")]
12889 pub total_amount: Option<f64>,
12890 #[serde(rename = "UnitOfMeasure")]
12891 pub unit_of_measure: Option<String>,
12892 #[serde(rename = "UnitThcContent")]
12893 pub unit_thc_content: Option<f64>,
12894 #[serde(rename = "UnitThcContentUnitOfMeasure")]
12895 pub unit_thc_content_unit_of_measure: Option<String>,
12896 #[serde(rename = "UnitThcPercent")]
12897 pub unit_thc_percent: Option<f64>,
12898 #[serde(rename = "UnitWeight")]
12899 pub unit_weight: Option<f64>,
12900 #[serde(rename = "UnitWeightUnitOfMeasure")]
12901 pub unit_weight_unit_of_measure: Option<String>,
12902}
12903
12904#[derive(Serialize, Deserialize, Debug, Clone)]
12905pub struct StrainsCreateV1RequestItem {
12906 #[serde(rename = "CbdLevel")]
12907 pub cbd_level: Option<f64>,
12908 #[serde(rename = "IndicaPercentage")]
12909 pub indica_percentage: Option<f64>,
12910 #[serde(rename = "Name")]
12911 pub name: Option<String>,
12912 #[serde(rename = "SativaPercentage")]
12913 pub sativa_percentage: Option<f64>,
12914 #[serde(rename = "TestingStatus")]
12915 pub testing_status: Option<String>,
12916 #[serde(rename = "ThcLevel")]
12917 pub thc_level: Option<f64>,
12918}
12919
12920#[derive(Serialize, Deserialize, Debug, Clone)]
12921pub struct StrainsCreateV2RequestItem {
12922 #[serde(rename = "CbdLevel")]
12923 pub cbd_level: Option<f64>,
12924 #[serde(rename = "IndicaPercentage")]
12925 pub indica_percentage: Option<f64>,
12926 #[serde(rename = "Name")]
12927 pub name: Option<String>,
12928 #[serde(rename = "SativaPercentage")]
12929 pub sativa_percentage: Option<f64>,
12930 #[serde(rename = "TestingStatus")]
12931 pub testing_status: Option<String>,
12932 #[serde(rename = "ThcLevel")]
12933 pub thc_level: Option<f64>,
12934}
12935
12936#[derive(Serialize, Deserialize, Debug, Clone)]
12937pub struct StrainsCreateUpdateV1RequestItem {
12938 #[serde(rename = "CbdLevel")]
12939 pub cbd_level: Option<f64>,
12940 #[serde(rename = "Id")]
12941 pub id: Option<i64>,
12942 #[serde(rename = "IndicaPercentage")]
12943 pub indica_percentage: Option<f64>,
12944 #[serde(rename = "Name")]
12945 pub name: Option<String>,
12946 #[serde(rename = "SativaPercentage")]
12947 pub sativa_percentage: Option<f64>,
12948 #[serde(rename = "TestingStatus")]
12949 pub testing_status: Option<String>,
12950 #[serde(rename = "ThcLevel")]
12951 pub thc_level: Option<f64>,
12952}
12953
12954#[derive(Serialize, Deserialize, Debug, Clone)]
12955pub struct StrainsUpdateV2RequestItem {
12956 #[serde(rename = "CbdLevel")]
12957 pub cbd_level: Option<f64>,
12958 #[serde(rename = "Id")]
12959 pub id: Option<i64>,
12960 #[serde(rename = "IndicaPercentage")]
12961 pub indica_percentage: Option<f64>,
12962 #[serde(rename = "Name")]
12963 pub name: Option<String>,
12964 #[serde(rename = "SativaPercentage")]
12965 pub sativa_percentage: Option<f64>,
12966 #[serde(rename = "TestingStatus")]
12967 pub testing_status: Option<String>,
12968 #[serde(rename = "ThcLevel")]
12969 pub thc_level: Option<f64>,
12970}
12971
12972#[derive(Serialize, Deserialize, Debug, Clone)]
12973pub struct TransfersCreateExternalIncomingV1RequestItem {
12974 #[serde(rename = "Destinations")]
12975 pub destinations: Option<Vec<TransfersCreateExternalIncomingV1RequestItemDestinations>>,
12976 #[serde(rename = "DriverLicenseNumber")]
12977 pub driver_license_number: Option<String>,
12978 #[serde(rename = "DriverName")]
12979 pub driver_name: Option<String>,
12980 #[serde(rename = "DriverOccupationalLicenseNumber")]
12981 pub driver_occupational_license_number: Option<String>,
12982 #[serde(rename = "PhoneNumberForQuestions")]
12983 pub phone_number_for_questions: Option<String>,
12984 #[serde(rename = "ShipperAddress1")]
12985 pub shipper_address1: Option<String>,
12986 #[serde(rename = "ShipperAddress2")]
12987 pub shipper_address2: Option<String>,
12988 #[serde(rename = "ShipperAddressCity")]
12989 pub shipper_address_city: Option<String>,
12990 #[serde(rename = "ShipperAddressPostalCode")]
12991 pub shipper_address_postal_code: Option<String>,
12992 #[serde(rename = "ShipperAddressState")]
12993 pub shipper_address_state: Option<String>,
12994 #[serde(rename = "ShipperLicenseNumber")]
12995 pub shipper_license_number: Option<String>,
12996 #[serde(rename = "ShipperMainPhoneNumber")]
12997 pub shipper_main_phone_number: Option<String>,
12998 #[serde(rename = "ShipperName")]
12999 pub shipper_name: Option<String>,
13000 #[serde(rename = "TransporterFacilityLicenseNumber")]
13001 pub transporter_facility_license_number: Option<String>,
13002 #[serde(rename = "VehicleLicensePlateNumber")]
13003 pub vehicle_license_plate_number: Option<String>,
13004 #[serde(rename = "VehicleMake")]
13005 pub vehicle_make: Option<String>,
13006 #[serde(rename = "VehicleModel")]
13007 pub vehicle_model: Option<String>,
13008}
13009
13010#[derive(Serialize, Deserialize, Debug, Clone)]
13011pub struct TransfersCreateExternalIncomingV1RequestItemDestinations {
13012 #[serde(rename = "EstimatedArrivalDateTime")]
13013 pub estimated_arrival_date_time: Option<String>,
13014 #[serde(rename = "EstimatedDepartureDateTime")]
13015 pub estimated_departure_date_time: Option<String>,
13016 #[serde(rename = "GrossUnitOfWeightId")]
13017 pub gross_unit_of_weight_id: Option<i64>,
13018 #[serde(rename = "GrossWeight")]
13019 pub gross_weight: Option<f64>,
13020 #[serde(rename = "InvoiceNumber")]
13021 pub invoice_number: Option<String>,
13022 #[serde(rename = "Packages")]
13023 pub packages: Option<Vec<TransfersCreateExternalIncomingV1RequestItemDestinationsPackages>>,
13024 #[serde(rename = "PlannedRoute")]
13025 pub planned_route: Option<String>,
13026 #[serde(rename = "RecipientLicenseNumber")]
13027 pub recipient_license_number: Option<String>,
13028 #[serde(rename = "TransferTypeName")]
13029 pub transfer_type_name: Option<String>,
13030 #[serde(rename = "Transporters")]
13031 pub transporters: Option<Vec<TransfersCreateExternalIncomingV1RequestItemDestinationsTransporters>>,
13032}
13033
13034#[derive(Serialize, Deserialize, Debug, Clone)]
13035pub struct TransfersCreateExternalIncomingV1RequestItemDestinationsPackages {
13036 #[serde(rename = "ExpirationDate")]
13037 pub expiration_date: Option<String>,
13038 #[serde(rename = "ExternalId")]
13039 pub external_id: Option<String>,
13040 #[serde(rename = "GrossUnitOfWeightName")]
13041 pub gross_unit_of_weight_name: Option<String>,
13042 #[serde(rename = "GrossWeight")]
13043 pub gross_weight: Option<f64>,
13044 #[serde(rename = "ItemName")]
13045 pub item_name: Option<String>,
13046 #[serde(rename = "PackagedDate")]
13047 pub packaged_date: Option<String>,
13048 #[serde(rename = "Quantity")]
13049 pub quantity: Option<i64>,
13050 #[serde(rename = "SellByDate")]
13051 pub sell_by_date: Option<String>,
13052 #[serde(rename = "UnitOfMeasureName")]
13053 pub unit_of_measure_name: Option<String>,
13054 #[serde(rename = "UseByDate")]
13055 pub use_by_date: Option<String>,
13056 #[serde(rename = "WholesalePrice")]
13057 pub wholesale_price: Option<String>,
13058}
13059
13060#[derive(Serialize, Deserialize, Debug, Clone)]
13061pub struct TransfersCreateExternalIncomingV1RequestItemDestinationsTransporters {
13062 #[serde(rename = "DriverLayoverLeg")]
13063 pub driver_layover_leg: Option<String>,
13064 #[serde(rename = "DriverLicenseNumber")]
13065 pub driver_license_number: Option<String>,
13066 #[serde(rename = "DriverName")]
13067 pub driver_name: Option<String>,
13068 #[serde(rename = "DriverOccupationalLicenseNumber")]
13069 pub driver_occupational_license_number: Option<String>,
13070 #[serde(rename = "EstimatedArrivalDateTime")]
13071 pub estimated_arrival_date_time: Option<String>,
13072 #[serde(rename = "EstimatedDepartureDateTime")]
13073 pub estimated_departure_date_time: Option<String>,
13074 #[serde(rename = "IsLayover")]
13075 pub is_layover: Option<bool>,
13076 #[serde(rename = "PhoneNumberForQuestions")]
13077 pub phone_number_for_questions: Option<String>,
13078 #[serde(rename = "TransporterDetails")]
13079 pub transporter_details: Option<String>,
13080 #[serde(rename = "TransporterFacilityLicenseNumber")]
13081 pub transporter_facility_license_number: Option<String>,
13082 #[serde(rename = "VehicleLicensePlateNumber")]
13083 pub vehicle_license_plate_number: Option<String>,
13084 #[serde(rename = "VehicleMake")]
13085 pub vehicle_make: Option<String>,
13086 #[serde(rename = "VehicleModel")]
13087 pub vehicle_model: Option<String>,
13088}
13089
13090#[derive(Serialize, Deserialize, Debug, Clone)]
13091pub struct TransfersCreateExternalIncomingV2RequestItem {
13092 #[serde(rename = "Destinations")]
13093 pub destinations: Option<Vec<TransfersCreateExternalIncomingV2RequestItemDestinations>>,
13094 #[serde(rename = "DriverLicenseNumber")]
13095 pub driver_license_number: Option<String>,
13096 #[serde(rename = "DriverName")]
13097 pub driver_name: Option<String>,
13098 #[serde(rename = "DriverOccupationalLicenseNumber")]
13099 pub driver_occupational_license_number: Option<String>,
13100 #[serde(rename = "PhoneNumberForQuestions")]
13101 pub phone_number_for_questions: Option<String>,
13102 #[serde(rename = "ShipperAddress1")]
13103 pub shipper_address1: Option<String>,
13104 #[serde(rename = "ShipperAddress2")]
13105 pub shipper_address2: Option<String>,
13106 #[serde(rename = "ShipperAddressCity")]
13107 pub shipper_address_city: Option<String>,
13108 #[serde(rename = "ShipperAddressPostalCode")]
13109 pub shipper_address_postal_code: Option<String>,
13110 #[serde(rename = "ShipperAddressState")]
13111 pub shipper_address_state: Option<String>,
13112 #[serde(rename = "ShipperLicenseNumber")]
13113 pub shipper_license_number: Option<String>,
13114 #[serde(rename = "ShipperMainPhoneNumber")]
13115 pub shipper_main_phone_number: Option<String>,
13116 #[serde(rename = "ShipperName")]
13117 pub shipper_name: Option<String>,
13118 #[serde(rename = "TransporterFacilityLicenseNumber")]
13119 pub transporter_facility_license_number: Option<String>,
13120 #[serde(rename = "VehicleLicensePlateNumber")]
13121 pub vehicle_license_plate_number: Option<String>,
13122 #[serde(rename = "VehicleMake")]
13123 pub vehicle_make: Option<String>,
13124 #[serde(rename = "VehicleModel")]
13125 pub vehicle_model: Option<String>,
13126}
13127
13128#[derive(Serialize, Deserialize, Debug, Clone)]
13129pub struct TransfersCreateExternalIncomingV2RequestItemDestinations {
13130 #[serde(rename = "EstimatedArrivalDateTime")]
13131 pub estimated_arrival_date_time: Option<String>,
13132 #[serde(rename = "EstimatedDepartureDateTime")]
13133 pub estimated_departure_date_time: Option<String>,
13134 #[serde(rename = "GrossUnitOfWeightId")]
13135 pub gross_unit_of_weight_id: Option<i64>,
13136 #[serde(rename = "GrossWeight")]
13137 pub gross_weight: Option<f64>,
13138 #[serde(rename = "InvoiceNumber")]
13139 pub invoice_number: Option<String>,
13140 #[serde(rename = "Packages")]
13141 pub packages: Option<Vec<TransfersCreateExternalIncomingV2RequestItemDestinationsPackages>>,
13142 #[serde(rename = "PlannedRoute")]
13143 pub planned_route: Option<String>,
13144 #[serde(rename = "RecipientLicenseNumber")]
13145 pub recipient_license_number: Option<String>,
13146 #[serde(rename = "TransferTypeName")]
13147 pub transfer_type_name: Option<String>,
13148 #[serde(rename = "Transporters")]
13149 pub transporters: Option<Vec<TransfersCreateExternalIncomingV2RequestItemDestinationsTransporters>>,
13150}
13151
13152#[derive(Serialize, Deserialize, Debug, Clone)]
13153pub struct TransfersCreateExternalIncomingV2RequestItemDestinationsPackages {
13154 #[serde(rename = "ExpirationDate")]
13155 pub expiration_date: Option<String>,
13156 #[serde(rename = "ExternalId")]
13157 pub external_id: Option<String>,
13158 #[serde(rename = "GrossUnitOfWeightName")]
13159 pub gross_unit_of_weight_name: Option<String>,
13160 #[serde(rename = "GrossWeight")]
13161 pub gross_weight: Option<f64>,
13162 #[serde(rename = "ItemName")]
13163 pub item_name: Option<String>,
13164 #[serde(rename = "PackagedDate")]
13165 pub packaged_date: Option<String>,
13166 #[serde(rename = "Quantity")]
13167 pub quantity: Option<i64>,
13168 #[serde(rename = "SellByDate")]
13169 pub sell_by_date: Option<String>,
13170 #[serde(rename = "UnitOfMeasureName")]
13171 pub unit_of_measure_name: Option<String>,
13172 #[serde(rename = "UseByDate")]
13173 pub use_by_date: Option<String>,
13174 #[serde(rename = "WholesalePrice")]
13175 pub wholesale_price: Option<String>,
13176}
13177
13178#[derive(Serialize, Deserialize, Debug, Clone)]
13179pub struct TransfersCreateExternalIncomingV2RequestItemDestinationsTransporters {
13180 #[serde(rename = "DriverLayoverLeg")]
13181 pub driver_layover_leg: Option<String>,
13182 #[serde(rename = "DriverLicenseNumber")]
13183 pub driver_license_number: Option<String>,
13184 #[serde(rename = "DriverName")]
13185 pub driver_name: Option<String>,
13186 #[serde(rename = "DriverOccupationalLicenseNumber")]
13187 pub driver_occupational_license_number: Option<String>,
13188 #[serde(rename = "EstimatedArrivalDateTime")]
13189 pub estimated_arrival_date_time: Option<String>,
13190 #[serde(rename = "EstimatedDepartureDateTime")]
13191 pub estimated_departure_date_time: Option<String>,
13192 #[serde(rename = "IsLayover")]
13193 pub is_layover: Option<bool>,
13194 #[serde(rename = "PhoneNumberForQuestions")]
13195 pub phone_number_for_questions: Option<String>,
13196 #[serde(rename = "TransporterDetails")]
13197 pub transporter_details: Option<Vec<TransfersCreateExternalIncomingV2RequestItemDestinationsTransportersTransporterDetails>>,
13198 #[serde(rename = "TransporterFacilityLicenseNumber")]
13199 pub transporter_facility_license_number: Option<String>,
13200 #[serde(rename = "VehicleLicensePlateNumber")]
13201 pub vehicle_license_plate_number: Option<String>,
13202 #[serde(rename = "VehicleMake")]
13203 pub vehicle_make: Option<String>,
13204 #[serde(rename = "VehicleModel")]
13205 pub vehicle_model: Option<String>,
13206}
13207
13208#[derive(Serialize, Deserialize, Debug, Clone)]
13209pub struct TransfersCreateExternalIncomingV2RequestItemDestinationsTransportersTransporterDetails {
13210 #[serde(rename = "DriverLayoverLeg")]
13211 pub driver_layover_leg: Option<String>,
13212 #[serde(rename = "DriverLicenseNumber")]
13213 pub driver_license_number: Option<String>,
13214 #[serde(rename = "DriverName")]
13215 pub driver_name: Option<String>,
13216 #[serde(rename = "DriverOccupationalLicenseNumber")]
13217 pub driver_occupational_license_number: Option<String>,
13218 #[serde(rename = "VehicleLicensePlateNumber")]
13219 pub vehicle_license_plate_number: Option<String>,
13220 #[serde(rename = "VehicleMake")]
13221 pub vehicle_make: Option<String>,
13222 #[serde(rename = "VehicleModel")]
13223 pub vehicle_model: Option<String>,
13224}
13225
13226#[derive(Serialize, Deserialize, Debug, Clone)]
13227pub struct TransfersCreateTemplatesV1RequestItem {
13228 #[serde(rename = "Destinations")]
13229 pub destinations: Option<Vec<TransfersCreateTemplatesV1RequestItemDestinations>>,
13230 #[serde(rename = "DriverLicenseNumber")]
13231 pub driver_license_number: Option<String>,
13232 #[serde(rename = "DriverName")]
13233 pub driver_name: Option<String>,
13234 #[serde(rename = "DriverOccupationalLicenseNumber")]
13235 pub driver_occupational_license_number: Option<String>,
13236 #[serde(rename = "Name")]
13237 pub name: Option<String>,
13238 #[serde(rename = "PhoneNumberForQuestions")]
13239 pub phone_number_for_questions: Option<String>,
13240 #[serde(rename = "TransporterFacilityLicenseNumber")]
13241 pub transporter_facility_license_number: Option<String>,
13242 #[serde(rename = "VehicleLicensePlateNumber")]
13243 pub vehicle_license_plate_number: Option<String>,
13244 #[serde(rename = "VehicleMake")]
13245 pub vehicle_make: Option<String>,
13246 #[serde(rename = "VehicleModel")]
13247 pub vehicle_model: Option<String>,
13248}
13249
13250#[derive(Serialize, Deserialize, Debug, Clone)]
13251pub struct TransfersCreateTemplatesV1RequestItemDestinations {
13252 #[serde(rename = "EstimatedArrivalDateTime")]
13253 pub estimated_arrival_date_time: Option<String>,
13254 #[serde(rename = "EstimatedDepartureDateTime")]
13255 pub estimated_departure_date_time: Option<String>,
13256 #[serde(rename = "InvoiceNumber")]
13257 pub invoice_number: Option<String>,
13258 #[serde(rename = "Packages")]
13259 pub packages: Option<Vec<TransfersCreateTemplatesV1RequestItemDestinationsPackages>>,
13260 #[serde(rename = "PlannedRoute")]
13261 pub planned_route: Option<String>,
13262 #[serde(rename = "RecipientLicenseNumber")]
13263 pub recipient_license_number: Option<String>,
13264 #[serde(rename = "TransferTypeName")]
13265 pub transfer_type_name: Option<String>,
13266 #[serde(rename = "Transporters")]
13267 pub transporters: Option<Vec<TransfersCreateTemplatesV1RequestItemDestinationsTransporters>>,
13268}
13269
13270#[derive(Serialize, Deserialize, Debug, Clone)]
13271pub struct TransfersCreateTemplatesV1RequestItemDestinationsPackages {
13272 #[serde(rename = "GrossUnitOfWeightName")]
13273 pub gross_unit_of_weight_name: Option<String>,
13274 #[serde(rename = "GrossWeight")]
13275 pub gross_weight: Option<f64>,
13276 #[serde(rename = "PackageLabel")]
13277 pub package_label: Option<String>,
13278 #[serde(rename = "WholesalePrice")]
13279 pub wholesale_price: Option<String>,
13280}
13281
13282#[derive(Serialize, Deserialize, Debug, Clone)]
13283pub struct TransfersCreateTemplatesV1RequestItemDestinationsTransporters {
13284 #[serde(rename = "DriverLayoverLeg")]
13285 pub driver_layover_leg: Option<String>,
13286 #[serde(rename = "DriverLicenseNumber")]
13287 pub driver_license_number: Option<String>,
13288 #[serde(rename = "DriverName")]
13289 pub driver_name: Option<String>,
13290 #[serde(rename = "DriverOccupationalLicenseNumber")]
13291 pub driver_occupational_license_number: Option<String>,
13292 #[serde(rename = "EstimatedArrivalDateTime")]
13293 pub estimated_arrival_date_time: Option<String>,
13294 #[serde(rename = "EstimatedDepartureDateTime")]
13295 pub estimated_departure_date_time: Option<String>,
13296 #[serde(rename = "IsLayover")]
13297 pub is_layover: Option<bool>,
13298 #[serde(rename = "PhoneNumberForQuestions")]
13299 pub phone_number_for_questions: Option<String>,
13300 #[serde(rename = "TransporterDetails")]
13301 pub transporter_details: Option<String>,
13302 #[serde(rename = "TransporterFacilityLicenseNumber")]
13303 pub transporter_facility_license_number: Option<String>,
13304 #[serde(rename = "VehicleLicensePlateNumber")]
13305 pub vehicle_license_plate_number: Option<String>,
13306 #[serde(rename = "VehicleMake")]
13307 pub vehicle_make: Option<String>,
13308 #[serde(rename = "VehicleModel")]
13309 pub vehicle_model: Option<String>,
13310}
13311
13312#[derive(Serialize, Deserialize, Debug, Clone)]
13313pub struct TransfersCreateTemplatesOutgoingV2RequestItem {
13314 #[serde(rename = "Destinations")]
13315 pub destinations: Option<Vec<TransfersCreateTemplatesOutgoingV2RequestItemDestinations>>,
13316 #[serde(rename = "DriverLicenseNumber")]
13317 pub driver_license_number: Option<String>,
13318 #[serde(rename = "DriverName")]
13319 pub driver_name: Option<String>,
13320 #[serde(rename = "DriverOccupationalLicenseNumber")]
13321 pub driver_occupational_license_number: Option<String>,
13322 #[serde(rename = "Name")]
13323 pub name: Option<String>,
13324 #[serde(rename = "PhoneNumberForQuestions")]
13325 pub phone_number_for_questions: Option<String>,
13326 #[serde(rename = "TransporterFacilityLicenseNumber")]
13327 pub transporter_facility_license_number: Option<String>,
13328 #[serde(rename = "VehicleLicensePlateNumber")]
13329 pub vehicle_license_plate_number: Option<String>,
13330 #[serde(rename = "VehicleMake")]
13331 pub vehicle_make: Option<String>,
13332 #[serde(rename = "VehicleModel")]
13333 pub vehicle_model: Option<String>,
13334}
13335
13336#[derive(Serialize, Deserialize, Debug, Clone)]
13337pub struct TransfersCreateTemplatesOutgoingV2RequestItemDestinations {
13338 #[serde(rename = "EstimatedArrivalDateTime")]
13339 pub estimated_arrival_date_time: Option<String>,
13340 #[serde(rename = "EstimatedDepartureDateTime")]
13341 pub estimated_departure_date_time: Option<String>,
13342 #[serde(rename = "InvoiceNumber")]
13343 pub invoice_number: Option<String>,
13344 #[serde(rename = "Packages")]
13345 pub packages: Option<Vec<TransfersCreateTemplatesOutgoingV2RequestItemDestinationsPackages>>,
13346 #[serde(rename = "PlannedRoute")]
13347 pub planned_route: Option<String>,
13348 #[serde(rename = "RecipientLicenseNumber")]
13349 pub recipient_license_number: Option<String>,
13350 #[serde(rename = "TransferTypeName")]
13351 pub transfer_type_name: Option<String>,
13352 #[serde(rename = "Transporters")]
13353 pub transporters: Option<Vec<TransfersCreateTemplatesOutgoingV2RequestItemDestinationsTransporters>>,
13354}
13355
13356#[derive(Serialize, Deserialize, Debug, Clone)]
13357pub struct TransfersCreateTemplatesOutgoingV2RequestItemDestinationsPackages {
13358 #[serde(rename = "GrossUnitOfWeightName")]
13359 pub gross_unit_of_weight_name: Option<String>,
13360 #[serde(rename = "GrossWeight")]
13361 pub gross_weight: Option<f64>,
13362 #[serde(rename = "PackageLabel")]
13363 pub package_label: Option<String>,
13364 #[serde(rename = "WholesalePrice")]
13365 pub wholesale_price: Option<String>,
13366}
13367
13368#[derive(Serialize, Deserialize, Debug, Clone)]
13369pub struct TransfersCreateTemplatesOutgoingV2RequestItemDestinationsTransporters {
13370 #[serde(rename = "DriverLayoverLeg")]
13371 pub driver_layover_leg: Option<String>,
13372 #[serde(rename = "DriverLicenseNumber")]
13373 pub driver_license_number: Option<String>,
13374 #[serde(rename = "DriverName")]
13375 pub driver_name: Option<String>,
13376 #[serde(rename = "DriverOccupationalLicenseNumber")]
13377 pub driver_occupational_license_number: Option<String>,
13378 #[serde(rename = "EstimatedArrivalDateTime")]
13379 pub estimated_arrival_date_time: Option<String>,
13380 #[serde(rename = "EstimatedDepartureDateTime")]
13381 pub estimated_departure_date_time: Option<String>,
13382 #[serde(rename = "IsLayover")]
13383 pub is_layover: Option<bool>,
13384 #[serde(rename = "PhoneNumberForQuestions")]
13385 pub phone_number_for_questions: Option<String>,
13386 #[serde(rename = "TransporterDetails")]
13387 pub transporter_details: Option<Vec<TransfersCreateTemplatesOutgoingV2RequestItemDestinationsTransportersTransporterDetails>>,
13388 #[serde(rename = "TransporterFacilityLicenseNumber")]
13389 pub transporter_facility_license_number: Option<String>,
13390 #[serde(rename = "VehicleLicensePlateNumber")]
13391 pub vehicle_license_plate_number: Option<String>,
13392 #[serde(rename = "VehicleMake")]
13393 pub vehicle_make: Option<String>,
13394 #[serde(rename = "VehicleModel")]
13395 pub vehicle_model: Option<String>,
13396}
13397
13398#[derive(Serialize, Deserialize, Debug, Clone)]
13399pub struct TransfersCreateTemplatesOutgoingV2RequestItemDestinationsTransportersTransporterDetails {
13400 #[serde(rename = "DriverLayoverLeg")]
13401 pub driver_layover_leg: Option<String>,
13402 #[serde(rename = "DriverLicenseNumber")]
13403 pub driver_license_number: Option<String>,
13404 #[serde(rename = "DriverName")]
13405 pub driver_name: Option<String>,
13406 #[serde(rename = "DriverOccupationalLicenseNumber")]
13407 pub driver_occupational_license_number: Option<String>,
13408 #[serde(rename = "VehicleLicensePlateNumber")]
13409 pub vehicle_license_plate_number: Option<String>,
13410 #[serde(rename = "VehicleMake")]
13411 pub vehicle_make: Option<String>,
13412 #[serde(rename = "VehicleModel")]
13413 pub vehicle_model: Option<String>,
13414}
13415
13416#[derive(Serialize, Deserialize, Debug, Clone)]
13417pub struct TransfersUpdateExternalIncomingV1RequestItem {
13418 #[serde(rename = "Destinations")]
13419 pub destinations: Option<Vec<TransfersUpdateExternalIncomingV1RequestItemDestinations>>,
13420 #[serde(rename = "DriverLicenseNumber")]
13421 pub driver_license_number: Option<String>,
13422 #[serde(rename = "DriverName")]
13423 pub driver_name: Option<String>,
13424 #[serde(rename = "DriverOccupationalLicenseNumber")]
13425 pub driver_occupational_license_number: Option<String>,
13426 #[serde(rename = "PhoneNumberForQuestions")]
13427 pub phone_number_for_questions: Option<String>,
13428 #[serde(rename = "ShipperAddress1")]
13429 pub shipper_address1: Option<String>,
13430 #[serde(rename = "ShipperAddress2")]
13431 pub shipper_address2: Option<String>,
13432 #[serde(rename = "ShipperAddressCity")]
13433 pub shipper_address_city: Option<String>,
13434 #[serde(rename = "ShipperAddressPostalCode")]
13435 pub shipper_address_postal_code: Option<String>,
13436 #[serde(rename = "ShipperAddressState")]
13437 pub shipper_address_state: Option<String>,
13438 #[serde(rename = "ShipperLicenseNumber")]
13439 pub shipper_license_number: Option<String>,
13440 #[serde(rename = "ShipperMainPhoneNumber")]
13441 pub shipper_main_phone_number: Option<String>,
13442 #[serde(rename = "ShipperName")]
13443 pub shipper_name: Option<String>,
13444 #[serde(rename = "TransferId")]
13445 pub transfer_id: Option<i64>,
13446 #[serde(rename = "TransporterFacilityLicenseNumber")]
13447 pub transporter_facility_license_number: Option<String>,
13448 #[serde(rename = "VehicleLicensePlateNumber")]
13449 pub vehicle_license_plate_number: Option<String>,
13450 #[serde(rename = "VehicleMake")]
13451 pub vehicle_make: Option<String>,
13452 #[serde(rename = "VehicleModel")]
13453 pub vehicle_model: Option<String>,
13454}
13455
13456#[derive(Serialize, Deserialize, Debug, Clone)]
13457pub struct TransfersUpdateExternalIncomingV1RequestItemDestinations {
13458 #[serde(rename = "EstimatedArrivalDateTime")]
13459 pub estimated_arrival_date_time: Option<String>,
13460 #[serde(rename = "EstimatedDepartureDateTime")]
13461 pub estimated_departure_date_time: Option<String>,
13462 #[serde(rename = "GrossUnitOfWeightId")]
13463 pub gross_unit_of_weight_id: Option<i64>,
13464 #[serde(rename = "GrossWeight")]
13465 pub gross_weight: Option<f64>,
13466 #[serde(rename = "InvoiceNumber")]
13467 pub invoice_number: Option<String>,
13468 #[serde(rename = "Packages")]
13469 pub packages: Option<Vec<TransfersUpdateExternalIncomingV1RequestItemDestinationsPackages>>,
13470 #[serde(rename = "PlannedRoute")]
13471 pub planned_route: Option<String>,
13472 #[serde(rename = "RecipientLicenseNumber")]
13473 pub recipient_license_number: Option<String>,
13474 #[serde(rename = "TransferDestinationId")]
13475 pub transfer_destination_id: Option<i64>,
13476 #[serde(rename = "TransferTypeName")]
13477 pub transfer_type_name: Option<String>,
13478 #[serde(rename = "Transporters")]
13479 pub transporters: Option<Vec<TransfersUpdateExternalIncomingV1RequestItemDestinationsTransporters>>,
13480}
13481
13482#[derive(Serialize, Deserialize, Debug, Clone)]
13483pub struct TransfersUpdateExternalIncomingV1RequestItemDestinationsPackages {
13484 #[serde(rename = "ExpirationDate")]
13485 pub expiration_date: Option<String>,
13486 #[serde(rename = "ExternalId")]
13487 pub external_id: Option<String>,
13488 #[serde(rename = "GrossUnitOfWeightName")]
13489 pub gross_unit_of_weight_name: Option<String>,
13490 #[serde(rename = "GrossWeight")]
13491 pub gross_weight: Option<f64>,
13492 #[serde(rename = "ItemName")]
13493 pub item_name: Option<String>,
13494 #[serde(rename = "PackagedDate")]
13495 pub packaged_date: Option<String>,
13496 #[serde(rename = "Quantity")]
13497 pub quantity: Option<i64>,
13498 #[serde(rename = "SellByDate")]
13499 pub sell_by_date: Option<String>,
13500 #[serde(rename = "UnitOfMeasureName")]
13501 pub unit_of_measure_name: Option<String>,
13502 #[serde(rename = "UseByDate")]
13503 pub use_by_date: Option<String>,
13504 #[serde(rename = "WholesalePrice")]
13505 pub wholesale_price: Option<String>,
13506}
13507
13508#[derive(Serialize, Deserialize, Debug, Clone)]
13509pub struct TransfersUpdateExternalIncomingV1RequestItemDestinationsTransporters {
13510 #[serde(rename = "DriverLayoverLeg")]
13511 pub driver_layover_leg: Option<String>,
13512 #[serde(rename = "DriverLicenseNumber")]
13513 pub driver_license_number: Option<String>,
13514 #[serde(rename = "DriverName")]
13515 pub driver_name: Option<String>,
13516 #[serde(rename = "DriverOccupationalLicenseNumber")]
13517 pub driver_occupational_license_number: Option<String>,
13518 #[serde(rename = "EstimatedArrivalDateTime")]
13519 pub estimated_arrival_date_time: Option<String>,
13520 #[serde(rename = "EstimatedDepartureDateTime")]
13521 pub estimated_departure_date_time: Option<String>,
13522 #[serde(rename = "IsLayover")]
13523 pub is_layover: Option<bool>,
13524 #[serde(rename = "PhoneNumberForQuestions")]
13525 pub phone_number_for_questions: Option<String>,
13526 #[serde(rename = "TransporterDetails")]
13527 pub transporter_details: Option<String>,
13528 #[serde(rename = "TransporterFacilityLicenseNumber")]
13529 pub transporter_facility_license_number: Option<String>,
13530 #[serde(rename = "VehicleLicensePlateNumber")]
13531 pub vehicle_license_plate_number: Option<String>,
13532 #[serde(rename = "VehicleMake")]
13533 pub vehicle_make: Option<String>,
13534 #[serde(rename = "VehicleModel")]
13535 pub vehicle_model: Option<String>,
13536}
13537
13538#[derive(Serialize, Deserialize, Debug, Clone)]
13539pub struct TransfersUpdateExternalIncomingV2RequestItem {
13540 #[serde(rename = "Destinations")]
13541 pub destinations: Option<Vec<TransfersUpdateExternalIncomingV2RequestItemDestinations>>,
13542 #[serde(rename = "DriverLicenseNumber")]
13543 pub driver_license_number: Option<String>,
13544 #[serde(rename = "DriverName")]
13545 pub driver_name: Option<String>,
13546 #[serde(rename = "DriverOccupationalLicenseNumber")]
13547 pub driver_occupational_license_number: Option<String>,
13548 #[serde(rename = "PhoneNumberForQuestions")]
13549 pub phone_number_for_questions: Option<String>,
13550 #[serde(rename = "ShipperAddress1")]
13551 pub shipper_address1: Option<String>,
13552 #[serde(rename = "ShipperAddress2")]
13553 pub shipper_address2: Option<String>,
13554 #[serde(rename = "ShipperAddressCity")]
13555 pub shipper_address_city: Option<String>,
13556 #[serde(rename = "ShipperAddressPostalCode")]
13557 pub shipper_address_postal_code: Option<String>,
13558 #[serde(rename = "ShipperAddressState")]
13559 pub shipper_address_state: Option<String>,
13560 #[serde(rename = "ShipperLicenseNumber")]
13561 pub shipper_license_number: Option<String>,
13562 #[serde(rename = "ShipperMainPhoneNumber")]
13563 pub shipper_main_phone_number: Option<String>,
13564 #[serde(rename = "ShipperName")]
13565 pub shipper_name: Option<String>,
13566 #[serde(rename = "TransferId")]
13567 pub transfer_id: Option<i64>,
13568 #[serde(rename = "TransporterFacilityLicenseNumber")]
13569 pub transporter_facility_license_number: Option<String>,
13570 #[serde(rename = "VehicleLicensePlateNumber")]
13571 pub vehicle_license_plate_number: Option<String>,
13572 #[serde(rename = "VehicleMake")]
13573 pub vehicle_make: Option<String>,
13574 #[serde(rename = "VehicleModel")]
13575 pub vehicle_model: Option<String>,
13576}
13577
13578#[derive(Serialize, Deserialize, Debug, Clone)]
13579pub struct TransfersUpdateExternalIncomingV2RequestItemDestinations {
13580 #[serde(rename = "EstimatedArrivalDateTime")]
13581 pub estimated_arrival_date_time: Option<String>,
13582 #[serde(rename = "EstimatedDepartureDateTime")]
13583 pub estimated_departure_date_time: Option<String>,
13584 #[serde(rename = "GrossUnitOfWeightId")]
13585 pub gross_unit_of_weight_id: Option<i64>,
13586 #[serde(rename = "GrossWeight")]
13587 pub gross_weight: Option<f64>,
13588 #[serde(rename = "InvoiceNumber")]
13589 pub invoice_number: Option<String>,
13590 #[serde(rename = "Packages")]
13591 pub packages: Option<Vec<TransfersUpdateExternalIncomingV2RequestItemDestinationsPackages>>,
13592 #[serde(rename = "PlannedRoute")]
13593 pub planned_route: Option<String>,
13594 #[serde(rename = "RecipientLicenseNumber")]
13595 pub recipient_license_number: Option<String>,
13596 #[serde(rename = "TransferDestinationId")]
13597 pub transfer_destination_id: Option<i64>,
13598 #[serde(rename = "TransferTypeName")]
13599 pub transfer_type_name: Option<String>,
13600 #[serde(rename = "Transporters")]
13601 pub transporters: Option<Vec<TransfersUpdateExternalIncomingV2RequestItemDestinationsTransporters>>,
13602}
13603
13604#[derive(Serialize, Deserialize, Debug, Clone)]
13605pub struct TransfersUpdateExternalIncomingV2RequestItemDestinationsPackages {
13606 #[serde(rename = "ExpirationDate")]
13607 pub expiration_date: Option<String>,
13608 #[serde(rename = "ExternalId")]
13609 pub external_id: Option<String>,
13610 #[serde(rename = "GrossUnitOfWeightName")]
13611 pub gross_unit_of_weight_name: Option<String>,
13612 #[serde(rename = "GrossWeight")]
13613 pub gross_weight: Option<f64>,
13614 #[serde(rename = "ItemName")]
13615 pub item_name: Option<String>,
13616 #[serde(rename = "PackagedDate")]
13617 pub packaged_date: Option<String>,
13618 #[serde(rename = "Quantity")]
13619 pub quantity: Option<i64>,
13620 #[serde(rename = "SellByDate")]
13621 pub sell_by_date: Option<String>,
13622 #[serde(rename = "UnitOfMeasureName")]
13623 pub unit_of_measure_name: Option<String>,
13624 #[serde(rename = "UseByDate")]
13625 pub use_by_date: Option<String>,
13626 #[serde(rename = "WholesalePrice")]
13627 pub wholesale_price: Option<String>,
13628}
13629
13630#[derive(Serialize, Deserialize, Debug, Clone)]
13631pub struct TransfersUpdateExternalIncomingV2RequestItemDestinationsTransporters {
13632 #[serde(rename = "DriverLayoverLeg")]
13633 pub driver_layover_leg: Option<String>,
13634 #[serde(rename = "DriverLicenseNumber")]
13635 pub driver_license_number: Option<String>,
13636 #[serde(rename = "DriverName")]
13637 pub driver_name: Option<String>,
13638 #[serde(rename = "DriverOccupationalLicenseNumber")]
13639 pub driver_occupational_license_number: Option<String>,
13640 #[serde(rename = "EstimatedArrivalDateTime")]
13641 pub estimated_arrival_date_time: Option<String>,
13642 #[serde(rename = "EstimatedDepartureDateTime")]
13643 pub estimated_departure_date_time: Option<String>,
13644 #[serde(rename = "IsLayover")]
13645 pub is_layover: Option<bool>,
13646 #[serde(rename = "PhoneNumberForQuestions")]
13647 pub phone_number_for_questions: Option<String>,
13648 #[serde(rename = "TransporterDetails")]
13649 pub transporter_details: Option<Vec<TransfersUpdateExternalIncomingV2RequestItemDestinationsTransportersTransporterDetails>>,
13650 #[serde(rename = "TransporterFacilityLicenseNumber")]
13651 pub transporter_facility_license_number: Option<String>,
13652 #[serde(rename = "VehicleLicensePlateNumber")]
13653 pub vehicle_license_plate_number: Option<String>,
13654 #[serde(rename = "VehicleMake")]
13655 pub vehicle_make: Option<String>,
13656 #[serde(rename = "VehicleModel")]
13657 pub vehicle_model: Option<String>,
13658}
13659
13660#[derive(Serialize, Deserialize, Debug, Clone)]
13661pub struct TransfersUpdateExternalIncomingV2RequestItemDestinationsTransportersTransporterDetails {
13662 #[serde(rename = "DriverLayoverLeg")]
13663 pub driver_layover_leg: Option<String>,
13664 #[serde(rename = "DriverLicenseNumber")]
13665 pub driver_license_number: Option<String>,
13666 #[serde(rename = "DriverName")]
13667 pub driver_name: Option<String>,
13668 #[serde(rename = "DriverOccupationalLicenseNumber")]
13669 pub driver_occupational_license_number: Option<String>,
13670 #[serde(rename = "VehicleLicensePlateNumber")]
13671 pub vehicle_license_plate_number: Option<String>,
13672 #[serde(rename = "VehicleMake")]
13673 pub vehicle_make: Option<String>,
13674 #[serde(rename = "VehicleModel")]
13675 pub vehicle_model: Option<String>,
13676}
13677
13678#[derive(Serialize, Deserialize, Debug, Clone)]
13679pub struct TransfersUpdateTemplatesV1RequestItem {
13680 #[serde(rename = "Destinations")]
13681 pub destinations: Option<Vec<TransfersUpdateTemplatesV1RequestItemDestinations>>,
13682 #[serde(rename = "DriverLicenseNumber")]
13683 pub driver_license_number: Option<String>,
13684 #[serde(rename = "DriverName")]
13685 pub driver_name: Option<String>,
13686 #[serde(rename = "DriverOccupationalLicenseNumber")]
13687 pub driver_occupational_license_number: Option<String>,
13688 #[serde(rename = "Name")]
13689 pub name: Option<String>,
13690 #[serde(rename = "PhoneNumberForQuestions")]
13691 pub phone_number_for_questions: Option<String>,
13692 #[serde(rename = "TransferTemplateId")]
13693 pub transfer_template_id: Option<i64>,
13694 #[serde(rename = "TransporterFacilityLicenseNumber")]
13695 pub transporter_facility_license_number: Option<String>,
13696 #[serde(rename = "VehicleLicensePlateNumber")]
13697 pub vehicle_license_plate_number: Option<String>,
13698 #[serde(rename = "VehicleMake")]
13699 pub vehicle_make: Option<String>,
13700 #[serde(rename = "VehicleModel")]
13701 pub vehicle_model: Option<String>,
13702}
13703
13704#[derive(Serialize, Deserialize, Debug, Clone)]
13705pub struct TransfersUpdateTemplatesV1RequestItemDestinations {
13706 #[serde(rename = "EstimatedArrivalDateTime")]
13707 pub estimated_arrival_date_time: Option<String>,
13708 #[serde(rename = "EstimatedDepartureDateTime")]
13709 pub estimated_departure_date_time: Option<String>,
13710 #[serde(rename = "InvoiceNumber")]
13711 pub invoice_number: Option<String>,
13712 #[serde(rename = "Packages")]
13713 pub packages: Option<Vec<TransfersUpdateTemplatesV1RequestItemDestinationsPackages>>,
13714 #[serde(rename = "PlannedRoute")]
13715 pub planned_route: Option<String>,
13716 #[serde(rename = "RecipientLicenseNumber")]
13717 pub recipient_license_number: Option<String>,
13718 #[serde(rename = "TransferDestinationId")]
13719 pub transfer_destination_id: Option<i64>,
13720 #[serde(rename = "TransferTypeName")]
13721 pub transfer_type_name: Option<String>,
13722 #[serde(rename = "Transporters")]
13723 pub transporters: Option<Vec<TransfersUpdateTemplatesV1RequestItemDestinationsTransporters>>,
13724}
13725
13726#[derive(Serialize, Deserialize, Debug, Clone)]
13727pub struct TransfersUpdateTemplatesV1RequestItemDestinationsPackages {
13728 #[serde(rename = "GrossUnitOfWeightName")]
13729 pub gross_unit_of_weight_name: Option<String>,
13730 #[serde(rename = "GrossWeight")]
13731 pub gross_weight: Option<f64>,
13732 #[serde(rename = "PackageLabel")]
13733 pub package_label: Option<String>,
13734 #[serde(rename = "WholesalePrice")]
13735 pub wholesale_price: Option<String>,
13736}
13737
13738#[derive(Serialize, Deserialize, Debug, Clone)]
13739pub struct TransfersUpdateTemplatesV1RequestItemDestinationsTransporters {
13740 #[serde(rename = "DriverLayoverLeg")]
13741 pub driver_layover_leg: Option<String>,
13742 #[serde(rename = "DriverLicenseNumber")]
13743 pub driver_license_number: Option<String>,
13744 #[serde(rename = "DriverName")]
13745 pub driver_name: Option<String>,
13746 #[serde(rename = "DriverOccupationalLicenseNumber")]
13747 pub driver_occupational_license_number: Option<String>,
13748 #[serde(rename = "EstimatedArrivalDateTime")]
13749 pub estimated_arrival_date_time: Option<String>,
13750 #[serde(rename = "EstimatedDepartureDateTime")]
13751 pub estimated_departure_date_time: Option<String>,
13752 #[serde(rename = "IsLayover")]
13753 pub is_layover: Option<bool>,
13754 #[serde(rename = "PhoneNumberForQuestions")]
13755 pub phone_number_for_questions: Option<String>,
13756 #[serde(rename = "TransporterDetails")]
13757 pub transporter_details: Option<String>,
13758 #[serde(rename = "TransporterFacilityLicenseNumber")]
13759 pub transporter_facility_license_number: Option<String>,
13760 #[serde(rename = "VehicleLicensePlateNumber")]
13761 pub vehicle_license_plate_number: Option<String>,
13762 #[serde(rename = "VehicleMake")]
13763 pub vehicle_make: Option<String>,
13764 #[serde(rename = "VehicleModel")]
13765 pub vehicle_model: Option<String>,
13766}
13767
13768#[derive(Serialize, Deserialize, Debug, Clone)]
13769pub struct TransfersUpdateTemplatesOutgoingV2RequestItem {
13770 #[serde(rename = "Destinations")]
13771 pub destinations: Option<Vec<TransfersUpdateTemplatesOutgoingV2RequestItemDestinations>>,
13772 #[serde(rename = "DriverLicenseNumber")]
13773 pub driver_license_number: Option<String>,
13774 #[serde(rename = "DriverName")]
13775 pub driver_name: Option<String>,
13776 #[serde(rename = "DriverOccupationalLicenseNumber")]
13777 pub driver_occupational_license_number: Option<String>,
13778 #[serde(rename = "Name")]
13779 pub name: Option<String>,
13780 #[serde(rename = "PhoneNumberForQuestions")]
13781 pub phone_number_for_questions: Option<String>,
13782 #[serde(rename = "TransferTemplateId")]
13783 pub transfer_template_id: Option<i64>,
13784 #[serde(rename = "TransporterFacilityLicenseNumber")]
13785 pub transporter_facility_license_number: Option<String>,
13786 #[serde(rename = "VehicleLicensePlateNumber")]
13787 pub vehicle_license_plate_number: Option<String>,
13788 #[serde(rename = "VehicleMake")]
13789 pub vehicle_make: Option<String>,
13790 #[serde(rename = "VehicleModel")]
13791 pub vehicle_model: Option<String>,
13792}
13793
13794#[derive(Serialize, Deserialize, Debug, Clone)]
13795pub struct TransfersUpdateTemplatesOutgoingV2RequestItemDestinations {
13796 #[serde(rename = "EstimatedArrivalDateTime")]
13797 pub estimated_arrival_date_time: Option<String>,
13798 #[serde(rename = "EstimatedDepartureDateTime")]
13799 pub estimated_departure_date_time: Option<String>,
13800 #[serde(rename = "InvoiceNumber")]
13801 pub invoice_number: Option<String>,
13802 #[serde(rename = "Packages")]
13803 pub packages: Option<Vec<TransfersUpdateTemplatesOutgoingV2RequestItemDestinationsPackages>>,
13804 #[serde(rename = "PlannedRoute")]
13805 pub planned_route: Option<String>,
13806 #[serde(rename = "RecipientLicenseNumber")]
13807 pub recipient_license_number: Option<String>,
13808 #[serde(rename = "TransferDestinationId")]
13809 pub transfer_destination_id: Option<i64>,
13810 #[serde(rename = "TransferTypeName")]
13811 pub transfer_type_name: Option<String>,
13812 #[serde(rename = "Transporters")]
13813 pub transporters: Option<Vec<TransfersUpdateTemplatesOutgoingV2RequestItemDestinationsTransporters>>,
13814}
13815
13816#[derive(Serialize, Deserialize, Debug, Clone)]
13817pub struct TransfersUpdateTemplatesOutgoingV2RequestItemDestinationsPackages {
13818 #[serde(rename = "GrossUnitOfWeightName")]
13819 pub gross_unit_of_weight_name: Option<String>,
13820 #[serde(rename = "GrossWeight")]
13821 pub gross_weight: Option<f64>,
13822 #[serde(rename = "PackageLabel")]
13823 pub package_label: Option<String>,
13824 #[serde(rename = "WholesalePrice")]
13825 pub wholesale_price: Option<String>,
13826}
13827
13828#[derive(Serialize, Deserialize, Debug, Clone)]
13829pub struct TransfersUpdateTemplatesOutgoingV2RequestItemDestinationsTransporters {
13830 #[serde(rename = "DriverLayoverLeg")]
13831 pub driver_layover_leg: Option<String>,
13832 #[serde(rename = "DriverLicenseNumber")]
13833 pub driver_license_number: Option<String>,
13834 #[serde(rename = "DriverName")]
13835 pub driver_name: Option<String>,
13836 #[serde(rename = "DriverOccupationalLicenseNumber")]
13837 pub driver_occupational_license_number: Option<String>,
13838 #[serde(rename = "EstimatedArrivalDateTime")]
13839 pub estimated_arrival_date_time: Option<String>,
13840 #[serde(rename = "EstimatedDepartureDateTime")]
13841 pub estimated_departure_date_time: Option<String>,
13842 #[serde(rename = "IsLayover")]
13843 pub is_layover: Option<bool>,
13844 #[serde(rename = "PhoneNumberForQuestions")]
13845 pub phone_number_for_questions: Option<String>,
13846 #[serde(rename = "TransporterDetails")]
13847 pub transporter_details: Option<Vec<TransfersUpdateTemplatesOutgoingV2RequestItemDestinationsTransportersTransporterDetails>>,
13848 #[serde(rename = "TransporterFacilityLicenseNumber")]
13849 pub transporter_facility_license_number: Option<String>,
13850 #[serde(rename = "VehicleLicensePlateNumber")]
13851 pub vehicle_license_plate_number: Option<String>,
13852 #[serde(rename = "VehicleMake")]
13853 pub vehicle_make: Option<String>,
13854 #[serde(rename = "VehicleModel")]
13855 pub vehicle_model: Option<String>,
13856}
13857
13858#[derive(Serialize, Deserialize, Debug, Clone)]
13859pub struct TransfersUpdateTemplatesOutgoingV2RequestItemDestinationsTransportersTransporterDetails {
13860 #[serde(rename = "DriverLayoverLeg")]
13861 pub driver_layover_leg: Option<String>,
13862 #[serde(rename = "DriverLicenseNumber")]
13863 pub driver_license_number: Option<String>,
13864 #[serde(rename = "DriverName")]
13865 pub driver_name: Option<String>,
13866 #[serde(rename = "DriverOccupationalLicenseNumber")]
13867 pub driver_occupational_license_number: Option<String>,
13868 #[serde(rename = "VehicleLicensePlateNumber")]
13869 pub vehicle_license_plate_number: Option<String>,
13870 #[serde(rename = "VehicleMake")]
13871 pub vehicle_make: Option<String>,
13872 #[serde(rename = "VehicleModel")]
13873 pub vehicle_model: Option<String>,
13874}
13875