number = ( $order->getCustomNumber() ?? $order->getNumber() ); $this->name = $order->getName(); $this->surname = $order->getSurname(); $this->value = $order->getValue(); $this->weight = $order->getFinalWeight(); $this->addressId = $order->getPickupPointOrCarrierId(); $this->eshop = $order->getEshop(); // Optional attributes. $this->adultContent = (int) $order->containsAdultContent(); $this->cod = $order->getCod(); $this->currency = $order->getCurrency(); $this->email = $order->getEmail(); $this->note = $order->getNote(); $this->phone = $order->getPhone(); $pickupPoint = $order->getPickupPoint(); if ( null !== $pickupPoint && $order->isExternalCarrier() ) { $this->carrierPickupPoint = $pickupPoint->getId(); } if ( $order->isHomeDelivery() ) { $address = $order->getDeliveryAddress(); if ( null !== $address ) { $this->street = $address->getStreet(); $this->city = $address->getCity(); $this->zip = $address->getZip(); if ( $address->getHouseNumber() ) { $this->houseNumber = $address->getHouseNumber(); } } } $carrier = $order->getCarrier(); if ( null !== $carrier && $carrier->requiresSize() ) { $size = $order->getSize(); if ( null !== $size ) { $this->size = [ 'length' => $size->getLength(), 'width' => $size->getWidth(), 'height' => $size->getHeight(), ]; } } } /** * Gets submittable data. * * @return array */ public function getSubmittableData(): array { return array_filter( get_object_vars( $this ) ); } }