Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
xvantage-integration committed Sep 9, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 85fd30d commit 22598af
Showing 10 changed files with 85 additions and 4 deletions.
1 change: 1 addition & 0 deletions docs/QuoteDetailsResponse.md
Original file line number Diff line number Diff line change
@@ -17,6 +17,7 @@ Name | Type | Description | Notes
**special_bid_effective_date** | **str** | If price discount has been applied to the quote - the starting date the discount begins. | [optional]
**special_bid_expiration_date** | **str** | If a price discount has been applied to the quote - The date the discount expires and will no longer be applicable. | [optional]
**vendor_quote_number** | **str** | | [optional]
**is_partial_order_allowed** | **bool** | | [optional]
**status** | **str** | This refers to the primary status of the quote. API responses will return | [optional]
**status_reason** | **str** | | [optional]
**closing_reason** | **str** | Closing Reason for quote. | [optional]
2 changes: 2 additions & 0 deletions docs/QuoteDetailsResponseProductsInner.md
Original file line number Diff line number Diff line change
@@ -8,6 +8,8 @@ Name | Type | Description | Notes
**quote_product_guid** | **str** | Quote Product GUID is the primary quote key in Ingram Micro's CRM - needed to retrieve quote details. | [optional]
**line_number** | **str** | Line number which the product will appear in the quote. Line number is manditory when unique configurations are included in a quote and mainting the item line order is required. | [optional]
**quantity** | **int** | Quantity of product line item quoted. | [optional]
**remaining_quote_qty** | **int** | | [optional]
**minimum_order_allowed_qty** | **int** | | [optional]
**notes** | **str** | Product line item comments. | [optional]
**ean** | **str** | EANUPC | [optional]
**coo** | **str** | Country of Origin. | [optional]
2 changes: 2 additions & 0 deletions docs/QuoteDetailsResponseProductsInnerPrice.md
Original file line number Diff line number Diff line change
@@ -9,6 +9,8 @@ Name | Type | Description | Notes
**msrp** | **float** | Manufacturer Suggested Retail Price | [optional]
**extended_msrp** | **float** | Extended MSRP - Manufacturer Suggested Retail Price X Quantity | [optional]
**extended_quote_price** | **float** | Extended reseller quoted price (cost to reseller) X Quantity | [optional]
**remaining_quantity_extended_msrp** | **float** | | [optional]
**remaining_quantity_extended_quote_price** | **float** | | [optional]
**discount_off_list** | **str** | Discount off list percentage extended | [optional]
**type** | **str** | | [optional]
**recurring_price_model** | **str** | | [optional]
5 changes: 5 additions & 0 deletions test/test_quote_details_response.py
Original file line number Diff line number Diff line change
@@ -47,6 +47,7 @@ def make_instance(self, include_optional) -> QuoteDetailsResponse:
special_bid_effective_date = '',
special_bid_expiration_date = '',
vendor_quote_number = '',
is_partial_order_allowed = True,
status = '',
status_reason = '',
closing_reason = '',
@@ -96,6 +97,8 @@ def make_instance(self, include_optional) -> QuoteDetailsResponse:
quote_product_guid = '',
line_number = '',
quantity = 56,
remaining_quote_qty = 56,
minimum_order_allowed_qty = 56,
notes = '',
ean = '',
coo = '',
@@ -121,6 +124,8 @@ def make_instance(self, include_optional) -> QuoteDetailsResponse:
msrp = 1.337,
extended_msrp = 1.337,
extended_quote_price = 1.337,
remaining_quantity_extended_msrp = 1.337,
remaining_quantity_extended_quote_price = 1.337,
discount_off_list = '',
type = '',
recurring_price_model = '',
4 changes: 4 additions & 0 deletions test/test_quote_details_response_products_inner.py
Original file line number Diff line number Diff line change
@@ -38,6 +38,8 @@ def make_instance(self, include_optional) -> QuoteDetailsResponseProductsInner:
quote_product_guid = '',
line_number = '',
quantity = 56,
remaining_quote_qty = 56,
minimum_order_allowed_qty = 56,
notes = '',
ean = '',
coo = '',
@@ -63,6 +65,8 @@ def make_instance(self, include_optional) -> QuoteDetailsResponseProductsInner:
msrp = 1.337,
extended_msrp = 1.337,
extended_quote_price = 1.337,
remaining_quantity_extended_msrp = 1.337,
remaining_quantity_extended_quote_price = 1.337,
discount_off_list = '',
type = '',
recurring_price_model = '',
2 changes: 2 additions & 0 deletions test/test_quote_details_response_products_inner_price.py
Original file line number Diff line number Diff line change
@@ -39,6 +39,8 @@ def make_instance(self, include_optional) -> QuoteDetailsResponseProductsInnerPr
msrp = 1.337,
extended_msrp = 1.337,
extended_quote_price = 1.337,
remaining_quantity_extended_msrp = 1.337,
remaining_quantity_extended_quote_price = 1.337,
discount_off_list = '',
type = '',
recurring_price_model = '',
Original file line number Diff line number Diff line change
@@ -85,6 +85,11 @@ def to_dict(self) -> Dict[str, Any]:
if _item_carrier_details:
_items.append(_item_carrier_details.to_dict())
_dict['carrierDetails'] = _items
# set to None if quantity (nullable) is None
# and model_fields_set contains the field
if self.quantity is None and "quantity" in self.model_fields_set:
_dict['quantity'] = None

