AbstractServiceChangeBuilder extends AbstractOptions implements ServiceChangeBuilderInterface
Abstract service change builder
Attributes
- #[AllowDynamicProperties]
Table of Contents
Interfaces
| ServiceChangeBuilderInterface | Service change builder interface |
Properties
| $discounts | |
| $formatFactory | |
| $itemFactory | |
| $options | |
| $presenterFactory | |
| $pricingFactory | |
| $serviceFactory | |
| $settings | |
| $taxes |
Methods
| __construct() | Init |
| discounts() | Sets all discounts |
| options() | Sets any key/value custom options |
| settings() | Sets a list of settings |
| taxes() | Sets all tax rules |
| formatDiscounts() | Formats the discounts |
| formatOptions() | Formats the options |
| formatSettings() | Formats the settings |
| formatTaxes() | Formats the taxes |
Properties
$discounts
protected
array<string|int, mixed>
$discounts
= []
An array of stdClass objects representing each discount
$formatFactory
protected
Instance
$formatFactory
of FormatFactory
$itemFactory
protected
Instance
$itemFactory
of ItemFactory
$options
protected
array<string|int, mixed>
$options
= []
All key/value custom options
$presenterFactory
protected
Instance
$presenterFactory
of PresenterFactory
$pricingFactory
protected
Instance
$pricingFactory
of PricingFactory
$serviceFactory
protected
Instance
$serviceFactory
of ServiceFactory
$settings
protected
array<string|int, mixed>
$settings
= []
All key/value settings
$taxes
protected
array<string|int, mixed>
$taxes
= []
An array of stdClass objects representing each tax rule
Methods
__construct()
Init
public
__construct(ServiceFactory $serviceFactory, FormatFactory $formatFactory, PricingFactory $pricingFactory, PresenterFactory $presenterFactory, ItemFactory $itemFactory) : mixed
Parameters
- $serviceFactory : ServiceFactory
-
An instance of the ServiceFactory
- $formatFactory : FormatFactory
-
An instance of the FormatFactory
- $pricingFactory : PricingFactory
-
An instance of the PricingFactory
- $presenterFactory : PresenterFactory
-
An instance of the PresenterFactory
- $itemFactory : ItemFactory
-
An instance of the ItemFactory
discounts()
Sets all discounts
public
discounts(array<string|int, mixed> $discounts) : this
Parameters
- $discounts : array<string|int, mixed>
-
A list of two arrays ('old' and 'new') each with stdClass objects representing each coupon that apply either before or after the service change, containing:
- id The coupon ID
- code The coupon code
- used_qty The number of times the coupon has been used
- max_qty The max number of coupon uses
- start_date The date the coupon begins
- end_date The date the coupon ends
- status The coupon status
- type The type of coupon as it applies to packages (exclusive, inclusive)
- recurring 1 or 0, whether the coupon applies to recurring services
- limit_recurring 1 or 0, whether the coupon limitations apply to recurring services
- apply_package_options 1 or 0, whether the coupon applies to a service's package options
- amounts An array of stdClass objects representing each coupon amount, containing:
- coupon_id The coupon ID
- currency The coupon amount currency
- amount The coupon amount
- type The coupon amount type (percent, amount)
- packages An array of stdClass objects representing each assigned coupon package, containing:
- coupon_id The coupon ID
- package_id The assigned package ID
Return values
thisoptions()
Sets any key/value custom options
public
options(array<string|int, mixed> $options) : this
Parameters
- $options : array<string|int, mixed>
-
An array of custom options:
- includeSetupFees (optional) true/false, whether to include applicable setup fees. Default false.
- includeCancelFees (optional) true/false, whether to include applicable cancel fees. Default false.
- applyDate* (optional) The effective date the items apply. Coupons only apply with respect to this date. Default now.
- startDate* (optional) The effective date the service term begins. Services are dated from this startDate unless overridden by proration. Default now.
- recur (optional) true/false, whether to treat the service as recurring, i.e., the service already exists and is renewing. May affect coupon discounts. Default false.
- transfer (optional) true/false, whether to use the transfer price or not, i.e., the service is a domain being transferred. May affect coupon discounts. Default false.
- renewal (optional) true/false, whether to use the renewal price or not, i.e., the service is a domain being renewed. May affect coupon discounts. Default false.
- cycles (optional) The amount of term cycles the service will be renewed. Default 1
- prorateStartDate* (optional) datetime stamp. If set, will prorate the service from this date to the prorateEndDate
- prorateEndDate* (optional) datetime stamp. If set, will override the otherwise calculated prorate end date.
- prorateEndDateData* (optional) datetime stamp. If set, will override the otherwise set prorateEndDate when included with the Service Change Presenter only. This is typically used to prorate a service from its current renew date to a new renew date by providing the new renew date here while the service's current renew date is the prorateEndDate.
- config_options (optional) array, a list of the config options currently on a service which is having a price change calculated.
- upgrade (optional) true/false, whether this price is being calculated for a package upgrade.
- option_currency (optional, for service changes) The ISO 4217 3-character currency code to which option prices should be converted
- service_currency (optional, for service changes) The ISO 4217 3-character currency code to which service prices should be converted
Return values
thissettings()
Sets a list of settings
public
settings(array<string|int, mixed> $settings) : this
Parameters
- $settings : array<string|int, mixed>
-
An array containing all client and company settings as key/value pairs
Return values
thistaxes()
Sets all tax rules
public
taxes(array<string|int, mixed> $taxes) : this
Parameters
- $taxes : array<string|int, mixed>
-
An array of stdClass objects representing each tax rule that applies, containing:
- id The tax ID
- company_id The company ID
- level The tax level
- name The name of the tax
- amount The tax amount
- type The tax type (inclusive, exclusive)
- status The tax status
Return values
thisformatDiscounts()
Formats the discounts
protected
formatDiscounts(DiscountFormatterInterface $formatter, ItemCollection $collection) : ItemCollection
Parameters
- $formatter : DiscountFormatterInterface
-
The formatter
- $collection : ItemCollection
-
The item collection to append formatted discounts to
Return values
ItemCollection —A collection of Items
formatOptions()
Formats the options
protected
formatOptions(ArrayFormatterInterface $formatter) : mixed
Parameters
- $formatter : ArrayFormatterInterface
-
The formatter
Return values
mixed —The formatter's output formatting
formatSettings()
Formats the settings
protected
formatSettings(ArrayFormatterInterface $formatter) : mixed
Parameters
- $formatter : ArrayFormatterInterface
-
The formatter
Return values
mixed —The formatter's output formatting
formatTaxes()
Formats the taxes
protected
formatTaxes(TaxFormatterInterface $formatter, ItemCollection $collection) : ItemCollection
Parameters
- $formatter : TaxFormatterInterface
-
The formatter
- $collection : ItemCollection
-
The item collection to append formatted taxes to
Return values
ItemCollection —A collection of Items