declare (strict_types=1);
namespace WPForms\Vendor\Square\Models;
use stdClass;
/**
* Represents an accrual rule, which defines how buyers can earn points from the base [loyalty
* program]($m/LoyaltyProgram).
*/
class LoyaltyProgramAccrualRule implements \JsonSerializable
{
/**
* @var string
*/
private $accrualType;
/**
* @var array
*/
private $points = [];
/**
* @var LoyaltyProgramAccrualRuleVisitData|null
*/
private $visitData;
/**
* @var LoyaltyProgramAccrualRuleSpendData|null
*/
private $spendData;
/**
* @var LoyaltyProgramAccrualRuleItemVariationData|null
*/
private $itemVariationData;
/**
* @var LoyaltyProgramAccrualRuleCategoryData|null
*/
private $categoryData;
/**
* @param string $accrualType
*/
public function __construct(string $accrualType)
{
$this->accrualType = $accrualType;
}
/**
* Returns Accrual Type.
* The type of the accrual rule that defines how buyers can earn points.
*/
public function getAccrualType() : string
{
return $this->accrualType;
}
/**
* Sets Accrual Type.
* The type of the accrual rule that defines how buyers can earn points.
*
* @required
* @maps accrual_type
*/
public function setAccrualType(string $accrualType) : void
{
$this->accrualType = $accrualType;
}
/**
* Returns Points.
* The number of points that
* buyers earn based on the `accrual_type`.
*/
public function getPoints() : ?int
{
if (\count($this->points) == 0) {
return null;
}
return $this->points['value'];
}
/**
* Sets Points.
* The number of points that
* buyers earn based on the `accrual_type`.
*
* @maps points
*/
public function setPoints(?int $points) : void
{
$this->points['value'] = $points;
}
/**
* Unsets Points.
* The number of points that
* buyers earn based on the `accrual_type`.
*/
public function unsetPoints() : void
{
$this->points = [];
}
/**
* Returns Visit Data.
* Represents additional data for rules with the `VISIT` accrual type.
*/
public function getVisitData() : ?LoyaltyProgramAccrualRuleVisitData
{
return $this->visitData;
}
/**
* Sets Visit Data.
* Represents additional data for rules with the `VISIT` accrual type.
*
* @maps visit_data
*/
public function setVisitData(?LoyaltyProgramAccrualRuleVisitData $visitData) : void
{
$this->visitData = $visitData;
}
/**
* Returns Spend Data.
* Represents additional data for rules with the `SPEND` accrual type.
*/
public function getSpendData() : ?LoyaltyProgramAccrualRuleSpendData
{
return $this->spendData;
}
/**
* Sets Spend Data.
* Represents additional data for rules with the `SPEND` accrual type.
*
* @maps spend_data
*/
public function setSpendData(?LoyaltyProgramAccrualRuleSpendData $spendData) : void
{
$this->spendData = $spendData;
}
/**
* Returns Item Variation Data.
* Represents additional data for rules with the `ITEM_VARIATION` accrual type.
*/
public function getItemVariationData() : ?LoyaltyProgramAccrualRuleItemVariationData
{
return $this->itemVariationData;
}
/**
* Sets Item Variation Data.
* Represents additional data for rules with the `ITEM_VARIATION` accrual type.
*
* @maps item_variation_data
*/
public function setItemVariationData(?LoyaltyProgramAccrualRuleItemVariationData $itemVariationData) : void
{
$this->itemVariationData = $itemVariationData;
}
/**
* Returns Category Data.
* Represents additional data for rules with the `CATEGORY` accrual type.
*/
public function getCategoryData() : ?LoyaltyProgramAccrualRuleCategoryData
{
return $this->categoryData;
}
/**
* Sets Category Data.
* Represents additional data for rules with the `CATEGORY` accrual type.
*
* @maps category_data
*/
public function setCategoryData(?LoyaltyProgramAccrualRuleCategoryData $categoryData) : void
{
$this->categoryData = $categoryData;
}
/**
* 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] // @phan-suppress-current-line PhanUndeclaredClassAttribute for (php < 8.1)
public function jsonSerialize(bool $asArrayWhenEmpty = \false)
{
$json = [];
$json['accrual_type'] = $this->accrualType;
if (!empty($this->points)) {
$json['points'] = $this->points['value'];
}
if (isset($this->visitData)) {
$json['visit_data'] = $this->visitData;
}
if (isset($this->spendData)) {
$json['spend_data'] = $this->spendData;
}
if (isset($this->itemVariationData)) {
$json['item_variation_data'] = $this->itemVariationData;
}
if (isset($this->categoryData)) {
$json['category_data'] = $this->categoryData;
}
$json = \array_filter($json, function ($val) {
return $val !== null;
});
return !$asArrayWhenEmpty && empty($json) ? new stdClass() : $json;
}
}

. Они прекрасно понимают, что важно не только выглядеть молодо, но и чувствовать себя так же внутри. В этой статье мы рассмотрим, почему зрелые девушки – это не только очаровательные женщины, но и люди, с которыми можно по-настоящему разговаривать.
Зрелые девушки уже прошли через многое в своей жизни: радости и разочарования, победы и поражения. Имея за плечами богатый опыт, они четко знают, что им нужно и что они готовы делать ради своего счастья. Благодаря этому, они имеют четкую позицию во многих вопросах и не боятся высказывать свое мнение. Готовность к диалогу и конструктивному обсуждению делает зрелых девушек прекрасными партнерами для глубоких бесед.
Одной из ключевых особенностей зрелых девушек является их эмоциональная зрелость. Они умеют контролировать свои чувства, не давая им взять верх в сложных ситуациях. Благодаря этому, зрелые женщины способны анализировать свои мысли и чувства, понимать свои потребности и желания. Это позволяет им открыто обсуждать свои эмоции и искренне выражать свое мнение в разговоре.
Зрелые девушки обладают широтой взглядов и умением видеть ситуацию с разных сторон. Они готовы выслушать собеседника, понять его точку зрения и попытаться найти компромиссное решение. Это ценное качество, позволяющее строить качественные отношения и находить общий язык с разными людьми. Благодаря этому, разговор с зрелой девушкой становится не только плодотворным, но и интересным.
Зрелые девушки ценят и уважают своих собеседников, проявляя вежливость и такт в общении. Они умеют высказывать свои мысли и чувства без излишней агрессии и конфликтности. Благодаря этому, разговор с такой женщиной проходит в дружелюбной и спокойной обстановке, где каждый может почувствовать себя комфортно и услышанным.
Зрелые девушки часто являются наставницами и мудрыми советчицами для молодых людей. Благодаря своему опыту и знаниям, они готовы поделиться ценными советами и помочь справиться с трудностями. Разговор с зрелой женщиной может стать настоящим уроком жизни, позволяющим расширить кругозор и увидеть проблемы с другой стороны.
Зрелые девушки – это не просто женщины определенного возраста, но и личности, готовые на глубокие и искренние разговоры. Имея за плечами богатый опыт и эмоциональную зрелость, они способны понимать и поддерживать своих собеседников. Качественный диалог с зрелой девушкой может стать для вас настоящим откровением и помочь вам лучше понять себя и мир вокруг. Не бойтесь идти на честный разговор – с зрелыми девушками это будет по-настоящему ценное и плодотворное время.
]]>