# set to None if carrier_details (nullable) is None
# and model_fields_set contains the field
if self.carrier_details is None and "carrier_details" in self.model_fields_set:
11 changes: 9 additions & 2 deletions xi/sdk/resellers/models/quote_details_response.py
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@
import re # noqa: F401
import json

from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional, Union
from xi.sdk.resellers.models.quote_details_response_additional_attributes_inner import QuoteDetailsResponseAdditionalAttributesInner
from xi.sdk.resellers.models.quote_details_response_end_user_info import QuoteDetailsResponseEndUserInfo
@@ -44,6 +44,7 @@ class QuoteDetailsResponse(BaseModel):
special_bid_effective_date: Optional[StrictStr] = Field(default=None, description="If price discount has been applied to the quote - the starting date the discount begins.", alias="specialBidEffectiveDate")
special_bid_expiration_date: Optional[StrictStr] = Field(default=None, description="If a price discount has been applied to the quote - The date the discount expires and will no longer be applicable.", alias="specialBidExpirationDate")
vendor_quote_number: Optional[StrictStr] = Field(default=None, alias="vendorQuoteNumber")
is_partial_order_allowed: Optional[StrictBool] = Field(default=None, alias="isPartialOrderAllowed")
status: Optional[StrictStr] = Field(default=None, description="This refers to the primary status of the quote. API responses will return")
status_reason: Optional[StrictStr] = Field(default=None, alias="statusReason")
closing_reason: Optional[StrictStr] = Field(default=None, description="Closing Reason for quote.", alias="closingReason")
@@ -73,7 +74,7 @@ class QuoteDetailsResponse(BaseModel):
freight_amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="freightAmount")
total_quote_amount: Optional[StrictStr] = Field(default=None, alias="totalQuoteAmount")
additional_attributes: Optional[List[QuoteDetailsResponseAdditionalAttributesInner]] = Field(default=None, alias="additionalAttributes")
__properties: ClassVar[List[str]] = ["quoteName", "quoteNumber", "quoteGuid", "revision", "ingramQuoteDate", "lastModifiedDate", "ingramQuoteExpiryDate", "currencyCode", "specialBidId", "specialBidEffectiveDate", "specialBidExpirationDate", "vendorQuoteNumber", "status", "statusReason", "closingReason", "dateClosed", "customerNeed", "proposedSolution", "introPreamble", "purchaseInstructions", "legalTerms", "quoteType", "leaseInfo", "leasingInstructions", "imWarehouse", "imWarehouseGstNumber", "paymentTermsName", "resellerInfo", "endUserInfo", "shippingInfo", "products", "productsCount", "extendedMsrpTotal", "quantityTotal", "extraFeesTotal", "extraFeesTotalDetails", "taxTotal", "extendedQuotePriceTotal", "freightAmount", "totalQuoteAmount", "additionalAttributes"]
__properties: ClassVar[List[str]] = ["quoteName", "quoteNumber", "quoteGuid", "revision", "ingramQuoteDate", "lastModifiedDate", "ingramQuoteExpiryDate", "currencyCode", "specialBidId", "specialBidEffectiveDate", "specialBidExpirationDate", "vendorQuoteNumber", "isPartialOrderAllowed", "status", "statusReason", "closingReason", "dateClosed", "customerNeed", "proposedSolution", "introPreamble", "purchaseInstructions", "legalTerms", "quoteType", "leaseInfo", "leasingInstructions", "imWarehouse", "imWarehouseGstNumber", "paymentTermsName", "resellerInfo", "endUserInfo", "shippingInfo", "products", "productsCount", "extendedMsrpTotal", "quantityTotal", "extraFeesTotal", "extraFeesTotalDetails", "taxTotal", "extendedQuotePriceTotal", "freightAmount", "totalQuoteAmount", "additionalAttributes"]

