'string',
'name' => 'string',
'percentage' => 'string',
'amount_money' => '\SquareConnect\Model\Money'
);
/**
* Array of attributes where the key is the local name, and the value is the original name
* @var string[]
*/
static $attributeMap = array(
'catalog_object_id' => 'catalog_object_id',
'name' => 'name',
'percentage' => 'percentage',
'amount_money' => 'amount_money'
);
/**
* Array of attributes to setter functions (for deserialization of responses)
* @var string[]
*/
static $setters = array(
'catalog_object_id' => 'setCatalogObjectId',
'name' => 'setName',
'percentage' => 'setPercentage',
'amount_money' => 'setAmountMoney'
);
/**
* Array of attributes to getter functions (for serialization of requests)
* @var string[]
*/
static $getters = array(
'catalog_object_id' => 'getCatalogObjectId',
'name' => 'getName',
'percentage' => 'getPercentage',
'amount_money' => 'getAmountMoney'
);
/**
* $catalog_object_id Only used for catalog discounts. The catalog object ID for an existing [CatalogDiscount](#type-catalogdiscount). Do not provide a value for this field if you provide values in other fields for an ad hoc discount.
* @var string
*/
protected $catalog_object_id;
/**
* $name Only used for ad hoc discounts. The discount's name.
* @var string
*/
protected $name;
/**
* $percentage Only used for ad hoc discounts. The percentage of the discount, as a string representation of a decimal number. A value of `7.25` corresponds to a percentage of 7.25%. This value range between 0.0 up to 100.0
* @var string
*/
protected $percentage;
/**
* $amount_money Only used for ad hoc discounts. The monetary amount of the discount.
* @var \SquareConnect\Model\Money
*/
protected $amount_money;
/**
* Constructor
* @param mixed[] $data Associated array of property value initializing the model
*/
public function __construct(array $data = null)
{
if ($data != null) {
if (isset($data["catalog_object_id"])) {
$this->catalog_object_id = $data["catalog_object_id"];
} else {
$this->catalog_object_id = null;
}
if (isset($data["name"])) {
$this->name = $data["name"];
} else {
$this->name = null;
}
if (isset($data["percentage"])) {
$this->percentage = $data["percentage"];
} else {
$this->percentage = null;
}
if (isset($data["amount_money"])) {
$this->amount_money = $data["amount_money"];
} else {
$this->amount_money = null;
}
}
}
/**
* Gets catalog_object_id
* @return string
*/
public function getCatalogObjectId()
{
return $this->catalog_object_id;
}
/**
* Sets catalog_object_id
* @param string $catalog_object_id Only used for catalog discounts. The catalog object ID for an existing [CatalogDiscount](#type-catalogdiscount). Do not provide a value for this field if you provide values in other fields for an ad hoc discount.
* @return $this
*/
public function setCatalogObjectId($catalog_object_id)
{
$this->catalog_object_id = $catalog_object_id;
return $this;
}
/**
* Gets name
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Sets name
* @param string $name Only used for ad hoc discounts. The discount's name.
* @return $this
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Gets percentage
* @return string
*/
public function getPercentage()
{
return $this->percentage;
}
/**
* Sets percentage
* @param string $percentage Only used for ad hoc discounts. The percentage of the discount, as a string representation of a decimal number. A value of `7.25` corresponds to a percentage of 7.25%. This value range between 0.0 up to 100.0
* @return $this
*/
public function setPercentage($percentage)
{
$this->percentage = $percentage;
return $this;
}
/**
* Gets amount_money
* @return \SquareConnect\Model\Money
*/
public function getAmountMoney()
{
return $this->amount_money;
}
/**
* Sets amount_money
* @param \SquareConnect\Model\Money $amount_money Only used for ad hoc discounts. The monetary amount of the discount.
* @return $this
*/
public function setAmountMoney($amount_money)
{
$this->amount_money = $amount_money;
return $this;
}
/**
* Returns true if offset exists. False otherwise.
* @param integer $offset Offset
* @return boolean
*/
public function offsetExists($offset)
{
return isset($this->$offset);
}
/**
* Gets offset.
* @param integer $offset Offset
* @return mixed
*/
public function offsetGet($offset)
{
return $this->$offset;
}
/**
* Sets value based on offset.
* @param integer $offset Offset
* @param mixed $value Value to be set
* @return void
*/
public function offsetSet($offset, $value)
{
$this->$offset = $value;
}
/**
* Unsets offset.
* @param integer $offset Offset
* @return void
*/
public function offsetUnset($offset)
{
unset($this->$offset);
}
/**
* Gets the string presentation of the object
* @return string
*/
public function __toString()
{
if (defined('JSON_PRETTY_PRINT')) {
return json_encode(\SquareConnect\ObjectSerializer::sanitizeForSerialization($this), JSON_PRETTY_PRINT);
} else {
return json_encode(\SquareConnect\ObjectSerializer::sanitizeForSerialization($this));
}
}
}