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;
}
}
Se você está em busca de uma experiência de jogo eletrizante e vantajosa, o Slottica Casino é o lugar ideal. Com um bônus sem depósito atraente, este cassino online se destaca no mercado. Neste artigo, vamos explorar tudo sobre esse bônus e como você pode aproveitá-lo ao máximo. O bônus sem depósito é uma oferta que permite aos jogadores experimentar jogos de cassino sem precisar fazer um depósito inicial. No Slottica Casino, isso significa que você pode começar a jogar e ganhar prêmios sem arriscar seu próprio dinheiro. É uma maneira excelente de conhecer a plataforma e os jogos disponíveis. Optar pelo bônus sem depósito no Slottica Casino traz diversas vantagens que podem enriquecer sua experiência de jogo: Ativar o bônus sem depósito no Slottica Casino é um processo simples. Siga os passos abaixo: Uma das melhores partes do bônus sem depósito é a variedade de jogos que você pode jogar. No Slottica Casino, você encontrará:Conteúdo
O que é o Bônus Sem Depósito?
Vantagens do Bônus Sem Depósito no Slottica
Como Ativar o Bônus Sem Depósito
Jogos Disponíveis com o Bônus
| Tipo de Jogo | Exemplos | Retorno ao Jogador (RTP) |
|---|---|---|
| Slots | Starburst, Gonzo’s Quest | 95% – 97% |
| Jogos de Mesa | Blackjack, Roleta | 95% – 99% |
| Jogos ao Vivo | Roulette Live, Blackjack Live | 93% – 98% |
Para esclarecer ainda mais suas dúvidas sobre o bônus sem depósito do Slottica Casino, aqui estão algumas perguntas frequentes:
Em resumo, o Slottica Casino oferece uma oportunidade incrível para novos jogadores aproveitarem o bônus sem depósito. Com uma ampla gama de jogos e a chance de ganhar prêmios reais, essa é uma oferta que você não pode deixar passar. Crie sua conta hoje mesmo e comece sua aventura de jogo!
]]>