model_config = ConfigDict(
populate_by_name=True,
@@ -144,6 +145,11 @@ def to_dict(self) -> Dict[str, Any]:
if _item_additional_attributes:
_items.append(_item_additional_attributes.to_dict())
_dict['additionalAttributes'] = _items
# set to None if is_partial_order_allowed (nullable) is None
# and model_fields_set contains the field
if self.is_partial_order_allowed is None and "is_partial_order_allowed" in self.model_fields_set:
_dict['isPartialOrderAllowed'] = None

# set to None if tax_total (nullable) is None
# and model_fields_set contains the field
if self.tax_total is None and "tax_total" in self.model_fields_set:
@@ -178,6 +184,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"specialBidEffectiveDate": obj.get("specialBidEffectiveDate"),
"specialBidExpirationDate": obj.get("specialBidExpirationDate"),
"vendorQuoteNumber": obj.get("vendorQuoteNumber"),
"isPartialOrderAllowed": obj.get("isPartialOrderAllowed"),
"status": obj.get("status"),
"statusReason": obj.get("statusReason"),
"closingReason": obj.get("closingReason"),
16 changes: 15 additions & 1 deletion xi/sdk/resellers/models/quote_details_response_products_inner.py
Original file line number Diff line number Diff line change
@@ -31,6 +31,8 @@ class QuoteDetailsResponseProductsInner(BaseModel):
quote_product_guid: Optional[StrictStr] = Field(default=None, description="Quote Product GUID is the primary quote key in Ingram Micro's CRM - needed to retrieve quote details.", alias="quoteProductGuid")
line_number: Optional[StrictStr] = Field(default=None, description="Line number which the product will appear in the quote. Line number is manditory when unique configurations are included in a quote and mainting the item line order is required.", alias="lineNumber")
quantity: Optional[StrictInt] = Field(default=None, description="Quantity of product line item quoted.")
remaining_quote_qty: Optional[StrictInt] = Field(default=None, alias="remainingQuoteQty")
minimum_order_allowed_qty: Optional[StrictInt] = Field(default=None, alias="minimumOrderAllowedQty")
notes: Optional[StrictStr] = Field(default=None, description="Product line item comments.")
ean: Optional[StrictStr] = Field(default=None, description="EANUPC")
coo: Optional[StrictStr] = Field(default=None, description="Country of Origin.")
@@ -53,7 +55,7 @@ class QuoteDetailsResponseProductsInner(BaseModel):
serial_number: Optional[StrictStr] = Field(default=None, alias="serialNumber")
price: Optional[QuoteDetailsResponseProductsInnerPrice] = None
bill_details: Optional[List[QuoteDetailsResponseProductsInnerBillDetailsInner]] = Field(default=None, alias="billDetails")
__properties: ClassVar[List[str]] = ["quoteProductGuid", "lineNumber", "quantity", "notes", "ean", "coo", "ingramPartNumber", "vendorPartNumber", "description", "weight", "weightUom", "isSuggestionProduct", "vpnCategory", "quoteProductsSupplierPartAuxiliaryId", "vendorName", "terms", "planDescription", "isSubscription", "resellerMargin", "requestedStartDate", "startDate", "endDate", "serialNumber", "price", "billDetails"]
__properties: ClassVar[List[str]] = ["quoteProductGuid", "lineNumber", "quantity", "remainingQuoteQty", "minimumOrderAllowedQty", "notes", "ean", "coo", "ingramPartNumber", "vendorPartNumber", "description", "weight", "weightUom", "isSuggestionProduct", "vpnCategory", "quoteProductsSupplierPartAuxiliaryId", "vendorName", "terms", "planDescription", "isSubscription", "resellerMargin", "requestedStartDate", "startDate", "endDate", "serialNumber", "price", "billDetails"]

model_config = ConfigDict(
populate_by_name=True,
@@ -104,6 +106,16 @@ def to_dict(self) -> Dict[str, Any]:
if _item_bill_details:
_items.append(_item_bill_details.to_dict())
_dict['billDetails'] = _items
# set to None if remaining_quote_qty (nullable) is None
# and model_fields_set contains the field
if self.remaining_quote_qty is None and "remaining_quote_qty" in self.model_fields_set:
_dict['remainingQuoteQty'] = None

# set to None if minimum_order_allowed_qty (nullable) is None
# and model_fields_set contains the field
if self.minimum_order_allowed_qty is None and "minimum_order_allowed_qty" in self.model_fields_set:
_dict['minimumOrderAllowedQty'] = None

return _dict

@classmethod
@@ -119,6 +131,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"quoteProductGuid": obj.get("quoteProductGuid"),
"lineNumber": obj.get("lineNumber"),
"quantity": obj.get("quantity"),
"remainingQuoteQty": obj.get("remainingQuoteQty"),
"minimumOrderAllowedQty": obj.get("minimumOrderAllowedQty"),
"notes": obj.get("notes"),
"ean": obj.get("ean"),
"coo": obj.get("coo"),
Original file line number Diff line number Diff line change
@@ -32,6 +32,8 @@ class QuoteDetailsResponseProductsInnerPrice(BaseModel):
msrp: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Manufacturer Suggested Retail Price")
extended_msrp: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Extended MSRP - Manufacturer Suggested Retail Price X Quantity", alias="extendedMsrp")
extended_quote_price: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Extended reseller quoted price (cost to reseller) X Quantity", alias="extendedQuotePrice")
remaining_quantity_extended_msrp: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="remainingQuantityExtendedMsrp")
remaining_quantity_extended_quote_price: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="remainingQuantityExtendedQuotePrice")
discount_off_list: Optional[StrictStr] = Field(default=None, description="Discount off list percentage extended", alias="discountOffList")
type: Optional[StrictStr] = None
recurring_price_model: Optional[StrictStr] = Field(default=None, alias="recurringPriceModel")
@@ -40,7 +42,7 @@ class QuoteDetailsResponseProductsInnerPrice(BaseModel):
extrafees: Optional[Union[StrictFloat, StrictInt]] = None
extra_fees_details: Optional[List[QuoteDetailsResponseProductsInnerPriceExtraFeesDetailsInner]] = Field(default=None, alias="extraFeesDetails")
discounts: Optional[List[QuoteDetailsResponseProductsInnerPriceDiscountsInner]] = None
__properties: ClassVar[List[str]] = ["quotePrice", "msrp", "extendedMsrp", "extendedQuotePrice", "discountOffList", "type", "recurringPriceModel", "unitOfMeasure", "tax", "extrafees", "extraFeesDetails", "discounts"]
__properties: ClassVar[List[str]] = ["quotePrice", "msrp", "extendedMsrp", "extendedQuotePrice", "remainingQuantityExtendedMsrp", "remainingQuantityExtendedQuotePrice", "discountOffList", "type", "recurringPriceModel", "unitOfMeasure", "tax", "extrafees", "extraFeesDetails", "discounts"]

