# 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.signapay-sbx.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.signapay-sbx.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.signapay-sbx.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.signapay-sbx.winkpg.io/docs/api/models/AddressInputModel.md)>) required: (nullable)
- `businessInfo` ([ResellerBusinessInfo](https://devportal.signapay-sbx.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.signapay-sbx.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.signapay-sbx.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.signapay-sbx.winkpg.io/docs/api/models/BrandingFavIcons.md)): Gets or sets the favicon and icon URLs for the reseller's branding.
- `billingPreferences` ([ResellerBillingPreferences](https://devportal.signapay-sbx.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): Retired: no billing run reads it and no screen edits it. A recurring-contract merchant is charged by its contract, and an invoiced merchant pays its invoice. The property stays so a stored value still reads back, and the collection configuration copy carries it, but the billing setup wizard writes a fresh preferences object and leaves it null. (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.signapay-sbx.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.signapay-sbx.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)
  - `allowUnreferencedCredits` (boolean): Default for `Merchant.Processing.AllowUnreferencedCredits`, applied to every merchant under this reseller that has left its own value unset. `false` refuses a Return that names no original transaction for every such merchant. `null` means the reseller sets no default and an unset merchant accepts unreferenced credits, as before. (nullable)
  - `allowCashback` (boolean): Default for `Merchant.Processing.AllowCashback`, applied to every merchant under this reseller that has left its own value unset. `false` refuses a new transaction carrying a purchase cash-back amount for every such merchant. `null` means the reseller sets no default and an unset merchant accepts cash back, as before. (nullable)
  - `cardAcceptancePolicy` ([CardAcceptancePolicy](https://devportal.signapay-sbx.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.signapay-sbx.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.signapay-sbx.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
