# Class Reference (WHMCS 9.0)

Reference for WHMCS's developer-facing model classes.

## WHMCS

- [CustomField](/classes/whmcs/customfield) — Custom Fields model class


## WHMCS\Announcement

- [Announcement](/classes/whmcs/announcement/announcement) — A client-facing general announcement.


## WHMCS\Authentication

- [CurrentUser](/classes/whmcs/authentication/currentuser) — Utility class for assessing the authentication state or identity of the current actor


## WHMCS\Billing

- [Currency](/classes/whmcs/billing/currency) — A currency.
- [Invoice](/classes/whmcs/billing/invoice) — A customer's invoice.
- [Quote](/classes/whmcs/billing/quote) — A quote for client services.


## WHMCS\Billing\Invoice

- [Item](/classes/whmcs/billing/invoice/item) — Invoice line items Each invoice is made up of individual line items.


## WHMCS\Billing\Payment

- [DisputeInterface](/classes/whmcs/billing/payment/disputeinterface) — DisputeInterface is used as part of the WHMCS\Billing\Payment\Dispute object to ensure that all required methods are present for output.
- [Transaction](/classes/whmcs/billing/payment/transaction) — A payment transaction.


## WHMCS\Billing\Payment\Dispute

- [DisputeCollection](/classes/whmcs/billing/payment/dispute/disputecollection)


## WHMCS\Billing\Payment\Transaction

- [Information](/classes/whmcs/billing/payment/transaction/information) — The information class is used to provide additional data for a transaction from a gateway module.


## WHMCS\Billing\Quote

- [Item](/classes/whmcs/billing/quote/item) — Quote line items Each quote is made up of individual line items, like an Invoice.


## WHMCS\Billing\VAT

- [VatNumber](/classes/whmcs/billing/vat/vatnumber)


## WHMCS\Billing\VAT\Verification

- [VerificationInterface](/classes/whmcs/billing/vat/verification/verificationinterface)


## WHMCS\Cart\Item

- [ItemInterface](/classes/whmcs/cart/item/iteminterface)


## WHMCS\Config

- [Setting](/classes/whmcs/config/setting) — An individual setting stored in the tblconfiguration table.


## WHMCS\CustomField

- [CustomFieldValue](/classes/whmcs/customfield/customfieldvalue) — Custom Fields Values model class


## WHMCS\Domain

- [AdditionalField](/classes/whmcs/domain/additionalfield) — Domain additional fields.
- [Domain](/classes/whmcs/domain/domain) — A customer's domain.
- [Extra](/classes/whmcs/domain/extra) — Used to store information related to the domain that is not an additional field.


## WHMCS\Domain\Registrar

- [Domain](/classes/whmcs/domain/registrar/domain) — Store information regarding the domain that can be used within the product without requiring additional Registrar calls.


## WHMCS\Domains\DomainLookup

- [ResultsList](/classes/whmcs/domains/domainlookup/resultslist)
- [SearchResult](/classes/whmcs/domains/domainlookup/searchresult) — Search results from a domain lookup query Contains the data of a domain and information about it potential availability Also can potentially get a list of like-domain suggests


## WHMCS\Domains\Pricing

- [Premium](/classes/whmcs/domains/pricing/premium) — Pricing markup for premium domains


## WHMCS\Download

- [Category](/classes/whmcs/download/category) — A download category All files available for download in WHMCS must be within at least one Category.
- [Download](/classes/whmcs/download/download) — A downloadable file.


## WHMCS\Log

- [Register](/classes/whmcs/log/register) — Register


## WHMCS\Mail

- [Message](/classes/whmcs/mail/message) — An Email Message Messages are sent out for various reasons, including for events such as invoice creation and Email Campaigns.
- [Template](/classes/whmcs/mail/template) — Functionality related to mail templates.


## WHMCS\Module

- [AbstractWidget](/classes/whmcs/module/abstractwidget) — Abstract Widget.
- [Queue](/classes/whmcs/module/queue) — Module Queue


## WHMCS\Module\Addon

- [Setting](/classes/whmcs/module/addon/setting) — Class Setting


## WHMCS\Module\Contracts

- [NotificationModuleInterface](/classes/whmcs/module/contracts/notificationmoduleinterface) — Notification Module Interface All Notification modules must implement this interface
- [SenderModuleInterface](/classes/whmcs/module/contracts/sendermoduleinterface)


## WHMCS\Module\Gateway

- [BalanceCollection](/classes/whmcs/module/gateway/balancecollection) — The BalanceCollection object is used to return data through a gateway module to display balance information on the Transactions List page in the WHMCS Admin area.
- [BalanceInterface](/classes/whmcs/module/gateway/balanceinterface) — BalanceInterface is used as part of the WHMCS\Module\Gateway\Balance object to ensure that all required methods are present for output.


## WHMCS\Module\MailSender

