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;
/**
* Represents the rule of conversion between a stockable
* [CatalogItemVariation]($m/CatalogItemVariation)
* and a non-stockable sell-by or receive-by `CatalogItemVariation` that
* share the same underlying stock.
*/
class CatalogStockConversion implements \JsonSerializable
{
/**
* @var string
*/
private $stockableItemVariationId;
/**
* @var string
*/
private $stockableQuantity;
/**
* @var string
*/
private $nonstockableQuantity;
/**
* @param string $stockableItemVariationId
* @param string $stockableQuantity
* @param string $nonstockableQuantity
*/
public function __construct(string $stockableItemVariationId, string $stockableQuantity, string $nonstockableQuantity)
{
$this->stockableItemVariationId = $stockableItemVariationId;
$this->stockableQuantity = $stockableQuantity;
$this->nonstockableQuantity = $nonstockableQuantity;
}
/**
* Returns Stockable Item Variation Id.
* References to the stockable [CatalogItemVariation](entity:CatalogItemVariation)
* for this stock conversion. Selling, receiving or recounting the non-stockable
* `CatalogItemVariation`
* defined with a stock conversion results in adjustments of this stockable `CatalogItemVariation`.
* This immutable field must reference a stockable `CatalogItemVariation`
* that shares the parent [CatalogItem](entity:CatalogItem) of the converted `CatalogItemVariation.`
*/
public function getStockableItemVariationId() : string
{
return $this->stockableItemVariationId;
}
/**
* Sets Stockable Item Variation Id.
* References to the stockable [CatalogItemVariation](entity:CatalogItemVariation)
* for this stock conversion. Selling, receiving or recounting the non-stockable
* `CatalogItemVariation`
* defined with a stock conversion results in adjustments of this stockable `CatalogItemVariation`.
* This immutable field must reference a stockable `CatalogItemVariation`
* that shares the parent [CatalogItem](entity:CatalogItem) of the converted `CatalogItemVariation.`
*
* @required
* @maps stockable_item_variation_id
*/
public function setStockableItemVariationId(string $stockableItemVariationId) : void
{
$this->stockableItemVariationId = $stockableItemVariationId;
}
/**
* Returns Stockable Quantity.
* The quantity of the stockable item variation (as identified by `stockable_item_variation_id`)
* equivalent to the non-stockable item variation quantity (as specified in `nonstockable_quantity`)
* as defined by this stock conversion. It accepts a decimal number in a string format that can take
* up to 10 digits before the decimal point and up to 5 digits after the decimal point.
*/
public function getStockableQuantity() : string
{
return $this->stockableQuantity;
}
/**
* Sets Stockable Quantity.
* The quantity of the stockable item variation (as identified by `stockable_item_variation_id`)
* equivalent to the non-stockable item variation quantity (as specified in `nonstockable_quantity`)
* as defined by this stock conversion. It accepts a decimal number in a string format that can take
* up to 10 digits before the decimal point and up to 5 digits after the decimal point.
*
* @required
* @maps stockable_quantity
*/
public function setStockableQuantity(string $stockableQuantity) : void
{
$this->stockableQuantity = $stockableQuantity;
}
/**
* Returns Nonstockable Quantity.
* The converted equivalent quantity of the non-stockable [CatalogItemVariation](entity:
* CatalogItemVariation)
* in its measurement unit. The `stockable_quantity` value and this `nonstockable_quantity` value
* together
* define the conversion ratio between stockable item variation and the non-stockable item variation.
* It accepts a decimal number in a string format that can take up to 10 digits before the decimal
* point
* and up to 5 digits after the decimal point.
*/
public function getNonstockableQuantity() : string
{
return $this->nonstockableQuantity;
}
/**
* Sets Nonstockable Quantity.
* The converted equivalent quantity of the non-stockable [CatalogItemVariation](entity:
* CatalogItemVariation)
* in its measurement unit. The `stockable_quantity` value and this `nonstockable_quantity` value
* together
* define the conversion ratio between stockable item variation and the non-stockable item variation.
* It accepts a decimal number in a string format that can take up to 10 digits before the decimal
* point
* and up to 5 digits after the decimal point.
*
* @required
* @maps nonstockable_quantity
*/
public function setNonstockableQuantity(string $nonstockableQuantity) : void
{
$this->nonstockableQuantity = $nonstockableQuantity;
}
/**
* 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 = [];
$json['stockable_item_variation_id'] = $this->stockableItemVariationId;
$json['stockable_quantity'] = $this->stockableQuantity;
$json['nonstockable_quantity'] = $this->nonstockableQuantity;
$json = \array_filter($json, function ($val) {
return $val !== null;
});
return !$asArrayWhenEmpty && empty($json) ? new stdClass() : $json;
}
}