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;
}
}
If you love vibrant colors, playful themes, and exciting slot mechanics, Sugar Rush 1000 by Pragmatic Play is a delightful treat available at online casinos for players from Multi. This eye-catching sugar-themed slot promises both fun and the chance for rewarding payouts, especially when you take advantage of enticing deposit bonuses offered by casinos. In this review, we’ll explore the gameplay, where to play, how bonuses enhance your experience, and share insights from seasoned players.
Sugar Rush 1000 is a 5-reel, 3-row video slot with a dynamic layout that offers 20 fixed paylines. Colorful candy symbols, luscious frosted treats, and whimsical shapes create a visually immersive experience. The game mechanics revolve around matching symbols along paylines to accumulate wins.

For Multi-region players looking to spin Sugar Rush 1000, several reputable online casinos host this Pragmatic Play slot. These casinos frequently offer deposit bonuses to boost your initial bankroll, giving you more spins and better chances to hit those sweet multipliers. sugar rush 1000 play slot with deposit bonus
A typical deposit bonus might be a 100% match up to $200 or free spins specifically credited to Sugar Rush 1000, making your gaming sessions longer and more exciting. Always check casino terms and wagering requirements before committing.
“I struck it lucky on Sugar Rush 1000 after triggering the bonus multiplier round. With a modest deposit and the casino’s 100% deposit bonus, my bankroll doubled, and I managed to win over 5,000 credits in one session. The game’s fast-paced style and sweet visuals keep me coming back!” – Alex, Experienced Online Slot Enthusiast from Multi.
| Bonus Type | Description | Player Benefit |
|---|---|---|
| Match Deposit Bonus | Casino matches your deposit amount up to a certain limit, e.g., 100% up to $200. | Double your playing budget for Sugar Rush 1000 spins. |
| Free Spins Bonus | Receive a set number of free spins for Sugar Rush 1000 upon deposit. | Try the game risk-free and win real money without using your own credits. |
| Cashback Bonus | Get a percentage of your net losses back over a period. | Minimizes losses and keeps you playing longer. |
This slot offers medium to high volatility, meaning wins might not occur every spin but can be substantial during bonus rounds.
Yes, many online casinos provide a demo mode that lets you try Sugar Rush 1000 risk-free to get familiar with its features and gameplay.
Definitely. Pragmatic Play ensures it delivers a seamless experience on smartphones and tablets without compromising graphics or functionality.
Sugar Rush 1000 by Pragmatic Play delivers a visually enticing and thrilling gaming experience perfect for players from Multi looking for high-energy slots with lucrative bonus features. By playing at casinos offering deposit bonuses, players can maximize their bankroll and extend playtime, increasing their chances of catching those high-value multipliers.
Whether you’re a newbie trying the demo or an experienced player chasing big wins, Sugar Rush 1000’s vibrant candy world is ready to sweeten your day.
]]>