- [DescriptionTrait](/classes/whmcs/module/mailsender/descriptiontrait)


## WHMCS\Module\Notification

- [DescriptionTrait](/classes/whmcs/module/notification/descriptiontrait) — Collection of behaviors common to all notification modules that help fulfill \WHMCS\Notification\Notification\NotificationModuleInterface


## WHMCS\Module\Server

- [CustomAction](/classes/whmcs/module/server/customaction)
- [CustomActionCollection](/classes/whmcs/module/server/customactioncollection) — The CustomActionCollection object is used to return data through a server module to display Custom Action items.


## WHMCS\Network

- [NetworkIssue](/classes/whmcs/network/networkissue) — A network issue.


## WHMCS\Notification

- [Rule](/classes/whmcs/notification/rule) — A notification rule.


## WHMCS\Notification\Contracts

- [NotificationAttributeInterface](/classes/whmcs/notification/contracts/notificationattributeinterface) — Interface that describes attributes of a notification
- [NotificationInterface](/classes/whmcs/notification/contracts/notificationinterface) — Interface that describes a notification


## WHMCS\Product

- [Addon](/classes/whmcs/product/addon) — tbladdons model class
- [Group](/classes/whmcs/product/group) — A product group A product group contains one or more order-able products and determines how those products are displayed in order forms to clients.
- [Product](/classes/whmcs/product/product) — A product A product represents a sellable item in WHMCS.


## WHMCS\Product\Pricing

- [Price](/classes/whmcs/product/pricing/price) — Price per cycle formatting helper


## WHMCS\Scheduling\Task

- [AbstractTask](/classes/whmcs/scheduling/task/abstracttask) — AbstractTask


## WHMCS\Service

- [Addon](/classes/whmcs/service/addon) — Service addons Please note that "Service Addons" are completely separate from "WHMCS Addons," which add functionality to WHMCS.
- [CancellationRequest](/classes/whmcs/service/cancellationrequest) — A service cancellation request Should a Client decide to cancel a Service, they create a CancellationRequest.
- [Service](/classes/whmcs/service/service) — A client-owned service.


## WHMCS\UsageBilling\Contracts\Metrics

- [MetricInterface](/classes/whmcs/usagebilling/contracts/metrics/metricinterface) — MetricInterface
- [ProviderInterface](/classes/whmcs/usagebilling/contracts/metrics/providerinterface) — ProviderInterface
- [UnitInterface](/classes/whmcs/usagebilling/contracts/metrics/unitinterface) — UnitInterface
- [UsageInterface](/classes/whmcs/usagebilling/contracts/metrics/usageinterface) — UsageInterface


## WHMCS\UsageBilling\Metrics

- [Metric](/classes/whmcs/usagebilling/metrics/metric) — Metric
- [Usage](/classes/whmcs/usagebilling/metrics/usage) — Usage


## WHMCS\UsageBilling\Metrics\Units

- [AbstractUnit](/classes/whmcs/usagebilling/metrics/units/abstractunit) — AbstractUnit
- [Bytes](/classes/whmcs/usagebilling/metrics/units/bytes) — MegaBytes
- [FloatingPoint](/classes/whmcs/usagebilling/metrics/units/floatingpoint) — FloatingPoint
- [GigaBytes](/classes/whmcs/usagebilling/metrics/units/gigabytes) — GigaBytes
- [KiloBytes](/classes/whmcs/usagebilling/metrics/units/kilobytes) — KiloBytes
- [MegaBytes](/classes/whmcs/usagebilling/metrics/units/megabytes) — MegaBytes
- [WholeNumber](/classes/whmcs/usagebilling/metrics/units/wholenumber) — WholeNumber


## WHMCS\User

- [Admin](/classes/whmcs/user/admin) — An administrative user An administrative user is responsible for operation and maintenance of a WHMCS installation.
- [AdminLog](/classes/whmcs/user/adminlog) — An administrative user login Each log entry in this table represents a single login session for an administrative user.
- [Alert](/classes/whmcs/user/alert) — A user level alert Alerts are intended to be displayed in the product as quick notifications generated on the fly for WHMCS users.
- [Client](/classes/whmcs/user/client) — A client user.


## WHMCS\User\Client

- [Affiliate](/classes/whmcs/user/client/affiliate) — Client affiliate information If a WHMCS operator turns on the affiliate payment system, then a client account can become an affiliate.
- [Contact](/classes/whmcs/user/client/contact) — A client contact Client users may have more than one set of contact information on their account.
- [Group](/classes/whmcs/user/client/group) — A Client Group.


## WHMCS\View\Formatter

- [Price](/classes/whmcs/view/formatter/price) — Price Formatter.


## WHMCS\View\Menu

- [Item](/classes/whmcs/view/menu/item) — An item in one of WHMCS's client area menus.


## WHMCS\View\Template

- [AssetUtil](/classes/whmcs/view/template/assetutil) — AssetUtil