commercetools-sdk-php-v2
The commercetools platform, import-api and PHP sdks generated from our api reference.
Loading...
Searching...
No Matches
QuoteModel.php
1<?php
2
3declare(strict_types=1);
10
53use DateTimeImmutable;
54use stdClass;
55
59final class QuoteModel extends JsonObjectModel implements Quote
60{
65 protected $id;
66
71 protected $version;
72
77 protected $createdAt;
78
83 protected $lastModifiedAt;
84
89 protected $key;
90
95 protected $lastModifiedBy;
96
101 protected $createdBy;
102
107 protected $quoteRequest;
108
113 protected $stagedQuote;
114
119 protected $customer;
120
125 protected $customerGroup;
126
131 protected $validTo;
132
137 protected $sellerComment;
138
143 protected $buyerComment;
144
149 protected $store;
150
155 protected $lineItems;
156
162
167 protected $totalPrice;
168
173 protected $taxedPrice;
174
180
186
191 protected $inventoryMode;
192
197 protected $taxMode;
198
204
210
216
221 protected $country;
222
227 protected $shippingInfo;
228
233 protected $paymentInfo;
234
240
246
252
257 protected $custom;
258
263 protected $quoteState;
264
269 protected $state;
270
276
281 protected $businessUnit;
282
283
287 public function __construct(
288 ?string $id = null,
289 ?int $version = null,
290 ?DateTimeImmutable $createdAt = null,
291 ?DateTimeImmutable $lastModifiedAt = null,
292 ?string $key = null,
294 ?CreatedBy $createdBy = null,
299 ?DateTimeImmutable $validTo = null,
300 ?string $sellerComment = null,
301 ?string $buyerComment = null,
305 ?TypedMoney $totalPrice = null,
306 ?TaxedPrice $taxedPrice = null,
308 ?Address $billingAddress = null,
309 ?string $inventoryMode = null,
310 ?string $taxMode = null,
311 ?string $priceRoundingMode = null,
312 ?string $taxRoundingMode = null,
313 ?string $taxCalculationMode = null,
314 ?string $country = null,
320 ?CustomFields $custom = null,
321 ?string $quoteState = null,
322 ?StateReference $state = null,
323 ?string $purchaseOrderNumber = null,
325 ) {
326 $this->id = $id;
327 $this->version = $version;
328 $this->createdAt = $createdAt;
329 $this->lastModifiedAt = $lastModifiedAt;
330 $this->key = $key;
331 $this->lastModifiedBy = $lastModifiedBy;
332 $this->createdBy = $createdBy;
333 $this->quoteRequest = $quoteRequest;
334 $this->stagedQuote = $stagedQuote;
335 $this->customer = $customer;
336 $this->customerGroup = $customerGroup;
337 $this->validTo = $validTo;
338 $this->sellerComment = $sellerComment;
339 $this->buyerComment = $buyerComment;
340 $this->store = $store;
341 $this->lineItems = $lineItems;
342 $this->customLineItems = $customLineItems;
343 $this->totalPrice = $totalPrice;
344 $this->taxedPrice = $taxedPrice;
345 $this->shippingAddress = $shippingAddress;
346 $this->billingAddress = $billingAddress;
347 $this->inventoryMode = $inventoryMode;
348 $this->taxMode = $taxMode;
349 $this->priceRoundingMode = $priceRoundingMode;
350 $this->taxRoundingMode = $taxRoundingMode;
351 $this->taxCalculationMode = $taxCalculationMode;
352 $this->country = $country;
353 $this->shippingInfo = $shippingInfo;
354 $this->paymentInfo = $paymentInfo;
355 $this->shippingRateInput = $shippingRateInput;
356 $this->itemShippingAddresses = $itemShippingAddresses;
357 $this->directDiscounts = $directDiscounts;
358 $this->custom = $custom;
359 $this->quoteState = $quoteState;
360 $this->state = $state;
361 $this->purchaseOrderNumber = $purchaseOrderNumber;
362 $this->businessUnit = $businessUnit;
363 }
364
371 public function getId()
372 {
373 if (is_null($this->id)) {
375 $data = $this->raw(self::FIELD_ID);
376 if (is_null($data)) {
377 return null;
378 }
379 $this->id = (string) $data;
380 }
381
382 return $this->id;
383 }
384
391 public function getVersion()
392 {
393 if (is_null($this->version)) {
395 $data = $this->raw(self::FIELD_VERSION);
396 if (is_null($data)) {
397 return null;
398 }
399 $this->version = (int) $data;
400 }
401
402 return $this->version;
403 }
404
411 public function getCreatedAt()
412 {
413 if (is_null($this->createdAt)) {
415 $data = $this->raw(self::FIELD_CREATED_AT);
416 if (is_null($data)) {
417 return null;
418 }
419 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
420 if (false === $data) {
421 return null;
422 }
423 $this->createdAt = $data;
424 }
425
426 return $this->createdAt;
427 }
428
435 public function getLastModifiedAt()
436 {
437 if (is_null($this->lastModifiedAt)) {
439 $data = $this->raw(self::FIELD_LAST_MODIFIED_AT);
440 if (is_null($data)) {
441 return null;
442 }
443 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
444 if (false === $data) {
445 return null;
446 }
447 $this->lastModifiedAt = $data;
448 }
449
451 }
452
459 public function getKey()
460 {
461 if (is_null($this->key)) {
463 $data = $this->raw(self::FIELD_KEY);
464 if (is_null($data)) {
465 return null;
466 }
467 $this->key = (string) $data;
468 }
469
470 return $this->key;
471 }
472
479 public function getLastModifiedBy()
480 {
481 if (is_null($this->lastModifiedBy)) {
483 $data = $this->raw(self::FIELD_LAST_MODIFIED_BY);
484 if (is_null($data)) {
485 return null;
486 }
487
488 $this->lastModifiedBy = LastModifiedByModel::of($data);
489 }
490
492 }
493
500 public function getCreatedBy()
501 {
502 if (is_null($this->createdBy)) {
504 $data = $this->raw(self::FIELD_CREATED_BY);
505 if (is_null($data)) {
506 return null;
507 }
508
509 $this->createdBy = CreatedByModel::of($data);
510 }
511
512 return $this->createdBy;
513 }
514
521 public function getQuoteRequest()
522 {
523 if (is_null($this->quoteRequest)) {
525 $data = $this->raw(self::FIELD_QUOTE_REQUEST);
526 if (is_null($data)) {
527 return null;
528 }
529
530 $this->quoteRequest = QuoteRequestReferenceModel::of($data);
531 }
532
533 return $this->quoteRequest;
534 }
535
542 public function getStagedQuote()
543 {
544 if (is_null($this->stagedQuote)) {
546 $data = $this->raw(self::FIELD_STAGED_QUOTE);
547 if (is_null($data)) {
548 return null;
549 }
550
551 $this->stagedQuote = StagedQuoteReferenceModel::of($data);
552 }
553
554 return $this->stagedQuote;
555 }
556
563 public function getCustomer()
564 {
565 if (is_null($this->customer)) {
567 $data = $this->raw(self::FIELD_CUSTOMER);
568 if (is_null($data)) {
569 return null;
570 }
571
572 $this->customer = CustomerReferenceModel::of($data);
573 }
574
575 return $this->customer;
576 }
577
586 public function getCustomerGroup()
587 {
588 if (is_null($this->customerGroup)) {
590 $data = $this->raw(self::FIELD_CUSTOMER_GROUP);
591 if (is_null($data)) {
592 return null;
593 }
594
595 $this->customerGroup = CustomerGroupReferenceModel::of($data);
596 }
597
599 }
600
607 public function getValidTo()
608 {
609 if (is_null($this->validTo)) {
611 $data = $this->raw(self::FIELD_VALID_TO);
612 if (is_null($data)) {
613 return null;
614 }
615 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
616 if (false === $data) {
617 return null;
618 }
619 $this->validTo = $data;
620 }
621
622 return $this->validTo;
623 }
624
631 public function getSellerComment()
632 {
633 if (is_null($this->sellerComment)) {
635 $data = $this->raw(self::FIELD_SELLER_COMMENT);
636 if (is_null($data)) {
637 return null;
638 }
639 $this->sellerComment = (string) $data;
640 }
641
643 }
644
651 public function getBuyerComment()
652 {
653 if (is_null($this->buyerComment)) {
655 $data = $this->raw(self::FIELD_BUYER_COMMENT);
656 if (is_null($data)) {
657 return null;
658 }
659 $this->buyerComment = (string) $data;
660 }
661
662 return $this->buyerComment;
663 }
664
671 public function getStore()
672 {
673 if (is_null($this->store)) {
675 $data = $this->raw(self::FIELD_STORE);
676 if (is_null($data)) {
677 return null;
678 }
679
680 $this->store = StoreKeyReferenceModel::of($data);
681 }
682
683 return $this->store;
684 }
685
692 public function getLineItems()
693 {
694 if (is_null($this->lineItems)) {
696 $data = $this->raw(self::FIELD_LINE_ITEMS);
697 if (is_null($data)) {
698 return null;
699 }
700 $this->lineItems = LineItemCollection::fromArray($data);
701 }
702
703 return $this->lineItems;
704 }
705
712 public function getCustomLineItems()
713 {
714 if (is_null($this->customLineItems)) {
716 $data = $this->raw(self::FIELD_CUSTOM_LINE_ITEMS);
717 if (is_null($data)) {
718 return null;
719 }
720 $this->customLineItems = CustomLineItemCollection::fromArray($data);
721 }
722
724 }
725
733 public function getTotalPrice()
734 {
735 if (is_null($this->totalPrice)) {
737 $data = $this->raw(self::FIELD_TOTAL_PRICE);
738 if (is_null($data)) {
739 return null;
740 }
741 $className = TypedMoneyModel::resolveDiscriminatorClass($data);
742 $this->totalPrice = $className::of($data);
743 }
744
745 return $this->totalPrice;
746 }
747
756 public function getTaxedPrice()
757 {
758 if (is_null($this->taxedPrice)) {
760 $data = $this->raw(self::FIELD_TAXED_PRICE);
761 if (is_null($data)) {
762 return null;
763 }
764
765 $this->taxedPrice = TaxedPriceModel::of($data);
766 }
767
768 return $this->taxedPrice;
769 }
770
778 public function getShippingAddress()
779 {
780 if (is_null($this->shippingAddress)) {
782 $data = $this->raw(self::FIELD_SHIPPING_ADDRESS);
783 if (is_null($data)) {
784 return null;
785 }
786
787 $this->shippingAddress = AddressModel::of($data);
788 }
789
791 }
792
799 public function getBillingAddress()
800 {
801 if (is_null($this->billingAddress)) {
803 $data = $this->raw(self::FIELD_BILLING_ADDRESS);
804 if (is_null($data)) {
805 return null;
806 }
807
808 $this->billingAddress = AddressModel::of($data);
809 }
810
812 }
813
820 public function getInventoryMode()
821 {
822 if (is_null($this->inventoryMode)) {
824 $data = $this->raw(self::FIELD_INVENTORY_MODE);
825 if (is_null($data)) {
826 return null;
827 }
828 $this->inventoryMode = (string) $data;
829 }
830
832 }
833
840 public function getTaxMode()
841 {
842 if (is_null($this->taxMode)) {
844 $data = $this->raw(self::FIELD_TAX_MODE);
845 if (is_null($data)) {
846 return null;
847 }
848 $this->taxMode = (string) $data;
849 }
850
851 return $this->taxMode;
852 }
853
860 public function getPriceRoundingMode()
861 {
862 if (is_null($this->priceRoundingMode)) {
864 $data = $this->raw(self::FIELD_PRICE_ROUNDING_MODE);
865 if (is_null($data)) {
866 return null;
867 }
868 $this->priceRoundingMode = (string) $data;
869 }
870
872 }
873
880 public function getTaxRoundingMode()
881 {
882 if (is_null($this->taxRoundingMode)) {
884 $data = $this->raw(self::FIELD_TAX_ROUNDING_MODE);
885 if (is_null($data)) {
886 return null;
887 }
888 $this->taxRoundingMode = (string) $data;
889 }
890
892 }
893
900 public function getTaxCalculationMode()
901 {
902 if (is_null($this->taxCalculationMode)) {
904 $data = $this->raw(self::FIELD_TAX_CALCULATION_MODE);
905 if (is_null($data)) {
906 return null;
907 }
908 $this->taxCalculationMode = (string) $data;
909 }
910
912 }
913
920 public function getCountry()
921 {
922 if (is_null($this->country)) {
924 $data = $this->raw(self::FIELD_COUNTRY);
925 if (is_null($data)) {
926 return null;
927 }
928 $this->country = (string) $data;
929 }
930
931 return $this->country;
932 }
933
940 public function getShippingInfo()
941 {
942 if (is_null($this->shippingInfo)) {
944 $data = $this->raw(self::FIELD_SHIPPING_INFO);
945 if (is_null($data)) {
946 return null;
947 }
948
949 $this->shippingInfo = ShippingInfoModel::of($data);
950 }
951
952 return $this->shippingInfo;
953 }
954
961 public function getPaymentInfo()
962 {
963 if (is_null($this->paymentInfo)) {
965 $data = $this->raw(self::FIELD_PAYMENT_INFO);
966 if (is_null($data)) {
967 return null;
968 }
969
970 $this->paymentInfo = PaymentInfoModel::of($data);
971 }
972
973 return $this->paymentInfo;
974 }
975
982 public function getShippingRateInput()
983 {
984 if (is_null($this->shippingRateInput)) {
986 $data = $this->raw(self::FIELD_SHIPPING_RATE_INPUT);
987 if (is_null($data)) {
988 return null;
989 }
990 $className = ShippingRateInputModel::resolveDiscriminatorClass($data);
991 $this->shippingRateInput = $className::of($data);
992 }
993
995 }
996
1007 {
1008 if (is_null($this->itemShippingAddresses)) {
1010 $data = $this->raw(self::FIELD_ITEM_SHIPPING_ADDRESSES);
1011 if (is_null($data)) {
1012 return null;
1013 }
1014 $this->itemShippingAddresses = AddressCollection::fromArray($data);
1015 }
1016
1018 }
1019
1026 public function getDirectDiscounts()
1027 {
1028 if (is_null($this->directDiscounts)) {
1030 $data = $this->raw(self::FIELD_DIRECT_DISCOUNTS);
1031 if (is_null($data)) {
1032 return null;
1033 }
1034 $this->directDiscounts = DirectDiscountCollection::fromArray($data);
1035 }
1036
1038 }
1039
1046 public function getCustom()
1047 {
1048 if (is_null($this->custom)) {
1050 $data = $this->raw(self::FIELD_CUSTOM);
1051 if (is_null($data)) {
1052 return null;
1053 }
1054
1055 $this->custom = CustomFieldsModel::of($data);
1056 }
1057
1058 return $this->custom;
1059 }
1060
1067 public function getQuoteState()
1068 {
1069 if (is_null($this->quoteState)) {
1071 $data = $this->raw(self::FIELD_QUOTE_STATE);
1072 if (is_null($data)) {
1073 return null;
1074 }
1075 $this->quoteState = (string) $data;
1076 }
1077
1078 return $this->quoteState;
1079 }
1080
1088 public function getState()
1089 {
1090 if (is_null($this->state)) {
1092 $data = $this->raw(self::FIELD_STATE);
1093 if (is_null($data)) {
1094 return null;
1095 }
1096
1097 $this->state = StateReferenceModel::of($data);
1098 }
1099
1100 return $this->state;
1101 }
1102
1110 public function getPurchaseOrderNumber()
1111 {
1112 if (is_null($this->purchaseOrderNumber)) {
1114 $data = $this->raw(self::FIELD_PURCHASE_ORDER_NUMBER);
1115 if (is_null($data)) {
1116 return null;
1117 }
1118 $this->purchaseOrderNumber = (string) $data;
1119 }
1120
1122 }
1123
1130 public function getBusinessUnit()
1131 {
1132 if (is_null($this->businessUnit)) {
1134 $data = $this->raw(self::FIELD_BUSINESS_UNIT);
1135 if (is_null($data)) {
1136 return null;
1137 }
1138
1139 $this->businessUnit = BusinessUnitKeyReferenceModel::of($data);
1140 }
1141
1142 return $this->businessUnit;
1143 }
1144
1145
1149 public function setId(?string $id): void
1150 {
1151 $this->id = $id;
1152 }
1153
1157 public function setVersion(?int $version): void
1158 {
1159 $this->version = $version;
1160 }
1161
1165 public function setCreatedAt(?DateTimeImmutable $createdAt): void
1166 {
1167 $this->createdAt = $createdAt;
1168 }
1169
1173 public function setLastModifiedAt(?DateTimeImmutable $lastModifiedAt): void
1174 {
1175 $this->lastModifiedAt = $lastModifiedAt;
1176 }
1177
1181 public function setKey(?string $key): void
1182 {
1183 $this->key = $key;
1184 }
1185
1190 {
1191 $this->lastModifiedBy = $lastModifiedBy;
1192 }
1193
1197 public function setCreatedBy(?CreatedBy $createdBy): void
1198 {
1199 $this->createdBy = $createdBy;
1200 }
1201
1206 {
1207 $this->quoteRequest = $quoteRequest;
1208 }
1209
1214 {
1215 $this->stagedQuote = $stagedQuote;
1216 }
1217
1222 {
1223 $this->customer = $customer;
1224 }
1225
1230 {
1231 $this->customerGroup = $customerGroup;
1232 }
1233
1237 public function setValidTo(?DateTimeImmutable $validTo): void
1238 {
1239 $this->validTo = $validTo;
1240 }
1241
1245 public function setSellerComment(?string $sellerComment): void
1246 {
1247 $this->sellerComment = $sellerComment;
1248 }
1249
1253 public function setBuyerComment(?string $buyerComment): void
1254 {
1255 $this->buyerComment = $buyerComment;
1256 }
1257
1261 public function setStore(?StoreKeyReference $store): void
1262 {
1263 $this->store = $store;
1264 }
1265
1270 {
1271 $this->lineItems = $lineItems;
1272 }
1273
1278 {
1279 $this->customLineItems = $customLineItems;
1280 }
1281
1285 public function setTotalPrice(?TypedMoney $totalPrice): void
1286 {
1287 $this->totalPrice = $totalPrice;
1288 }
1289
1293 public function setTaxedPrice(?TaxedPrice $taxedPrice): void
1294 {
1295 $this->taxedPrice = $taxedPrice;
1296 }
1297
1302 {
1303 $this->shippingAddress = $shippingAddress;
1304 }
1305
1310 {
1311 $this->billingAddress = $billingAddress;
1312 }
1313
1317 public function setInventoryMode(?string $inventoryMode): void
1318 {
1319 $this->inventoryMode = $inventoryMode;
1320 }
1321
1325 public function setTaxMode(?string $taxMode): void
1326 {
1327 $this->taxMode = $taxMode;
1328 }
1329
1333 public function setPriceRoundingMode(?string $priceRoundingMode): void
1334 {
1335 $this->priceRoundingMode = $priceRoundingMode;
1336 }
1337
1341 public function setTaxRoundingMode(?string $taxRoundingMode): void
1342 {
1343 $this->taxRoundingMode = $taxRoundingMode;
1344 }
1345
1349 public function setTaxCalculationMode(?string $taxCalculationMode): void
1350 {
1351 $this->taxCalculationMode = $taxCalculationMode;
1352 }
1353
1357 public function setCountry(?string $country): void
1358 {
1359 $this->country = $country;
1360 }
1361
1366 {
1367 $this->shippingInfo = $shippingInfo;
1368 }
1369
1374 {
1375 $this->paymentInfo = $paymentInfo;
1376 }
1377
1382 {
1383 $this->shippingRateInput = $shippingRateInput;
1384 }
1385
1390 {
1391 $this->itemShippingAddresses = $itemShippingAddresses;
1392 }
1393
1398 {
1399 $this->directDiscounts = $directDiscounts;
1400 }
1401
1405 public function setCustom(?CustomFields $custom): void
1406 {
1407 $this->custom = $custom;
1408 }
1409
1413 public function setQuoteState(?string $quoteState): void
1414 {
1415 $this->quoteState = $quoteState;
1416 }
1417
1421 public function setState(?StateReference $state): void
1422 {
1423 $this->state = $state;
1424 }
1425
1429 public function setPurchaseOrderNumber(?string $purchaseOrderNumber): void
1430 {
1431 $this->purchaseOrderNumber = $purchaseOrderNumber;
1432 }
1433
1438 {
1439 $this->businessUnit = $businessUnit;
1440 }
1441
1442
1443 #[\ReturnTypeWillChange]
1444 public function jsonSerialize()
1445 {
1446 $data = $this->toArray();
1447 if (isset($data[Quote::FIELD_CREATED_AT]) && $data[Quote::FIELD_CREATED_AT] instanceof \DateTimeImmutable) {
1448 $data[Quote::FIELD_CREATED_AT] = $data[Quote::FIELD_CREATED_AT]->setTimeZone(new \DateTimeZone('UTC'))->format('c');
1449 }
1450
1451 if (isset($data[Quote::FIELD_LAST_MODIFIED_AT]) && $data[Quote::FIELD_LAST_MODIFIED_AT] instanceof \DateTimeImmutable) {
1452 $data[Quote::FIELD_LAST_MODIFIED_AT] = $data[Quote::FIELD_LAST_MODIFIED_AT]->setTimeZone(new \DateTimeZone('UTC'))->format('c');
1453 }
1454
1455 if (isset($data[Quote::FIELD_VALID_TO]) && $data[Quote::FIELD_VALID_TO] instanceof \DateTimeImmutable) {
1456 $data[Quote::FIELD_VALID_TO] = $data[Quote::FIELD_VALID_TO]->setTimeZone(new \DateTimeZone('UTC'))->format('c');
1457 }
1458 return (object) $data;
1459 }
1460}
setTaxRoundingMode(?string $taxRoundingMode)
setStore(?StoreKeyReference $store)
setPaymentInfo(?PaymentInfo $paymentInfo)
setBillingAddress(?Address $billingAddress)
setTaxCalculationMode(?string $taxCalculationMode)
__construct(?string $id=null, ?int $version=null, ?DateTimeImmutable $createdAt=null, ?DateTimeImmutable $lastModifiedAt=null, ?string $key=null, ?LastModifiedBy $lastModifiedBy=null, ?CreatedBy $createdBy=null, ?QuoteRequestReference $quoteRequest=null, ?StagedQuoteReference $stagedQuote=null, ?CustomerReference $customer=null, ?CustomerGroupReference $customerGroup=null, ?DateTimeImmutable $validTo=null, ?string $sellerComment=null, ?string $buyerComment=null, ?StoreKeyReference $store=null, ?LineItemCollection $lineItems=null, ?CustomLineItemCollection $customLineItems=null, ?TypedMoney $totalPrice=null, ?TaxedPrice $taxedPrice=null, ?Address $shippingAddress=null, ?Address $billingAddress=null, ?string $inventoryMode=null, ?string $taxMode=null, ?string $priceRoundingMode=null, ?string $taxRoundingMode=null, ?string $taxCalculationMode=null, ?string $country=null, ?ShippingInfo $shippingInfo=null, ?PaymentInfo $paymentInfo=null, ?ShippingRateInput $shippingRateInput=null, ?AddressCollection $itemShippingAddresses=null, ?DirectDiscountCollection $directDiscounts=null, ?CustomFields $custom=null, ?string $quoteState=null, ?StateReference $state=null, ?string $purchaseOrderNumber=null, ?BusinessUnitKeyReference $businessUnit=null)
setCustomer(?CustomerReference $customer)
setShippingRateInput(?ShippingRateInput $shippingRateInput)
setCustomLineItems(?CustomLineItemCollection $customLineItems)
setDirectDiscounts(?DirectDiscountCollection $directDiscounts)
setLastModifiedAt(?DateTimeImmutable $lastModifiedAt)
setCreatedAt(?DateTimeImmutable $createdAt)
setPriceRoundingMode(?string $priceRoundingMode)
setLineItems(?LineItemCollection $lineItems)
setCustomerGroup(?CustomerGroupReference $customerGroup)
setStagedQuote(?StagedQuoteReference $stagedQuote)
setValidTo(?DateTimeImmutable $validTo)
setBusinessUnit(?BusinessUnitKeyReference $businessUnit)
setShippingAddress(?Address $shippingAddress)
setShippingInfo(?ShippingInfo $shippingInfo)
setLastModifiedBy(?LastModifiedBy $lastModifiedBy)
setPurchaseOrderNumber(?string $purchaseOrderNumber)
setQuoteRequest(?QuoteRequestReference $quoteRequest)
setItemShippingAddresses(?AddressCollection $itemShippingAddresses)