Current path: home/webdevt/www/demo2/wp-content/plugins/wpforms-lite/vendor_prefixed/square/square/src/Models/
?? Go up: /home/webdevt/www/demo2/wp-content/plugins/wpforms-lite/vendor_prefixed/square/square/src
<?php
declare (strict_types=1);
namespace WPForms\Vendor\Square\Models;
use stdClass;
/**
* Describes delivery details of an order fulfillment.
*/
class OrderFulfillmentDeliveryDetails implements \JsonSerializable
{
/**
* @var OrderFulfillmentRecipient|null
*/
private $recipient;
/**
* @var string|null
*/
private $scheduleType;
/**
* @var string|null
*/
private $placedAt;
/**
* @var array
*/
private $deliverAt = [];
/**
* @var array
*/
private $prepTimeDuration = [];
/**
* @var array
*/
private $deliveryWindowDuration = [];
/**
* @var array
*/
private $note = [];
/**
* @var array
*/
private $completedAt = [];
/**
* @var string|null
*/
private $inProgressAt;
/**
* @var string|null
*/
private $rejectedAt;
/**
* @var string|null
*/
private $readyAt;
/**
* @var string|null
*/
private $deliveredAt;
/**
* @var string|null
*/
private $canceledAt;
/**
* @var array
*/
private $cancelReason = [];
/**
* @var array
*/
private $courierPickupAt = [];
/**
* @var array
*/
private $courierPickupWindowDuration = [];
/**
* @var array
*/
private $isNoContactDelivery = [];
/**
* @var array
*/
private $dropoffNotes = [];
/**
* @var array
*/
private $courierProviderName = [];
/**
* @var array
*/
private $courierSupportPhoneNumber = [];
/**
* @var array
*/
private $squareDeliveryId = [];
/**
* @var array
*/
private $externalDeliveryId = [];
/**
* @var array
*/
private $managedDelivery = [];
/**
* Returns Recipient.
* Information about the fulfillment recipient.
*/
public function getRecipient() : ?OrderFulfillmentRecipient
{
return $this->recipient;
}
/**
* Sets Recipient.
* Information about the fulfillment recipient.
*
* @maps recipient
*/
public function setRecipient(?OrderFulfillmentRecipient $recipient) : void
{
$this->recipient = $recipient;
}
/**
* Returns Schedule Type.
* The schedule type of the delivery fulfillment.
*/
public function getScheduleType() : ?string
{
return $this->scheduleType;
}
/**
* Sets Schedule Type.
* The schedule type of the delivery fulfillment.
*
* @maps schedule_type
*/
public function setScheduleType(?string $scheduleType) : void
{
$this->scheduleType = $scheduleType;
}
/**
* Returns Placed At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when the fulfillment was placed.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
* Must be in RFC 3339 timestamp format, e.g., "2016-09-04T23:59:33.123Z".
*/
public function getPlacedAt() : ?string
{
return $this->placedAt;
}
/**
* Sets Placed At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when the fulfillment was placed.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
* Must be in RFC 3339 timestamp format, e.g., "2016-09-04T23:59:33.123Z".
*
* @maps placed_at
*/
public function setPlacedAt(?string $placedAt) : void
{
$this->placedAt = $placedAt;
}
/**
* Returns Deliver At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* that represents the start of the delivery period.
* When the fulfillment `schedule_type` is `ASAP`, the field is automatically
* set to the current time plus the `prep_time_duration`.
* Otherwise, the application can set this field while the fulfillment `state` is
* `PROPOSED`, `RESERVED`, or `PREPARED` (any time before the
* terminal state such as `COMPLETED`, `CANCELED`, and `FAILED`).
*
* The timestamp must be in RFC 3339 format
* (for example, "2016-09-04T23:59:33.123Z").
*/
public function getDeliverAt() : ?string
{
if (\count($this->deliverAt) == 0) {
return null;
}
return $this->deliverAt['value'];
}
/**
* Sets Deliver At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* that represents the start of the delivery period.
* When the fulfillment `schedule_type` is `ASAP`, the field is automatically
* set to the current time plus the `prep_time_duration`.
* Otherwise, the application can set this field while the fulfillment `state` is
* `PROPOSED`, `RESERVED`, or `PREPARED` (any time before the
* terminal state such as `COMPLETED`, `CANCELED`, and `FAILED`).
*
* The timestamp must be in RFC 3339 format
* (for example, "2016-09-04T23:59:33.123Z").
*
* @maps deliver_at
*/
public function setDeliverAt(?string $deliverAt) : void
{
$this->deliverAt['value'] = $deliverAt;
}
/**
* Unsets Deliver At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* that represents the start of the delivery period.
* When the fulfillment `schedule_type` is `ASAP`, the field is automatically
* set to the current time plus the `prep_time_duration`.
* Otherwise, the application can set this field while the fulfillment `state` is
* `PROPOSED`, `RESERVED`, or `PREPARED` (any time before the
* terminal state such as `COMPLETED`, `CANCELED`, and `FAILED`).
*
* The timestamp must be in RFC 3339 format
* (for example, "2016-09-04T23:59:33.123Z").
*/
public function unsetDeliverAt() : void
{
$this->deliverAt = [];
}
/**
* Returns Prep Time Duration.
* The duration of time it takes to prepare and deliver this fulfillment.
* The duration must be in RFC 3339 format (for example, "P1W3D").
*/
public function getPrepTimeDuration() : ?string
{
if (\count($this->prepTimeDuration) == 0) {
return null;
}
return $this->prepTimeDuration['value'];
}
/**
* Sets Prep Time Duration.
* The duration of time it takes to prepare and deliver this fulfillment.
* The duration must be in RFC 3339 format (for example, "P1W3D").
*
* @maps prep_time_duration
*/
public function setPrepTimeDuration(?string $prepTimeDuration) : void
{
$this->prepTimeDuration['value'] = $prepTimeDuration;
}
/**
* Unsets Prep Time Duration.
* The duration of time it takes to prepare and deliver this fulfillment.
* The duration must be in RFC 3339 format (for example, "P1W3D").
*/
public function unsetPrepTimeDuration() : void
{
$this->prepTimeDuration = [];
}
/**
* Returns Delivery Window Duration.
* The time period after `deliver_at` in which to deliver the order.
* Applications can set this field when the fulfillment `state` is
* `PROPOSED`, `RESERVED`, or `PREPARED` (any time before the terminal state
* such as `COMPLETED`, `CANCELED`, and `FAILED`).
* The duration must be in RFC 3339 format (for example, "P1W3D").
*/
public function getDeliveryWindowDuration() : ?string
{
if (\count($this->deliveryWindowDuration) == 0) {
return null;
}
return $this->deliveryWindowDuration['value'];
}
/**
* Sets Delivery Window Duration.
* The time period after `deliver_at` in which to deliver the order.
* Applications can set this field when the fulfillment `state` is
* `PROPOSED`, `RESERVED`, or `PREPARED` (any time before the terminal state
* such as `COMPLETED`, `CANCELED`, and `FAILED`).
* The duration must be in RFC 3339 format (for example, "P1W3D").
*
* @maps delivery_window_duration
*/
public function setDeliveryWindowDuration(?string $deliveryWindowDuration) : void
{
$this->deliveryWindowDuration['value'] = $deliveryWindowDuration;
}
/**
* Unsets Delivery Window Duration.
* The time period after `deliver_at` in which to deliver the order.
* Applications can set this field when the fulfillment `state` is
* `PROPOSED`, `RESERVED`, or `PREPARED` (any time before the terminal state
* such as `COMPLETED`, `CANCELED`, and `FAILED`).
* The duration must be in RFC 3339 format (for example, "P1W3D").
*/
public function unsetDeliveryWindowDuration() : void
{
$this->deliveryWindowDuration = [];
}
/**
* Returns Note.
* Provides additional instructions about the delivery fulfillment.
* It is displayed in the Square Point of Sale application and set by the API.
*/
public function getNote() : ?string
{
if (\count($this->note) == 0) {
return null;
}
return $this->note['value'];
}
/**
* Sets Note.
* Provides additional instructions about the delivery fulfillment.
* It is displayed in the Square Point of Sale application and set by the API.
*
* @maps note
*/
public function setNote(?string $note) : void
{
$this->note['value'] = $note;
}
/**
* Unsets Note.
* Provides additional instructions about the delivery fulfillment.
* It is displayed in the Square Point of Sale application and set by the API.
*/
public function unsetNote() : void
{
$this->note = [];
}
/**
* Returns Completed At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicates when the seller completed the fulfillment.
* This field is automatically set when fulfillment `state` changes to `COMPLETED`.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*/
public function getCompletedAt() : ?string
{
if (\count($this->completedAt) == 0) {
return null;
}
return $this->completedAt['value'];
}
/**
* Sets Completed At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicates when the seller completed the fulfillment.
* This field is automatically set when fulfillment `state` changes to `COMPLETED`.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*
* @maps completed_at
*/
public function setCompletedAt(?string $completedAt) : void
{
$this->completedAt['value'] = $completedAt;
}
/**
* Unsets Completed At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicates when the seller completed the fulfillment.
* This field is automatically set when fulfillment `state` changes to `COMPLETED`.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*/
public function unsetCompletedAt() : void
{
$this->completedAt = [];
}
/**
* Returns In Progress At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicates when the seller started processing the fulfillment.
* This field is automatically set when the fulfillment `state` changes to `RESERVED`.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*/
public function getInProgressAt() : ?string
{
return $this->inProgressAt;
}
/**
* Sets In Progress At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicates when the seller started processing the fulfillment.
* This field is automatically set when the fulfillment `state` changes to `RESERVED`.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*
* @maps in_progress_at
*/
public function setInProgressAt(?string $inProgressAt) : void
{
$this->inProgressAt = $inProgressAt;
}
/**
* Returns Rejected At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when the fulfillment was rejected. This field is
* automatically set when the fulfillment `state` changes to `FAILED`.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*/
public function getRejectedAt() : ?string
{
return $this->rejectedAt;
}
/**
* Sets Rejected At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when the fulfillment was rejected. This field is
* automatically set when the fulfillment `state` changes to `FAILED`.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*
* @maps rejected_at
*/
public function setRejectedAt(?string $rejectedAt) : void
{
$this->rejectedAt = $rejectedAt;
}
/**
* Returns Ready At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when the seller marked the fulfillment as ready for
* courier pickup. This field is automatically set when the fulfillment `state` changes
* to PREPARED.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*/
public function getReadyAt() : ?string
{
return $this->readyAt;
}
/**
* Sets Ready At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when the seller marked the fulfillment as ready for
* courier pickup. This field is automatically set when the fulfillment `state` changes
* to PREPARED.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*
* @maps ready_at
*/
public function setReadyAt(?string $readyAt) : void
{
$this->readyAt = $readyAt;
}
/**
* Returns Delivered At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when the fulfillment was delivered to the recipient.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*/
public function getDeliveredAt() : ?string
{
return $this->deliveredAt;
}
/**
* Sets Delivered At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when the fulfillment was delivered to the recipient.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*
* @maps delivered_at
*/
public function setDeliveredAt(?string $deliveredAt) : void
{
$this->deliveredAt = $deliveredAt;
}
/**
* Returns Canceled At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when the fulfillment was canceled. This field is automatically
* set when the fulfillment `state` changes to `CANCELED`.
*
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*/
public function getCanceledAt() : ?string
{
return $this->canceledAt;
}
/**
* Sets Canceled At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when the fulfillment was canceled. This field is automatically
* set when the fulfillment `state` changes to `CANCELED`.
*
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*
* @maps canceled_at
*/
public function setCanceledAt(?string $canceledAt) : void
{
$this->canceledAt = $canceledAt;
}
/**
* Returns Cancel Reason.
* The delivery cancellation reason. Max length: 100 characters.
*/
public function getCancelReason() : ?string
{
if (\count($this->cancelReason) == 0) {
return null;
}
return $this->cancelReason['value'];
}
/**
* Sets Cancel Reason.
* The delivery cancellation reason. Max length: 100 characters.
*
* @maps cancel_reason
*/
public function setCancelReason(?string $cancelReason) : void
{
$this->cancelReason['value'] = $cancelReason;
}
/**
* Unsets Cancel Reason.
* The delivery cancellation reason. Max length: 100 characters.
*/
public function unsetCancelReason() : void
{
$this->cancelReason = [];
}
/**
* Returns Courier Pickup At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when an order can be picked up by the courier for delivery.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*/
public function getCourierPickupAt() : ?string
{
if (\count($this->courierPickupAt) == 0) {
return null;
}
return $this->courierPickupAt['value'];
}
/**
* Sets Courier Pickup At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when an order can be picked up by the courier for delivery.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*
* @maps courier_pickup_at
*/
public function setCourierPickupAt(?string $courierPickupAt) : void
{
$this->courierPickupAt['value'] = $courierPickupAt;
}
/**
* Unsets Courier Pickup At.
* The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates)
* indicating when an order can be picked up by the courier for delivery.
* The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").
*/
public function unsetCourierPickupAt() : void
{
$this->courierPickupAt = [];
}
/**
* Returns Courier Pickup Window Duration.
* The time period after `courier_pickup_at` in which the courier should pick up the order.
* The duration must be in RFC 3339 format (for example, "P1W3D").
*/
public function getCourierPickupWindowDuration() : ?string
{
if (\count($this->courierPickupWindowDuration) == 0) {
return null;
}
return $this->courierPickupWindowDuration['value'];
}
/**
* Sets Courier Pickup Window Duration.
* The time period after `courier_pickup_at` in which the courier should pick up the order.
* The duration must be in RFC 3339 format (for example, "P1W3D").
*
* @maps courier_pickup_window_duration
*/
public function setCourierPickupWindowDuration(?string $courierPickupWindowDuration) : void
{
$this->courierPickupWindowDuration['value'] = $courierPickupWindowDuration;
}
/**
* Unsets Courier Pickup Window Duration.
* The time period after `courier_pickup_at` in which the courier should pick up the order.
* The duration must be in RFC 3339 format (for example, "P1W3D").
*/
public function unsetCourierPickupWindowDuration() : void
{
$this->courierPickupWindowDuration = [];
}
/**
* Returns Is No Contact Delivery.
* Whether the delivery is preferred to be no contact.
*/
public function getIsNoContactDelivery() : ?bool
{
if (\count($this->isNoContactDelivery) == 0) {
return null;
}
return $this->isNoContactDelivery['value'];
}
/**
* Sets Is No Contact Delivery.
* Whether the delivery is preferred to be no contact.
*
* @maps is_no_contact_delivery
*/
public function setIsNoContactDelivery(?bool $isNoContactDelivery) : void
{
$this->isNoContactDelivery['value'] = $isNoContactDelivery;
}
/**
* Unsets Is No Contact Delivery.
* Whether the delivery is preferred to be no contact.
*/
public function unsetIsNoContactDelivery() : void
{
$this->isNoContactDelivery = [];
}
/**
* Returns Dropoff Notes.
* A note to provide additional instructions about how to deliver the order.
*/
public function getDropoffNotes() : ?string
{
if (\count($this->dropoffNotes) == 0) {
return null;
}
return $this->dropoffNotes['value'];
}
/**
* Sets Dropoff Notes.
* A note to provide additional instructions about how to deliver the order.
*
* @maps dropoff_notes
*/
public function setDropoffNotes(?string $dropoffNotes) : void
{
$this->dropoffNotes['value'] = $dropoffNotes;
}
/**
* Unsets Dropoff Notes.
* A note to provide additional instructions about how to deliver the order.
*/
public function unsetDropoffNotes() : void
{
$this->dropoffNotes = [];
}
/**
* Returns Courier Provider Name.
* The name of the courier provider.
*/
public function getCourierProviderName() : ?string
{
if (\count($this->courierProviderName) == 0) {
return null;
}
return $this->courierProviderName['value'];
}
/**
* Sets Courier Provider Name.
* The name of the courier provider.
*
* @maps courier_provider_name
*/
public function setCourierProviderName(?string $courierProviderName) : void
{
$this->courierProviderName['value'] = $courierProviderName;
}
/**
* Unsets Courier Provider Name.
* The name of the courier provider.
*/
public function unsetCourierProviderName() : void
{
$this->courierProviderName = [];
}
/**
* Returns Courier Support Phone Number.
* The support phone number of the courier.
*/
public function getCourierSupportPhoneNumber() : ?string
{
if (\count($this->courierSupportPhoneNumber) == 0) {
return null;
}
return $this->courierSupportPhoneNumber['value'];
}
/**
* Sets Courier Support Phone Number.
* The support phone number of the courier.
*
* @maps courier_support_phone_number
*/
public function setCourierSupportPhoneNumber(?string $courierSupportPhoneNumber) : void
{
$this->courierSupportPhoneNumber['value'] = $courierSupportPhoneNumber;
}
/**
* Unsets Courier Support Phone Number.
* The support phone number of the courier.
*/
public function unsetCourierSupportPhoneNumber() : void
{
$this->courierSupportPhoneNumber = [];
}
/**
* Returns Square Delivery Id.
* The identifier for the delivery created by Square.
*/
public function getSquareDeliveryId() : ?string
{
if (\count($this->squareDeliveryId) == 0) {
return null;
}
return $this->squareDeliveryId['value'];
}
/**
* Sets Square Delivery Id.
* The identifier for the delivery created by Square.
*
* @maps square_delivery_id
*/
public function setSquareDeliveryId(?string $squareDeliveryId) : void
{
$this->squareDeliveryId['value'] = $squareDeliveryId;
}
/**
* Unsets Square Delivery Id.
* The identifier for the delivery created by Square.
*/
public function unsetSquareDeliveryId() : void
{
$this->squareDeliveryId = [];
}
/**
* Returns External Delivery Id.
* The identifier for the delivery created by the third-party courier service.
*/
public function getExternalDeliveryId() : ?string
{
if (\count($this->externalDeliveryId) == 0) {
return null;
}
return $this->externalDeliveryId['value'];
}
/**
* Sets External Delivery Id.
* The identifier for the delivery created by the third-party courier service.
*
* @maps external_delivery_id
*/
public function setExternalDeliveryId(?string $externalDeliveryId) : void
{
$this->externalDeliveryId['value'] = $externalDeliveryId;
}
/**
* Unsets External Delivery Id.
* The identifier for the delivery created by the third-party courier service.
*/
public function unsetExternalDeliveryId() : void
{
$this->externalDeliveryId = [];
}
/**
* Returns Managed Delivery.
* The flag to indicate the delivery is managed by a third party (ie DoorDash), which means
* we may not receive all recipient information for PII purposes.
*/
public function getManagedDelivery() : ?bool
{
if (\count($this->managedDelivery) == 0) {
return null;
}
return $this->managedDelivery['value'];
}
/**
* Sets Managed Delivery.
* The flag to indicate the delivery is managed by a third party (ie DoorDash), which means
* we may not receive all recipient information for PII purposes.
*
* @maps managed_delivery
*/
public function setManagedDelivery(?bool $managedDelivery) : void
{
$this->managedDelivery['value'] = $managedDelivery;
}
/**
* Unsets Managed Delivery.
* The flag to indicate the delivery is managed by a third party (ie DoorDash), which means
* we may not receive all recipient information for PII purposes.
*/
public function unsetManagedDelivery() : void
{
$this->managedDelivery = [];
}
/**
* Encode this object to JSON
*
* @param bool $asArrayWhenEmpty Whether to serialize this model as an array whenever no fields
* are set. (default: false)
*
* @return array|stdClass
*/
#[\ReturnTypeWillChange]
public function jsonSerialize(bool $asArrayWhenEmpty = \false)
{
$json = [];
if (isset($this->recipient)) {
$json['recipient'] = $this->recipient;
}
if (isset($this->scheduleType)) {
$json['schedule_type'] = $this->scheduleType;
}
if (isset($this->placedAt)) {
$json['placed_at'] = $this->placedAt;
}
if (!empty($this->deliverAt)) {
$json['deliver_at'] = $this->deliverAt['value'];
}
if (!empty($this->prepTimeDuration)) {
$json['prep_time_duration'] = $this->prepTimeDuration['value'];
}
if (!empty($this->deliveryWindowDuration)) {
$json['delivery_window_duration'] = $this->deliveryWindowDuration['value'];
}
if (!empty($this->note)) {
$json['note'] = $this->note['value'];
}
if (!empty($this->completedAt)) {
$json['completed_at'] = $this->completedAt['value'];
}
if (isset($this->inProgressAt)) {
$json['in_progress_at'] = $this->inProgressAt;
}
if (isset($this->rejectedAt)) {
$json['rejected_at'] = $this->rejectedAt;
}
if (isset($this->readyAt)) {
$json['ready_at'] = $this->readyAt;
}
if (isset($this->deliveredAt)) {
$json['delivered_at'] = $this->deliveredAt;
}
if (isset($this->canceledAt)) {
$json['canceled_at'] = $this->canceledAt;
}
if (!empty($this->cancelReason)) {
$json['cancel_reason'] = $this->cancelReason['value'];
}
if (!empty($this->courierPickupAt)) {
$json['courier_pickup_at'] = $this->courierPickupAt['value'];
}
if (!empty($this->courierPickupWindowDuration)) {
$json['courier_pickup_window_duration'] = $this->courierPickupWindowDuration['value'];
}
if (!empty($this->isNoContactDelivery)) {
$json['is_no_contact_delivery'] = $this->isNoContactDelivery['value'];
}
if (!empty($this->dropoffNotes)) {
$json['dropoff_notes'] = $this->dropoffNotes['value'];
}
if (!empty($this->courierProviderName)) {
$json['courier_provider_name'] = $this->courierProviderName['value'];
}
if (!empty($this->courierSupportPhoneNumber)) {
$json['courier_support_phone_number'] = $this->courierSupportPhoneNumber['value'];
}
if (!empty($this->squareDeliveryId)) {
$json['square_delivery_id'] = $this->squareDeliveryId['value'];
}
if (!empty($this->externalDeliveryId)) {
$json['external_delivery_id'] = $this->externalDeliveryId['value'];
}
if (!empty($this->managedDelivery)) {
$json['managed_delivery'] = $this->managedDelivery['value'];
}
$json = \array_filter($json, function ($val) {
return $val !== null;
});
return !$asArrayWhenEmpty && empty($json) ? new stdClass() : $json;
}
}