Domain
A customer's domain.
Customers are allowed to register and transfer domain names using WHMCS. These domain names are then associated with their Client record and any Services they purchased with the Domain name.
Note that the "subscriptionid" field was originally intended to store the PayPal Subscription ID for a domain when one was first created, and then used to track and associate future payments of that subscription ID. However, later the logic was changed and so now PayPal subscription matching is done based only invoice or service relationships. Nonetheless, this field is still exposed via the admin interface and can be set and used manually by admin users.
Traits
Properties summary
Type | Property | Description | |
---|---|---|---|
protected | $table | ||
protected | $dates | ||
protected | $columnMap | ||
protected | $booleans | ||
protected | $characterSeparated | ||
protected | $appends | ||
int | $id | Unique ID for this domain object. | |
int | $clientId | ID of client who owns this domain. | |
int | $orderId | ID of order where this domain was purchased. | |
string | $type | English language internal name of the type of registration used for this domain from this set: 'Register' and 'Transfer' | |
Carbon | $registrationDate | Date this domain was registered. | |
string | $domain | This domain name. | |
string | $tld | The top level domain (extension). | |
float | $firstPaymentAmount | Initial payment made to purchase this domain. | |
float | $recurringAmount | Recurring payment amount assigned to this domain name purchase. | |
string | $registrarModuleName | Internal name of registrar module used to register this domain. | |
int | $registrationPeriod | Purchased registration period, in years. | |
Carbon | $expiryDate | Date the registration expires | |
string | $subscriptionId | See note above about the subscriptionId field | |
int | $promotionId | ID of promotion used to purchase this domain. | |
string | $status | English language internal name of the status of this domain registration from this set: 'Pending', 'Pending Registration', 'Pending Transfer', 'Active', 'Grace', 'Redemption', 'Expired', 'Cancelled', 'Fraud', 'Transferred Away' | |
Carbon | $nextDueDate | The date the next payment is due on. | |
Carbon | $nextInvoiceDate | The date the next invoice will be generated on. | |
string | $additionalNotes | Additional notes provided by the admin. Should not be displayed to the client. | |
string | $paymentGateway | Internal name of payment gateway used to purchase this domain name. | |
bool | $hasDnsManagement | True if the customer purchased DNS management as part of this domain purchase. | |
bool | $hasEmailForwarding | True if customer purchased Email Forwarding as part of this domain purchase. | |
bool | $hasIdProtection | True if customer purchased ID Protection (anonymous WHOIS) as part of this domain purchase. | |
bool | $isPremium | True if the domain is considered premium at registry. | |
bool | $hasAutoInvoiceOnNextDueDisabled | True if "Disable Auto Renew" is activated for this domain. | |
string | $reminders | Pipe delimited string of Email IDs. | |
bool | $isSyncedWithRegistrar | True if the registrar's data on this domain is fully synced with WHMCS. | |
Extension|null | $extension | The record from tbldomainpricing for this domain. | |
integer | $gracePeriod | ||
float | $gracePeriodFee | ||
integer | $redemptionGracePeriod | ||
float | $redemptionGracePeriodFee | ||
string|null | $domainPunycode | The punycoded value for a domain | |
Carbon | $createdAt | Date this domain was created. | |
Carbon | $updatedAt | Date this domain was last edited. | |
Client | $client | Client to whom this domain belongs to. | |
Collection|AdditionalField[] | $additionalFields | All additional fields belonging to this domain's registration. | |
Collection|Extra[] | $extra | All extra fields belonging to this domain registration. | |
Collection|Queue[] | $failedActions | Any failed actions related to this domain. | |
Order | $order | ||
Collection|Item[] | $invoiceItems[] | Any invoice items related to this domain |
Methods summary
Return Type | Method Name | Description | |
---|---|---|---|
Builder | scopeOfClient(Builder $query, integer $clientId) | Retrieve domains for a specific user | |
Builder | scopeNextDueBefore(Builder $query, Carbon $date) | Retrieve domains due before a given date. | |
Builder | scopeIsConsideredActive(Builder $query) | - | |
string | getTldAttribute() | Get domain tld extension. | |
BelongsTo | client() | Each domain belongs to one client. | |
HasMany | additionalFields() | Every domain can have one or more additional registrar-specific fields. | |
HasMany | extra() | Every domain may have extra information fields | |
BelongsTo | order() | A domain belongs to a single order. | |
HasMany | paymentGateway() | Each domain has many payment gateway records. | |
hasMany | invoiceItems() | A domain can have many invoice items | |
Registrar | getRegistrarInterface() | Get domain registrar module interface. | |
Domain | getDomainObject() | Get domain object. | |
setRemindersAttribute(string $reminders) | Enforce business logic around domain reminders. | ||
HasMany | failedActions() | - | |
bool | isConfiguredTld() | Returns true if tld is configured for sale. | |
AdditionalFields | getAdditionalFields() | Get additional fields for the current domain. | |
Model|null|Domain|Extension | getExtensionAttribute() | - | |
int | getGracePeriodAttribute() | - | |
float | getGracePeriodFeeAttribute() | - | |
int | getRedemptionGracePeriodAttribute() | - | |
float | getRedemptionGracePeriodFeeAttribute() | - | |
getLink() | - | ||
Service|null | getServiceByDomain() | Get service by domain name. | |
string[] | getDefaultNameservers() | Get system default nameservers. | |
string[] | getBestNameserversForNewOrder() | Get best nameservers for new domain order. | |
Builder | scopeDueForSync(Builder $query) | Retrieve domain names due for Domain Synchronisation |
Details
Builder
scopeOfClient (Builder $query, integer $clientId)
Retrieve domains for a specific user
Builder
scopeNextDueBefore (Builder $query, Carbon $date)
Retrieve domains due before a given date.
Builder
scopeIsConsideredActive (Builder $query)
string
getTldAttribute ()
Get domain tld extension.
BelongsTo
client ()
Each domain belongs to one client.
HasMany
additionalFields ()
Every domain can have one or more additional registrar-specific fields.
HasMany
extra ()
Every domain may have extra information fields
BelongsTo
order ()
A domain belongs to a single order.
HasMany
paymentGateway ()
Each domain has many payment gateway records.
hasMany
invoiceItems ()
A domain can have many invoice items
Registrar
getRegistrarInterface ()
Get domain registrar module interface.
Domain
getDomainObject ()
Get domain object.
setRemindersAttribute (string $reminders)
Enforce business logic around domain reminders.
HasMany
failedActions ()
bool
isConfiguredTld ()
Returns true if tld is configured for sale.
AdditionalFields
getAdditionalFields ()
Get additional fields for the current domain.
Model|null|Domain|Extension
getExtensionAttribute ()
int
getGracePeriodAttribute ()
float
getGracePeriodFeeAttribute ()
int
getRedemptionGracePeriodAttribute ()
float
getRedemptionGracePeriodFeeAttribute ()
getLink ()
protected Service|null
getServiceByDomain ()
Get service by domain name.
Retrieves the first matching service record for the domain. Prioritises active status, and most recently created.
protected string[]
getDefaultNameservers ()
Get system default nameservers.
string[]
getBestNameserversForNewOrder ()
Get best nameservers for new domain order.
Uses the following, in order: - Matching service domain record - Nameservers specified in order - System default values
Builder
scopeDueForSync (Builder $query)
Retrieve domain names due for Domain Synchronisation