# ResellerDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

## Fields
- `extraProperties` (object): (nullable, read only)
- `id` (string(uuid))
- `creationTime` (string(date-time)): The date and time when this entity was created.
- `creatorId` (string(uuid)): The ID of the user who created this entity. (nullable)
- `lastModificationTime` (string(date-time)): The date and time when this entity was last modified. (nullable)
- `lastModifierId` (string(uuid)): The ID of the user who last modified this entity. (nullable)
- `isDeleted` (boolean): Indicates whether this entity has been deleted.
- `deleterId` (string(uuid)): The ID of the user who deleted this entity, if it is deleted. (nullable)
- `deletionTime` (string(date-time)): The date and time when this entity was deleted, if it is deleted. (nullable)
- `createdFromTemplateId` (string(uuid)): The template this record was created from, or `null` for one started blank. Set by the  create-from-template path and by the add/edit page's Load Template action when the record is  saved. (nullable)
- `name` (string): (nullable)
- `concurrencyStamp` (string): (nullable)
- `tenantId` (string(uuid)): (nullable, read only)
- `entityVersion` (integer(int32)): (read only)
- `parentReseller` (string(uuid)): (nullable)
- `customIdentifier` (string): (nullable)
- `dba` (string): (nullable)
- `code` (string): (nullable)
- `features` ([ResellerFeatures](https://devportal.demo.winkpg.io/docs/api/models/ResellerFeatures.md))
  Fields:
  - `privateLabeling` (boolean)
  - `hostedPage` (boolean)
  - `emulator` (boolean)
  - `merchantCustomFieldConfig` (boolean)
  - `merchantBilling` (boolean)
  - `tokenSharing` (boolean)
  - `subResellers` (boolean)
  - `tenders` ([TenderEnableFlags](https://devportal.demo.winkpg.io/docs/api/models/TenderEnableFlags.md)): Per-tender enable flags evaluated by the capability cascade. A  reseller that has not explicitly opted in to a non-credit tender (EBT/eWIC)  blocks every merchant beneath it from accepting that tender, regardless of  merchant-level or processor-account opt-in.
  - `paymentTokenization` (boolean): Reseller-level opt-in for payment tokenization. When `false` or unset, every merchant  beneath this reseller is blocked from tokenizing payments regardless of the per-merchant  `enablePaymentTokenization` override. (nullable)
- `contactDetail` ([ResellerContactDetail](https://devportal.demo.winkpg.io/docs/api/models/ResellerContactDetail.md)): Represents contact details for a reseller.
  Fields:
  - `primaryContactName` (string): (nullable, max length 100)
  - `emailAddress` (string): The contact's email address. Optional. A value that is not blank must be a valid email address. Conditional: When EmailAddress is not empty. Must be a valid email. (nullable)
  - `phone` (string): The contact's phone number. Optional. A value that is not empty must be a phone number: digits,  with an optional leading `+` and country code, optional parentheses around the area code,  and a space, hyphen or period between groups. Letters, including an extension such as  `x123`, are rejected. (nullable)
  - `fax` (string): The contact's fax number. Optional. Follows the same rule as the phone number. (nullable)
  - `companyUrl` (string): The company's website address. Optional. A value sent without a scheme, such as  `www.example.com`, is stored with `https://` added. A value that starts with  `http://` or `https://` is stored exactly as sent. Any other scheme, and text that is  not a website address, is rejected. (nullable)
  - `addresses` (array<[AddressInputModel](https://devportal.demo.winkpg.io/docs/api/models/AddressInputModel.md)>) required: (nullable)
- `businessInfo` ([ResellerBusinessInfo](https://devportal.demo.winkpg.io/docs/api/models/ResellerBusinessInfo.md)): Represents business-related information for a reseller.
  Fields:
  - `federalTaxId` (string): (nullable, max length 50)
  - `stateTaxId` (string): (nullable, max length 50)
  - `salesTaxId` (string): (nullable, max length 50)
  - `yearlySalesAmount` (number(double)): Conditional: When YearlySalesAmount is not null. Must be > 0. (nullable)
  - `businessStartDate` (string(date-time)): (nullable)
  - `currency` (string): (nullable, max length 3)
- `branding` ([ResellerBranding](https://devportal.demo.winkpg.io/docs/api/models/ResellerBranding.md)): Represents branding information for a reseller, including domain, product, contact, and icon details.
  Fields:
  - `brandedDomainName` (string): Gets or sets the branded domain name for the reseller. (nullable)
  - `productName` (string): Gets or sets the product name for the reseller's offering. (nullable)
  - `emailFromName` (string): Gets or sets the display name used in emails sent from the reseller. (nullable)
  - `emailFromAddress` (string): Gets or sets the email address used as the sender in emails from the reseller. (nullable)
  - `logo` (string): Gets or sets the URL or path to the reseller's logo. (nullable)
  - `displayAddress` ([Address](https://devportal.demo.winkpg.io/docs/api/models/Address.md)): Gets or sets the display address for the reseller. Conditional: Conditional (see validator source).
  - `sdkGlobalName` (string): Gets or sets the window-global name the branded embed SDK shim assigns to the  brand-neutral core artifact (for example "MyBrandPaySDK"). Falls back to the platform  default global name when unset. Conditional: When SdkGlobalName is not empty. Max length: 60. (nullable)
  - `supportPhone` (string): Gets or sets the support phone number for the reseller. (nullable)
  - `salesPhone` (string): Gets or sets the sales phone number for the reseller. (nullable)
  - `supportEmail` (string): Gets or sets the support email address for the reseller. (nullable)
  - `favIcons` ([BrandingFavIcons](https://devportal.demo.winkpg.io/docs/api/models/BrandingFavIcons.md)): Gets or sets the favicon and icon URLs for the reseller's branding.
- `billingPreferences` ([ResellerBillingPreferences](https://devportal.demo.winkpg.io/docs/api/models/ResellerBillingPreferences.md)): Per-reseller billing configuration embedded on the Reseller aggregate root.  Controls billing run scheduling, payment terms, and invoice generation preferences.
  Fields:
  - `defaultPaymentTerms` (integer(int32)): Days until invoice due date (e.g. 30). (nullable)
  - `defaultCurrency` (string): ISO 4217 default currency for billing. (nullable, min length 0, max length 3)
  - `hppPageId` (string(uuid)): HPP page ID used for invoice payment links. Required: When DefaultFulfillmentPath == Invoicing and AllowOnlinePayment is true. (nullable)
  - `captureHppPageId` (string(uuid)): HPP page ID used to capture and store a card on file for the recurring-contract billing  path (the operator-driven payment-method capture flow). This must reference a  `SaveCard`-purpose page (zero-dollar verification, no charge) so capture does not  prompt the operator for an amount. Distinct from `hppPageId`, which is the  Invoicing payment-link page (a chargeable `Payment` page). Required: When DefaultFulfillmentPath == RecurringContract. (nullable)
  - `allowOnlinePayment` (boolean): Whether merchants can pay invoices online via HPP. (nullable)
  - `allowStoredPaymentMethods` (boolean): Whether merchants can store payment methods for billing. (nullable)
  - `autoChargeStoredMethod` (boolean): Auto-charge stored payment method after invoice generation. (nullable)
  - `autoBillingEnabled` (boolean): Whether automated billing runs are enabled. (nullable)
  - `billingPeriod` (integer(int32)): Billing period: 1=Monthly, 3=Quarterly. (nullable)
  - `billingDayOfMonth` (integer(int32)): Day of month for billing runs (1-28). (nullable, min 1, max 28)
  - `invoiceTemplateId` (string(uuid)): Invoice template ID (Phase 2: Invoicing module). (nullable)
  - `defaultTaxRateId` (string(uuid)): Default tax rate ID (Phase 2: Invoicing module). (nullable)
  - `sendInvoiceOnGeneration` (boolean): Auto-send invoice to merchant after generation. (nullable)
  - `billingRunNotificationEmail` (string): Admin notification email for billing run completions. (nullable, min length 0, max length 256)
  - `defaultFulfillmentPath` ([BillingFulfillmentPath](https://devportal.demo.winkpg.io/docs/api/models/BillingFulfillmentPath.md)): Default fulfillment path for billing runs under this reseller. When null and a merchant  has no per-assignment override, the merchant is skipped with result status  `NoFulfillmentPath`. (nullable)
    Values:
    - `Invoicing`: Generate an invoice in PhoeniXGate.Invoicing addressed to the Merchant and route payment through the reseller's configured Hosted Payment Page.
    - `RecurringContract`: Charge a stored payment method (card or ACH) against the Merchant on a schedule, via a recurring contract owned by the reseller's collection merchant.
  - `collectionMerchantId` (string(uuid)): The reseller-owned billing entity that owns recurring contracts and vaults stored  payment methods. Required when `defaultFulfillmentPath` is  `RecurringContract`. This may be the reseller itself  or a designated child merchant; modeled internally as a single "MLB collection party"  reference so the legacy House Merchant flag is not reintroduced. Required: When DefaultFulfillmentPath == RecurringContract. (nullable)
  - `allowCardPayments` (boolean): Whether card tokens are permitted as stored payment methods for billed merchants.  Treated as `true` by callers when null on legacy documents. (nullable)
  - `allowAchPayments` (boolean): Whether ACH tokens are permitted as stored payment methods for billed merchants.  Treated as `true` by callers when null on legacy documents, matching  `allowCardPayments`: both are read permissively, rejecting only an explicit  `false`. (nullable)
- `processingDefaults` ([ResellerProcessingDefaults](https://devportal.demo.winkpg.io/docs/api/models/ResellerProcessingDefaults.md)): Gets or sets the portfolio-wide processing defaults applied to merchants under this reseller  that have left the matching merchant-level setting unset. `null` when the reseller sets  no defaults.
  Fields:
  - `enableCreateIdempotency` (boolean): Default for `Merchant.Processing.EnableCreateIdempotency`, applied to every merchant under  this reseller that has left its own value unset. `null` means the reseller sets  no default and an unset merchant runs with create idempotency off, as before. (nullable)
  - `cardAcceptancePolicy` ([CardAcceptancePolicy](https://devportal.demo.winkpg.io/docs/api/models/CardAcceptancePolicy.md)): Default for `Merchant.Processing.CardAcceptancePolicy`, applied to every merchant under  this reseller that has no policy of its own. `null` means the reseller sets no  default and a merchant without a policy accepts every card, as before. Conditional: When CardAcceptancePolicy is not null.
- `isTest` (boolean)
- `legacyNumber` (integer(int64)): Gets the reseller's legacy numeric key, the integer identifier the v1 API addresses resellers  by (its `ResellerKey`). Server-owned and stamped once at create; null on resellers written  before the field existed until the v1 data migration back-fills them. (nullable)
- `notes` (array<[EntityNote](https://devportal.demo.winkpg.io/docs/api/models/EntityNote.md)>): Gets or sets operational notes attached to the reseller. (nullable)
  Fields of each item:
  - `id` (string(uuid))
  - `enteredBy` (string(uuid))
  - `timestamp` (string(date-time))
  - `enteredByName` (string): Denormalized display name of the user who created the note.  Populated at creation time from `ICurrentUser` to avoid N+1 lookups when rendering. (nullable)
  - `content` (string): (nullable, min length 0, max length 1000)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