model_config = ConfigDict(
populate_by_name=True,
@@ -95,6 +97,41 @@ def to_dict(self) -> Dict[str, Any]:
if _item_discounts:
_items.append(_item_discounts.to_dict())
_dict['discounts'] = _items
# set to None if quote_price (nullable) is None
# and model_fields_set contains the field
if self.quote_price is None and "quote_price" in self.model_fields_set:
_dict['quotePrice'] = None

# set to None if msrp (nullable) is None
# and model_fields_set contains the field
if self.msrp is None and "msrp" in self.model_fields_set:
_dict['msrp'] = None

# set to None if extended_msrp (nullable) is None
# and model_fields_set contains the field
if self.extended_msrp is None and "extended_msrp" in self.model_fields_set:
_dict['extendedMsrp'] = None

# set to None if extended_quote_price (nullable) is None
# and model_fields_set contains the field
if self.extended_quote_price is None and "extended_quote_price" in self.model_fields_set:
_dict['extendedQuotePrice'] = None

# set to None if remaining_quantity_extended_msrp (nullable) is None
# and model_fields_set contains the field
if self.remaining_quantity_extended_msrp is None and "remaining_quantity_extended_msrp" in self.model_fields_set:
_dict['remainingQuantityExtendedMsrp'] = None

# set to None if remaining_quantity_extended_quote_price (nullable) is None
# and model_fields_set contains the field
if self.remaining_quantity_extended_quote_price is None and "remaining_quantity_extended_quote_price" in self.model_fields_set:
_dict['remainingQuantityExtendedQuotePrice'] = None

# set to None if discount_off_list (nullable) is None
# and model_fields_set contains the field
if self.discount_off_list is None and "discount_off_list" in self.model_fields_set:
_dict['discountOffList'] = None

# set to None if tax (nullable) is None
# and model_fields_set contains the field
if self.tax is None and "tax" in self.model_fields_set:
@@ -121,6 +158,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"msrp": obj.get("msrp"),
"extendedMsrp": obj.get("extendedMsrp"),
"extendedQuotePrice": obj.get("extendedQuotePrice"),
"remainingQuantityExtendedMsrp": obj.get("remainingQuantityExtendedMsrp"),
"remainingQuantityExtendedQuotePrice": obj.get("remainingQuantityExtendedQuotePrice"),
"discountOffList": obj.get("discountOffList"),
"type": obj.get("type"),
"recurringPriceModel": obj.get("recurringPriceModel"),

0 comments on commit 22598af

Please sign in to comment.