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;
}
}
22Bet Casino to jedno z najbardziej rozpoznawalnych kasyn online, które oferuje swoim użytkownikom dostęp do szerokiego wachlarza gier. Dzięki współpracy z wieloma znanymi dostawcami oprogramowania, 22Bet zapewnia niezapomniane wrażenia z gry. W tym artykule przyjrzymy się bliżej najlepszym dostawcom gier, które można znaleźć w ofercie 22Bet Casino.
Współpraca z różnorodnymi dostawcami gier jest kluczem do sukcesu dla kasyn online, takich jak 22Bet. Dzięki różnorodności w ofercie, gracze mogą znaleźć coś odpowiedniego dla siebie, niezależnie od ich preferencji czy poziomu zaawansowania.
Do najbardziej cenionych dostawców gier, z którymi współpracuje 22Bet Casino, zaliczają się:
NetEnt to jeden z czołowych dostawców gier hazardowych online, znany z wprowadzenia innowacyjnych rozwiązań do świata slotów wideo. Ich gry zwykle charakteryzują się doskonałą grafiką oraz oryginalnymi tematykami, co sprawia, że są one popularnym wyborem wśród graczy 22Bet Casino.
Niektóre z najpopularniejszych gier NetEnt dostępnych na 22Bet to:
NetEnt nieustannie stara się pchać granice branży, oferując gry, które są nie tylko atrakcyjne wizualnie, ale również angażujące dla graczy.
Microgaming jest jednym z najstarszych i najbardziej zaufanych dostawców gier hazardowych online. Są szczególnie znani z szerokiej gamy gier z progresywnym jackpotem, które oferują graczom możliwość wygrania ogromnych sum pieniędzy. Wielu graczy na całym świecie jest przyciąganych właśnie przez te gigantyczne pule nagród.
Przykłady takich gier to: 22Bet logowanie
Microgaming jest także znany z niezawodnego oprogramowania oraz licznych innowacji, które wprowadzają w świat gier kasynowych, zapewniając tym samym doskonałą jakość gry na 22Bet Casino.
Play’n GO to dostawca, który stawia na grywalność oraz interesującą tematykę gier. Firma znana jest z tworzenia slotów, które nie tylko wyglądają dobrze, ale również są angażujące dzięki różnorodnym funkcjom bonusowym oraz dobrze zaprojektowanym mechanikom gry.
Gry od Play’n GO oferują również interaktywne doświadczenia, które mogą zachęcić graczy do dalszej zabawy. Na 22Bet Casino można znaleźć wiele znanych tytułów tego dostawcy, co dodatkowo zwiększa atrakcyjność oferty kasyna.
Evolution Gaming jest bezdyskusyjnie liderem w zakresie gier na żywo. Ich oferta gier stołowych przenosi graczy w świat prawdziwego kasyna, oferując interakcje z realnymi krupierami oraz realistyczną atmosferę gier na żywo.
Gry od Evolution Gaming na 22Bet Casino to m.in:
Dzięki doskonałej jakości streamingu oraz interaktywnym funkcjom, gry od Evolution Gaming oferują emocje, jakich można oczekiwać od pobytu w prawdziwym kasynie.
Exploracja 22Bet Casino ujawnia fascynujący świat gier dostarczanych przez czołowych dostawców w branży. Od NetEnt po Evolution Gaming, każdy z dostawców oferuje unikalne doświadczenia, które zaspokoją potrzeby nawet najbardziej wymagających graczy. Dzięki bogatej ofercie i różnorodnym tytułom, 22Bet Casino z pewnością zasługuje na swoją pozycję wśród najlepszych kasyn online.
Najpopularniejsze gry na 22Bet to m.in. Starburst, Gonzo’s Quest, Mega Moolah oraz ruletka na żywo.
22Bet Casino współpracuje z wieloma renomowanymi dostawcami gier, takimi jak NetEnt, Microgaming, Play’n GO oraz Evolution Gaming.
Evolution Gaming oferuje doskonałej jakości gry na żywo z prawdziwymi krupierami, co zapewnia autentyczne doświadczenie kasynowe.
Tak, Microgaming oferuje szeroką gamę gier z progresywnym jackpotem na 22Bet, takich jak Mega Moolah.
Tak, 22Bet Casino posiada wersję mobilną, która umożliwia grę na większości urządzeń przenośnych.
]]>