createElement('Shipment'); if ($this->getFreightCharges() instanceof FreightCharges) { $node->appendChild($this->getFreightCharges()->toNode($document)); } // Then the required values $node->appendChild($document->createElement('OriginCountryCode', $this->getOriginCountryCode())); $node->appendChild($document->createElement('DestinationCountryCode', $this->getDestinationCountryCode())); // Then the optional values if ($this->getOriginStateProvinceCode() !== null) { $node->appendChild( $document->createElement( 'OriginStateProvinceCode', $this->getOriginStateProvinceCode() ) ); } if ($this->getDestinationStateProvinceCode() !== null) { $node->appendChild( $document->createElement( 'DestinationStateProvinceCode', $this->getDestinationStateProvinceCode() ) ); } if ($this->getTransportationMode() !== null) { $node->appendChild($document->createElement('TransportationMode', $this->getTransportationMode())); } if ($this->getResultCurrencyCode() !== null) { $node->appendChild($document->createElement('ResultCurrencyCode', $this->getResultCurrencyCode())); } if ($this->getTariffCodeAlert() !== null) { $node->appendChild($document->createElement('TariffCodeAlert', $this->getTariffCodeAlert())); } if ($this->getTransactionReferenceId() !== null) { $node->appendChild($document->createElement('TransactionReferenceID', $this->getTransactionReferenceId())); } // Then products array foreach ($this->products as $product) { $node->appendChild($product->toNode($document)); } // Return created node return $node; } /** * @return mixed */ public function getAdditionalInsurance() { return $this->additionalInsurance; } /** * @param mixed $additionalInsurance * * @return $this */ public function setAdditionalInsurance($additionalInsurance) { $this->additionalInsurance = $additionalInsurance; return $this; } /** * @return FreightCharges */ public function getFreightCharges() { return $this->freightCharges; } /** * @param FreightCharges $freightCharges * @return $this */ public function setFreightCharges($freightCharges) { $this->freightCharges = $freightCharges; return $this; } /** * @return string */ public function getOriginCountryCode() { return $this->originCountryCode; } /** * @param string $originCountryCode * @return $this */ public function setOriginCountryCode($originCountryCode) { $this->originCountryCode = $originCountryCode; return $this; } /** * @return string */ public function getDestinationCountryCode() { return $this->destinationCountryCode; } /** * @param string $destinationCountryCode * @return $this */ public function setDestinationCountryCode($destinationCountryCode) { $this->destinationCountryCode = $destinationCountryCode; return $this; } /** * @return string */ public function getOriginStateProvinceCode() { return $this->originStateProvinceCode; } /** * @param string $originStateProvinceCode * @return $this */ public function setOriginStateProvinceCode($originStateProvinceCode) { $this->originStateProvinceCode = $originStateProvinceCode; return $this; } /** * @return string */ public function getDestinationStateProvinceCode() { return $this->destinationStateProvinceCode; } /** * @param string $destinationStateProvinceCode * @return $this */ public function setDestinationStateProvinceCode($destinationStateProvinceCode) { $this->destinationStateProvinceCode = $destinationStateProvinceCode; return $this; } /** * @return int */ public function getTransportationMode() { return $this->transportationMode; } /** * @param int $transportationMode * @return $this */ public function setTransportationMode($transportationMode) { $this->transportationMode = $transportationMode; return $this; } /** * @return string */ public function getResultCurrencyCode() { return $this->resultCurrencyCode; } /** * @param string $resultCurrencyCode * @return $this */ public function setResultCurrencyCode($resultCurrencyCode) { $this->resultCurrencyCode = $resultCurrencyCode; return $this; } /** * @return int */ public function getTariffCodeAlert() { return $this->tariffCodeAlert; } /** * @param int $tariffCodeAlert * @return Shipment */ public function setTariffCodeAlert($tariffCodeAlert) { $this->tariffCodeAlert = $tariffCodeAlert; return $this; } /** * @return mixed */ public function getTransactionReferenceId() { return $this->transactionReferenceId; } /** * @param mixed $transactionReferenceId * @return $this */ public function setTransactionReferenceId($transactionReferenceId) { $this->transactionReferenceId = $transactionReferenceId; return $this; } /** * @return array */ public function getProducts() { return $this->products; } /** * @param array $products * @return $this */ public function setProducts($products) { $this->products = $products; return $this; } /** * @param Product $product * @return $this */ public function addProduct(Product $product) { array_push($this->products, $product); return $this; } }