convexity-api-client 0.21.0.dev332__py3-none-any.whl → 0.21.0.dev336__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- convexity_api_client/api/v1/crm_create_sales_rep.py +186 -0
- convexity_api_client/api/v1/crm_delete_sales_rep.py +182 -0
- convexity_api_client/api/v1/crm_get_sales_rep.py +182 -0
- convexity_api_client/api/v1/crm_list_sales_reps.py +236 -0
- convexity_api_client/api/v1/crm_update_sales_rep.py +202 -0
- convexity_api_client/api/v1/inventory_assign_item_warehouse_location.py +206 -0
- convexity_api_client/api/v1/inventory_create_cost_list_vendor_assignment.py +202 -0
- convexity_api_client/api/v1/inventory_create_price_list_channel_assignment.py +202 -0
- convexity_api_client/api/v1/inventory_create_price_list_customer_assignment.py +202 -0
- convexity_api_client/api/v1/inventory_delete_cost_list_vendor_assignment.py +196 -0
- convexity_api_client/api/v1/inventory_delete_price_list_channel_assignment.py +196 -0
- convexity_api_client/api/v1/inventory_delete_price_list_customer_assignment.py +196 -0
- convexity_api_client/api/v1/inventory_list_cost_list_vendor_assignments.py +202 -0
- convexity_api_client/api/v1/inventory_list_item_cost_list_entries.py +182 -0
- convexity_api_client/api/v1/inventory_list_item_price_list_entries.py +182 -0
- convexity_api_client/api/v1/inventory_list_item_warehouse_locations.py +212 -0
- convexity_api_client/api/v1/inventory_list_price_list_channel_assignments.py +202 -0
- convexity_api_client/api/v1/inventory_list_price_list_customer_assignments.py +202 -0
- convexity_api_client/api/v1/inventory_list_warehouse_location_items.py +226 -0
- convexity_api_client/api/v1/inventory_update_cost_list_vendor_assignment.py +216 -0
- convexity_api_client/api/v1/inventory_update_price_list_channel_assignment.py +216 -0
- convexity_api_client/api/v1/inventory_update_price_list_customer_assignment.py +216 -0
- convexity_api_client/api/v1/purchasing_create_item_sourcing.py +190 -0
- convexity_api_client/api/v1/purchasing_deactivate_item_sourcing.py +182 -0
- convexity_api_client/api/v1/purchasing_get_item_sourcing_options.py +166 -0
- convexity_api_client/api/v1/purchasing_list_item_sourcing.py +382 -0
- convexity_api_client/api/v1/purchasing_update_item_sourcing.py +202 -0
- convexity_api_client/api/v1/purchasing_upsert_item_sourcing_cost.py +206 -0
- convexity_api_client/api/v1/sales_list_orders.py +20 -0
- convexity_api_client/api/v1/warehouse_workflow_cancel_pick_pack_ship.py +182 -0
- convexity_api_client/api/v1/warehouse_workflow_complete_pick_pack_ship_pack.py +202 -0
- convexity_api_client/api/v1/warehouse_workflow_complete_pick_pack_ship_pick.py +202 -0
- convexity_api_client/api/v1/warehouse_workflow_create_pick_pack_ship.py +186 -0
- convexity_api_client/api/v1/warehouse_workflow_generate_pick_pack_ship_pdf.py +188 -0
- convexity_api_client/api/v1/warehouse_workflow_get_pick_pack_ship.py +182 -0
- convexity_api_client/api/v1/warehouse_workflow_mark_pick_pack_ship_shipped.py +202 -0
- convexity_api_client/api/v1/warehouse_workflow_save_pick_pack_ship_shipment.py +202 -0
- convexity_api_client/models/__init__.py +134 -0
- convexity_api_client/models/adjust_stock_request.py +20 -8
- convexity_api_client/models/assign_inventory_item_location_request.py +108 -0
- convexity_api_client/models/assign_inventory_item_location_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/bulk_upsert_customer_payload.py +20 -0
- convexity_api_client/models/bulk_upsert_sales_order_payload.py +40 -0
- convexity_api_client/models/complete_pick_pack_ship_pack_request.py +75 -0
- convexity_api_client/models/complete_pick_pack_ship_request.py +97 -0
- convexity_api_client/models/cost_list_entry_response.py +77 -0
- convexity_api_client/models/cost_list_vendor_assignment_response.py +149 -0
- convexity_api_client/models/cost_list_vendor_assignment_response_ext_data_type_0.py +47 -0
- convexity_api_client/models/cost_rule.py +53 -0
- convexity_api_client/models/cost_rule_response.py +22 -0
- convexity_api_client/models/cost_source_type.py +9 -0
- convexity_api_client/models/create_cost_list_request.py +4 -5
- convexity_api_client/models/create_cost_list_vendor_assignment_request.py +116 -0
- convexity_api_client/models/create_cost_list_vendor_assignment_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/create_customer_request.py +20 -0
- convexity_api_client/models/create_item_sourcing_request.py +256 -0
- convexity_api_client/models/create_item_sourcing_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/create_pick_pack_ship_request.py +153 -0
- convexity_api_client/models/create_price_list_channel_assignment_request.py +116 -0
- convexity_api_client/models/create_price_list_channel_assignment_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/create_price_list_customer_assignment_request.py +116 -0
- convexity_api_client/models/create_price_list_customer_assignment_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/create_price_list_request.py +4 -5
- convexity_api_client/models/create_sales_order_line_request.py +40 -8
- convexity_api_client/models/create_sales_order_request.py +40 -0
- convexity_api_client/models/create_sales_rep_request.py +181 -0
- convexity_api_client/models/create_sales_rep_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/customer.py +53 -0
- convexity_api_client/models/customer_response.py +14 -0
- convexity_api_client/models/inventory_config.py +53 -0
- convexity_api_client/models/inventory_config_response.py +28 -0
- convexity_api_client/models/inventory_item.py +43 -0
- convexity_api_client/models/inventory_item_location.py +237 -0
- convexity_api_client/models/inventory_item_location_assignment_response.py +150 -0
- convexity_api_client/models/inventory_item_location_assignment_response_ext_data_type_0.py +47 -0
- convexity_api_client/models/inventory_item_type.py +0 -1
- convexity_api_client/models/item_sourcing.py +41 -0
- convexity_api_client/models/item_sourcing_item_option.py +107 -0
- convexity_api_client/models/item_sourcing_options_response.py +120 -0
- convexity_api_client/models/item_sourcing_response.py +360 -0
- convexity_api_client/models/item_sourcing_response_ext_data_type_0.py +47 -0
- convexity_api_client/models/item_sourcing_uom_option.py +77 -0
- convexity_api_client/models/item_sourcing_vendor_option.py +77 -0
- convexity_api_client/models/item_warehouse_location_response.py +248 -0
- convexity_api_client/models/list_cost_list_entries_response.py +83 -0
- convexity_api_client/models/list_cost_list_vendor_assignments_response.py +83 -0
- convexity_api_client/models/list_item_sourcing_response.py +83 -0
- convexity_api_client/models/list_item_warehouse_locations_response.py +83 -0
- convexity_api_client/models/list_price_list_channel_assignments_response.py +83 -0
- convexity_api_client/models/list_price_list_customer_assignments_response.py +83 -0
- convexity_api_client/models/list_price_list_entries_response.py +83 -0
- convexity_api_client/models/list_sales_reps_response.py +83 -0
- convexity_api_client/models/list_warehouse_location_items_response.py +83 -0
- convexity_api_client/models/mark_pick_pack_ship_shipped_request.py +84 -0
- convexity_api_client/models/pick_pack_ship_line_request.py +100 -0
- convexity_api_client/models/pick_pack_ship_packed_line_request.py +111 -0
- convexity_api_client/models/pick_pack_ship_picked_line_request.py +91 -0
- convexity_api_client/models/pick_pack_ship_response.py +111 -0
- convexity_api_client/models/price_list.py +41 -0
- convexity_api_client/models/price_list_channel_assignment_response.py +149 -0
- convexity_api_client/models/price_list_channel_assignment_response_ext_data_type_0.py +47 -0
- convexity_api_client/models/price_list_customer_assignment_response.py +149 -0
- convexity_api_client/models/price_list_customer_assignment_response_ext_data_type_0.py +47 -0
- convexity_api_client/models/price_list_entry_response.py +77 -0
- convexity_api_client/models/price_source_type.py +9 -0
- convexity_api_client/models/project.py +43 -0
- convexity_api_client/models/purchase_order_line.py +101 -0
- convexity_api_client/models/purchase_order_line_request.py +20 -8
- convexity_api_client/models/purchase_order_line_response.py +103 -0
- convexity_api_client/models/purchasing_list_item_sourcing_filter_operator_type_0.py +19 -0
- convexity_api_client/models/purchasing_list_item_sourcing_sort_direction_type_0.py +9 -0
- convexity_api_client/models/resolve_cost_response.py +22 -0
- convexity_api_client/models/resolve_price_response.py +20 -0
- convexity_api_client/models/sales_invoice_line.py +121 -0
- convexity_api_client/models/sales_invoice_line_request.py +40 -8
- convexity_api_client/models/sales_invoice_line_response.py +121 -0
- convexity_api_client/models/sales_order.py +73 -0
- convexity_api_client/models/sales_order_line.py +121 -0
- convexity_api_client/models/sales_order_line_response.py +123 -0
- convexity_api_client/models/sales_order_response.py +28 -0
- convexity_api_client/models/sales_rep.py +279 -0
- convexity_api_client/models/sales_rep_response.py +185 -0
- convexity_api_client/models/sales_rep_response_ext_data_type_0.py +47 -0
- convexity_api_client/models/save_pick_pack_ship_shipment_request.py +163 -0
- convexity_api_client/models/stock_balance.py +20 -8
- convexity_api_client/models/update_customer_request.py +20 -0
- convexity_api_client/models/update_item_sourcing_request.py +312 -0
- convexity_api_client/models/update_item_sourcing_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/update_list_assignment_request.py +111 -0
- convexity_api_client/models/update_list_assignment_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/update_sales_order_request.py +40 -0
- convexity_api_client/models/update_sales_rep_request.py +211 -0
- convexity_api_client/models/update_sales_rep_request_ext_data_type_0.py +47 -0
- convexity_api_client/models/upsert_inventory_config_request.py +40 -0
- convexity_api_client/models/upsert_item_sourcing_cost_request.py +62 -0
- convexity_api_client/models/warehouse_location.py +43 -0
- convexity_api_client/models/warehouse_location_item_response.py +160 -0
- {convexity_api_client-0.21.0.dev332.dist-info → convexity_api_client-0.21.0.dev336.dist-info}/METADATA +1 -1
- {convexity_api_client-0.21.0.dev332.dist-info → convexity_api_client-0.21.0.dev336.dist-info}/RECORD +140 -41
- {convexity_api_client-0.21.0.dev332.dist-info → convexity_api_client-0.21.0.dev336.dist-info}/WHEEL +1 -1
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import datetime
|
|
4
|
+
from collections.abc import Mapping
|
|
5
|
+
from typing import TYPE_CHECKING, Any, TypeVar, cast
|
|
6
|
+
|
|
7
|
+
from attrs import define as _attrs_define
|
|
8
|
+
from attrs import field as _attrs_field
|
|
9
|
+
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from ..models.sales_rep_response_ext_data_type_0 import SalesRepResponseExtDataType0
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
T = TypeVar("T", bound="SalesRepResponse")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@_attrs_define
|
|
18
|
+
class SalesRepResponse:
|
|
19
|
+
"""
|
|
20
|
+
Attributes:
|
|
21
|
+
id (str):
|
|
22
|
+
project_id (str):
|
|
23
|
+
user_id (None | str):
|
|
24
|
+
code (str):
|
|
25
|
+
name (str):
|
|
26
|
+
email (None | str):
|
|
27
|
+
default_commission_rate (float | None | str):
|
|
28
|
+
is_active (bool):
|
|
29
|
+
ext_data (None | SalesRepResponseExtDataType0):
|
|
30
|
+
created_at (datetime.datetime):
|
|
31
|
+
updated_at (datetime.datetime):
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
id: str
|
|
35
|
+
project_id: str
|
|
36
|
+
user_id: None | str
|
|
37
|
+
code: str
|
|
38
|
+
name: str
|
|
39
|
+
email: None | str
|
|
40
|
+
default_commission_rate: float | None | str
|
|
41
|
+
is_active: bool
|
|
42
|
+
ext_data: None | SalesRepResponseExtDataType0
|
|
43
|
+
created_at: datetime.datetime
|
|
44
|
+
updated_at: datetime.datetime
|
|
45
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
46
|
+
|
|
47
|
+
def to_dict(self) -> dict[str, Any]:
|
|
48
|
+
from ..models.sales_rep_response_ext_data_type_0 import SalesRepResponseExtDataType0
|
|
49
|
+
|
|
50
|
+
id = self.id
|
|
51
|
+
|
|
52
|
+
project_id = self.project_id
|
|
53
|
+
|
|
54
|
+
user_id: None | str
|
|
55
|
+
user_id = self.user_id
|
|
56
|
+
|
|
57
|
+
code = self.code
|
|
58
|
+
|
|
59
|
+
name = self.name
|
|
60
|
+
|
|
61
|
+
email: None | str
|
|
62
|
+
email = self.email
|
|
63
|
+
|
|
64
|
+
default_commission_rate: float | None | str
|
|
65
|
+
default_commission_rate = self.default_commission_rate
|
|
66
|
+
|
|
67
|
+
is_active = self.is_active
|
|
68
|
+
|
|
69
|
+
ext_data: dict[str, Any] | None
|
|
70
|
+
if isinstance(self.ext_data, SalesRepResponseExtDataType0):
|
|
71
|
+
ext_data = self.ext_data.to_dict()
|
|
72
|
+
else:
|
|
73
|
+
ext_data = self.ext_data
|
|
74
|
+
|
|
75
|
+
created_at = self.created_at.isoformat()
|
|
76
|
+
|
|
77
|
+
updated_at = self.updated_at.isoformat()
|
|
78
|
+
|
|
79
|
+
field_dict: dict[str, Any] = {}
|
|
80
|
+
field_dict.update(self.additional_properties)
|
|
81
|
+
field_dict.update(
|
|
82
|
+
{
|
|
83
|
+
"id": id,
|
|
84
|
+
"project_id": project_id,
|
|
85
|
+
"user_id": user_id,
|
|
86
|
+
"code": code,
|
|
87
|
+
"name": name,
|
|
88
|
+
"email": email,
|
|
89
|
+
"default_commission_rate": default_commission_rate,
|
|
90
|
+
"is_active": is_active,
|
|
91
|
+
"ext_data": ext_data,
|
|
92
|
+
"created_at": created_at,
|
|
93
|
+
"updated_at": updated_at,
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
return field_dict
|
|
98
|
+
|
|
99
|
+
@classmethod
|
|
100
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
101
|
+
from ..models.sales_rep_response_ext_data_type_0 import SalesRepResponseExtDataType0
|
|
102
|
+
|
|
103
|
+
d = dict(src_dict)
|
|
104
|
+
id = d.pop("id")
|
|
105
|
+
|
|
106
|
+
project_id = d.pop("project_id")
|
|
107
|
+
|
|
108
|
+
def _parse_user_id(data: object) -> None | str:
|
|
109
|
+
if data is None:
|
|
110
|
+
return data
|
|
111
|
+
return cast(None | str, data)
|
|
112
|
+
|
|
113
|
+
user_id = _parse_user_id(d.pop("user_id"))
|
|
114
|
+
|
|
115
|
+
code = d.pop("code")
|
|
116
|
+
|
|
117
|
+
name = d.pop("name")
|
|
118
|
+
|
|
119
|
+
def _parse_email(data: object) -> None | str:
|
|
120
|
+
if data is None:
|
|
121
|
+
return data
|
|
122
|
+
return cast(None | str, data)
|
|
123
|
+
|
|
124
|
+
email = _parse_email(d.pop("email"))
|
|
125
|
+
|
|
126
|
+
def _parse_default_commission_rate(data: object) -> float | None | str:
|
|
127
|
+
if data is None:
|
|
128
|
+
return data
|
|
129
|
+
return cast(float | None | str, data)
|
|
130
|
+
|
|
131
|
+
default_commission_rate = _parse_default_commission_rate(d.pop("default_commission_rate"))
|
|
132
|
+
|
|
133
|
+
is_active = d.pop("is_active")
|
|
134
|
+
|
|
135
|
+
def _parse_ext_data(data: object) -> None | SalesRepResponseExtDataType0:
|
|
136
|
+
if data is None:
|
|
137
|
+
return data
|
|
138
|
+
try:
|
|
139
|
+
if not isinstance(data, dict):
|
|
140
|
+
raise TypeError()
|
|
141
|
+
ext_data_type_0 = SalesRepResponseExtDataType0.from_dict(data)
|
|
142
|
+
|
|
143
|
+
return ext_data_type_0
|
|
144
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
145
|
+
pass
|
|
146
|
+
return cast(None | SalesRepResponseExtDataType0, data)
|
|
147
|
+
|
|
148
|
+
ext_data = _parse_ext_data(d.pop("ext_data"))
|
|
149
|
+
|
|
150
|
+
created_at = datetime.datetime.fromisoformat(d.pop("created_at"))
|
|
151
|
+
|
|
152
|
+
updated_at = datetime.datetime.fromisoformat(d.pop("updated_at"))
|
|
153
|
+
|
|
154
|
+
sales_rep_response = cls(
|
|
155
|
+
id=id,
|
|
156
|
+
project_id=project_id,
|
|
157
|
+
user_id=user_id,
|
|
158
|
+
code=code,
|
|
159
|
+
name=name,
|
|
160
|
+
email=email,
|
|
161
|
+
default_commission_rate=default_commission_rate,
|
|
162
|
+
is_active=is_active,
|
|
163
|
+
ext_data=ext_data,
|
|
164
|
+
created_at=created_at,
|
|
165
|
+
updated_at=updated_at,
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
sales_rep_response.additional_properties = d
|
|
169
|
+
return sales_rep_response
|
|
170
|
+
|
|
171
|
+
@property
|
|
172
|
+
def additional_keys(self) -> list[str]:
|
|
173
|
+
return list(self.additional_properties.keys())
|
|
174
|
+
|
|
175
|
+
def __getitem__(self, key: str) -> Any:
|
|
176
|
+
return self.additional_properties[key]
|
|
177
|
+
|
|
178
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
179
|
+
self.additional_properties[key] = value
|
|
180
|
+
|
|
181
|
+
def __delitem__(self, key: str) -> None:
|
|
182
|
+
del self.additional_properties[key]
|
|
183
|
+
|
|
184
|
+
def __contains__(self, key: str) -> bool:
|
|
185
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="SalesRepResponseExtDataType0")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class SalesRepResponseExtDataType0:
|
|
14
|
+
""" """
|
|
15
|
+
|
|
16
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
17
|
+
|
|
18
|
+
def to_dict(self) -> dict[str, Any]:
|
|
19
|
+
|
|
20
|
+
field_dict: dict[str, Any] = {}
|
|
21
|
+
field_dict.update(self.additional_properties)
|
|
22
|
+
|
|
23
|
+
return field_dict
|
|
24
|
+
|
|
25
|
+
@classmethod
|
|
26
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
27
|
+
d = dict(src_dict)
|
|
28
|
+
sales_rep_response_ext_data_type_0 = cls()
|
|
29
|
+
|
|
30
|
+
sales_rep_response_ext_data_type_0.additional_properties = d
|
|
31
|
+
return sales_rep_response_ext_data_type_0
|
|
32
|
+
|
|
33
|
+
@property
|
|
34
|
+
def additional_keys(self) -> list[str]:
|
|
35
|
+
return list(self.additional_properties.keys())
|
|
36
|
+
|
|
37
|
+
def __getitem__(self, key: str) -> Any:
|
|
38
|
+
return self.additional_properties[key]
|
|
39
|
+
|
|
40
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
41
|
+
self.additional_properties[key] = value
|
|
42
|
+
|
|
43
|
+
def __delitem__(self, key: str) -> None:
|
|
44
|
+
del self.additional_properties[key]
|
|
45
|
+
|
|
46
|
+
def __contains__(self, key: str) -> bool:
|
|
47
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar, cast
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
from ..types import UNSET, Unset
|
|
10
|
+
|
|
11
|
+
T = TypeVar("T", bound="SavePickPackShipShipmentRequest")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class SavePickPackShipShipmentRequest:
|
|
16
|
+
"""
|
|
17
|
+
Attributes:
|
|
18
|
+
from_location_id (str):
|
|
19
|
+
shipment_number (None | str | Unset):
|
|
20
|
+
carrier (None | str | Unset):
|
|
21
|
+
service_level (None | str | Unset):
|
|
22
|
+
tracking_ref (None | str | Unset):
|
|
23
|
+
notes (None | str | Unset):
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
from_location_id: str
|
|
27
|
+
shipment_number: None | str | Unset = UNSET
|
|
28
|
+
carrier: None | str | Unset = UNSET
|
|
29
|
+
service_level: None | str | Unset = UNSET
|
|
30
|
+
tracking_ref: None | str | Unset = UNSET
|
|
31
|
+
notes: None | str | Unset = UNSET
|
|
32
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
33
|
+
|
|
34
|
+
def to_dict(self) -> dict[str, Any]:
|
|
35
|
+
from_location_id = self.from_location_id
|
|
36
|
+
|
|
37
|
+
shipment_number: None | str | Unset
|
|
38
|
+
if isinstance(self.shipment_number, Unset):
|
|
39
|
+
shipment_number = UNSET
|
|
40
|
+
else:
|
|
41
|
+
shipment_number = self.shipment_number
|
|
42
|
+
|
|
43
|
+
carrier: None | str | Unset
|
|
44
|
+
if isinstance(self.carrier, Unset):
|
|
45
|
+
carrier = UNSET
|
|
46
|
+
else:
|
|
47
|
+
carrier = self.carrier
|
|
48
|
+
|
|
49
|
+
service_level: None | str | Unset
|
|
50
|
+
if isinstance(self.service_level, Unset):
|
|
51
|
+
service_level = UNSET
|
|
52
|
+
else:
|
|
53
|
+
service_level = self.service_level
|
|
54
|
+
|
|
55
|
+
tracking_ref: None | str | Unset
|
|
56
|
+
if isinstance(self.tracking_ref, Unset):
|
|
57
|
+
tracking_ref = UNSET
|
|
58
|
+
else:
|
|
59
|
+
tracking_ref = self.tracking_ref
|
|
60
|
+
|
|
61
|
+
notes: None | str | Unset
|
|
62
|
+
if isinstance(self.notes, Unset):
|
|
63
|
+
notes = UNSET
|
|
64
|
+
else:
|
|
65
|
+
notes = self.notes
|
|
66
|
+
|
|
67
|
+
field_dict: dict[str, Any] = {}
|
|
68
|
+
field_dict.update(self.additional_properties)
|
|
69
|
+
field_dict.update(
|
|
70
|
+
{
|
|
71
|
+
"from_location_id": from_location_id,
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
if shipment_number is not UNSET:
|
|
75
|
+
field_dict["shipment_number"] = shipment_number
|
|
76
|
+
if carrier is not UNSET:
|
|
77
|
+
field_dict["carrier"] = carrier
|
|
78
|
+
if service_level is not UNSET:
|
|
79
|
+
field_dict["service_level"] = service_level
|
|
80
|
+
if tracking_ref is not UNSET:
|
|
81
|
+
field_dict["tracking_ref"] = tracking_ref
|
|
82
|
+
if notes is not UNSET:
|
|
83
|
+
field_dict["notes"] = notes
|
|
84
|
+
|
|
85
|
+
return field_dict
|
|
86
|
+
|
|
87
|
+
@classmethod
|
|
88
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
89
|
+
d = dict(src_dict)
|
|
90
|
+
from_location_id = d.pop("from_location_id")
|
|
91
|
+
|
|
92
|
+
def _parse_shipment_number(data: object) -> None | str | Unset:
|
|
93
|
+
if data is None:
|
|
94
|
+
return data
|
|
95
|
+
if isinstance(data, Unset):
|
|
96
|
+
return data
|
|
97
|
+
return cast(None | str | Unset, data)
|
|
98
|
+
|
|
99
|
+
shipment_number = _parse_shipment_number(d.pop("shipment_number", UNSET))
|
|
100
|
+
|
|
101
|
+
def _parse_carrier(data: object) -> None | str | Unset:
|
|
102
|
+
if data is None:
|
|
103
|
+
return data
|
|
104
|
+
if isinstance(data, Unset):
|
|
105
|
+
return data
|
|
106
|
+
return cast(None | str | Unset, data)
|
|
107
|
+
|
|
108
|
+
carrier = _parse_carrier(d.pop("carrier", UNSET))
|
|
109
|
+
|
|
110
|
+
def _parse_service_level(data: object) -> None | str | Unset:
|
|
111
|
+
if data is None:
|
|
112
|
+
return data
|
|
113
|
+
if isinstance(data, Unset):
|
|
114
|
+
return data
|
|
115
|
+
return cast(None | str | Unset, data)
|
|
116
|
+
|
|
117
|
+
service_level = _parse_service_level(d.pop("service_level", UNSET))
|
|
118
|
+
|
|
119
|
+
def _parse_tracking_ref(data: object) -> None | str | Unset:
|
|
120
|
+
if data is None:
|
|
121
|
+
return data
|
|
122
|
+
if isinstance(data, Unset):
|
|
123
|
+
return data
|
|
124
|
+
return cast(None | str | Unset, data)
|
|
125
|
+
|
|
126
|
+
tracking_ref = _parse_tracking_ref(d.pop("tracking_ref", UNSET))
|
|
127
|
+
|
|
128
|
+
def _parse_notes(data: object) -> None | str | Unset:
|
|
129
|
+
if data is None:
|
|
130
|
+
return data
|
|
131
|
+
if isinstance(data, Unset):
|
|
132
|
+
return data
|
|
133
|
+
return cast(None | str | Unset, data)
|
|
134
|
+
|
|
135
|
+
notes = _parse_notes(d.pop("notes", UNSET))
|
|
136
|
+
|
|
137
|
+
save_pick_pack_ship_shipment_request = cls(
|
|
138
|
+
from_location_id=from_location_id,
|
|
139
|
+
shipment_number=shipment_number,
|
|
140
|
+
carrier=carrier,
|
|
141
|
+
service_level=service_level,
|
|
142
|
+
tracking_ref=tracking_ref,
|
|
143
|
+
notes=notes,
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
save_pick_pack_ship_shipment_request.additional_properties = d
|
|
147
|
+
return save_pick_pack_ship_shipment_request
|
|
148
|
+
|
|
149
|
+
@property
|
|
150
|
+
def additional_keys(self) -> list[str]:
|
|
151
|
+
return list(self.additional_properties.keys())
|
|
152
|
+
|
|
153
|
+
def __getitem__(self, key: str) -> Any:
|
|
154
|
+
return self.additional_properties[key]
|
|
155
|
+
|
|
156
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
157
|
+
self.additional_properties[key] = value
|
|
158
|
+
|
|
159
|
+
def __delitem__(self, key: str) -> None:
|
|
160
|
+
del self.additional_properties[key]
|
|
161
|
+
|
|
162
|
+
def __contains__(self, key: str) -> bool:
|
|
163
|
+
return key in self.additional_properties
|
|
@@ -26,7 +26,6 @@ class StockBalance:
|
|
|
26
26
|
id (str):
|
|
27
27
|
project_id (str):
|
|
28
28
|
inventory_item_id (str):
|
|
29
|
-
location_id (str):
|
|
30
29
|
on_hand_qty (float):
|
|
31
30
|
on_order_qty (float):
|
|
32
31
|
reserved_qty (float):
|
|
@@ -34,6 +33,7 @@ class StockBalance:
|
|
|
34
33
|
in_transit_qty (float):
|
|
35
34
|
created_at (datetime.datetime):
|
|
36
35
|
updated_at (datetime.datetime):
|
|
36
|
+
location_id (None | str | Unset):
|
|
37
37
|
last_transaction_at (datetime.datetime | None | Unset):
|
|
38
38
|
ext_data (None | str | Unset):
|
|
39
39
|
project (None | Project | Unset):
|
|
@@ -44,7 +44,6 @@ class StockBalance:
|
|
|
44
44
|
id: str
|
|
45
45
|
project_id: str
|
|
46
46
|
inventory_item_id: str
|
|
47
|
-
location_id: str
|
|
48
47
|
on_hand_qty: float
|
|
49
48
|
on_order_qty: float
|
|
50
49
|
reserved_qty: float
|
|
@@ -52,6 +51,7 @@ class StockBalance:
|
|
|
52
51
|
in_transit_qty: float
|
|
53
52
|
created_at: datetime.datetime
|
|
54
53
|
updated_at: datetime.datetime
|
|
54
|
+
location_id: None | str | Unset = UNSET
|
|
55
55
|
last_transaction_at: datetime.datetime | None | Unset = UNSET
|
|
56
56
|
ext_data: None | str | Unset = UNSET
|
|
57
57
|
project: None | Project | Unset = UNSET
|
|
@@ -70,8 +70,6 @@ class StockBalance:
|
|
|
70
70
|
|
|
71
71
|
inventory_item_id = self.inventory_item_id
|
|
72
72
|
|
|
73
|
-
location_id = self.location_id
|
|
74
|
-
|
|
75
73
|
on_hand_qty = self.on_hand_qty
|
|
76
74
|
|
|
77
75
|
on_order_qty = self.on_order_qty
|
|
@@ -86,6 +84,12 @@ class StockBalance:
|
|
|
86
84
|
|
|
87
85
|
updated_at = self.updated_at.isoformat()
|
|
88
86
|
|
|
87
|
+
location_id: None | str | Unset
|
|
88
|
+
if isinstance(self.location_id, Unset):
|
|
89
|
+
location_id = UNSET
|
|
90
|
+
else:
|
|
91
|
+
location_id = self.location_id
|
|
92
|
+
|
|
89
93
|
last_transaction_at: None | str | Unset
|
|
90
94
|
if isinstance(self.last_transaction_at, Unset):
|
|
91
95
|
last_transaction_at = UNSET
|
|
@@ -131,7 +135,6 @@ class StockBalance:
|
|
|
131
135
|
"id": id,
|
|
132
136
|
"project_id": project_id,
|
|
133
137
|
"inventory_item_id": inventory_item_id,
|
|
134
|
-
"location_id": location_id,
|
|
135
138
|
"on_hand_qty": on_hand_qty,
|
|
136
139
|
"on_order_qty": on_order_qty,
|
|
137
140
|
"reserved_qty": reserved_qty,
|
|
@@ -141,6 +144,8 @@ class StockBalance:
|
|
|
141
144
|
"updated_at": updated_at,
|
|
142
145
|
}
|
|
143
146
|
)
|
|
147
|
+
if location_id is not UNSET:
|
|
148
|
+
field_dict["location_id"] = location_id
|
|
144
149
|
if last_transaction_at is not UNSET:
|
|
145
150
|
field_dict["last_transaction_at"] = last_transaction_at
|
|
146
151
|
if ext_data is not UNSET:
|
|
@@ -167,8 +172,6 @@ class StockBalance:
|
|
|
167
172
|
|
|
168
173
|
inventory_item_id = d.pop("inventory_item_id")
|
|
169
174
|
|
|
170
|
-
location_id = d.pop("location_id")
|
|
171
|
-
|
|
172
175
|
on_hand_qty = d.pop("on_hand_qty")
|
|
173
176
|
|
|
174
177
|
on_order_qty = d.pop("on_order_qty")
|
|
@@ -183,6 +186,15 @@ class StockBalance:
|
|
|
183
186
|
|
|
184
187
|
updated_at = datetime.datetime.fromisoformat(d.pop("updated_at"))
|
|
185
188
|
|
|
189
|
+
def _parse_location_id(data: object) -> None | str | Unset:
|
|
190
|
+
if data is None:
|
|
191
|
+
return data
|
|
192
|
+
if isinstance(data, Unset):
|
|
193
|
+
return data
|
|
194
|
+
return cast(None | str | Unset, data)
|
|
195
|
+
|
|
196
|
+
location_id = _parse_location_id(d.pop("location_id", UNSET))
|
|
197
|
+
|
|
186
198
|
def _parse_last_transaction_at(data: object) -> datetime.datetime | None | Unset:
|
|
187
199
|
if data is None:
|
|
188
200
|
return data
|
|
@@ -264,7 +276,6 @@ class StockBalance:
|
|
|
264
276
|
id=id,
|
|
265
277
|
project_id=project_id,
|
|
266
278
|
inventory_item_id=inventory_item_id,
|
|
267
|
-
location_id=location_id,
|
|
268
279
|
on_hand_qty=on_hand_qty,
|
|
269
280
|
on_order_qty=on_order_qty,
|
|
270
281
|
reserved_qty=reserved_qty,
|
|
@@ -272,6 +283,7 @@ class StockBalance:
|
|
|
272
283
|
in_transit_qty=in_transit_qty,
|
|
273
284
|
created_at=created_at,
|
|
274
285
|
updated_at=updated_at,
|
|
286
|
+
location_id=location_id,
|
|
275
287
|
last_transaction_at=last_transaction_at,
|
|
276
288
|
ext_data=ext_data,
|
|
277
289
|
project=project,
|
|
@@ -24,6 +24,7 @@ class UpdateCustomerRequest:
|
|
|
24
24
|
phone (None | str | Unset):
|
|
25
25
|
currency (None | str | Unset):
|
|
26
26
|
payment_term_id (None | str | Unset):
|
|
27
|
+
sales_rep_id (None | str | Unset):
|
|
27
28
|
default_billing_address_entry_id (None | str | Unset):
|
|
28
29
|
default_shipping_address_entry_id (None | str | Unset):
|
|
29
30
|
credit_limit (float | None | Unset):
|
|
@@ -36,6 +37,7 @@ class UpdateCustomerRequest:
|
|
|
36
37
|
phone: None | str | Unset = UNSET
|
|
37
38
|
currency: None | str | Unset = UNSET
|
|
38
39
|
payment_term_id: None | str | Unset = UNSET
|
|
40
|
+
sales_rep_id: None | str | Unset = UNSET
|
|
39
41
|
default_billing_address_entry_id: None | str | Unset = UNSET
|
|
40
42
|
default_shipping_address_entry_id: None | str | Unset = UNSET
|
|
41
43
|
credit_limit: float | None | Unset = UNSET
|
|
@@ -76,6 +78,12 @@ class UpdateCustomerRequest:
|
|
|
76
78
|
else:
|
|
77
79
|
payment_term_id = self.payment_term_id
|
|
78
80
|
|
|
81
|
+
sales_rep_id: None | str | Unset
|
|
82
|
+
if isinstance(self.sales_rep_id, Unset):
|
|
83
|
+
sales_rep_id = UNSET
|
|
84
|
+
else:
|
|
85
|
+
sales_rep_id = self.sales_rep_id
|
|
86
|
+
|
|
79
87
|
default_billing_address_entry_id: None | str | Unset
|
|
80
88
|
if isinstance(self.default_billing_address_entry_id, Unset):
|
|
81
89
|
default_billing_address_entry_id = UNSET
|
|
@@ -121,6 +129,8 @@ class UpdateCustomerRequest:
|
|
|
121
129
|
field_dict["currency"] = currency
|
|
122
130
|
if payment_term_id is not UNSET:
|
|
123
131
|
field_dict["payment_term_id"] = payment_term_id
|
|
132
|
+
if sales_rep_id is not UNSET:
|
|
133
|
+
field_dict["sales_rep_id"] = sales_rep_id
|
|
124
134
|
if default_billing_address_entry_id is not UNSET:
|
|
125
135
|
field_dict["default_billing_address_entry_id"] = default_billing_address_entry_id
|
|
126
136
|
if default_shipping_address_entry_id is not UNSET:
|
|
@@ -185,6 +195,15 @@ class UpdateCustomerRequest:
|
|
|
185
195
|
|
|
186
196
|
payment_term_id = _parse_payment_term_id(d.pop("payment_term_id", UNSET))
|
|
187
197
|
|
|
198
|
+
def _parse_sales_rep_id(data: object) -> None | str | Unset:
|
|
199
|
+
if data is None:
|
|
200
|
+
return data
|
|
201
|
+
if isinstance(data, Unset):
|
|
202
|
+
return data
|
|
203
|
+
return cast(None | str | Unset, data)
|
|
204
|
+
|
|
205
|
+
sales_rep_id = _parse_sales_rep_id(d.pop("sales_rep_id", UNSET))
|
|
206
|
+
|
|
188
207
|
def _parse_default_billing_address_entry_id(data: object) -> None | str | Unset:
|
|
189
208
|
if data is None:
|
|
190
209
|
return data
|
|
@@ -248,6 +267,7 @@ class UpdateCustomerRequest:
|
|
|
248
267
|
phone=phone,
|
|
249
268
|
currency=currency,
|
|
250
269
|
payment_term_id=payment_term_id,
|
|
270
|
+
sales_rep_id=sales_rep_id,
|
|
251
271
|
default_billing_address_entry_id=default_billing_address_entry_id,
|
|
252
272
|
default_shipping_address_entry_id=default_shipping_address_entry_id,
|
|
253
273
|
credit_limit=credit_limit,
|