# Models

## The BusinessPricingPlan object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"BusinessPricingPlan":{"type":"object","properties":{"pricingFees":{"type":"array","items":{"$ref":"#/components/schemas/PlanFee"},"description":"The set of pricing fees which will be applied to this merchant.","nullable":true},"pricingPlanID":{"type":"integer","description":"The identifier for this pricing plan.","format":"int32"},"pricingPlanTemplateID":{"type":"integer","description":"The id of the pricing template that should be used to validate this pricing plan.\r\nThese are assigned at the partner level and will be provided by your integration specialist.","format":"int32"},"merchantNumber":{"type":"string","description":"The identifier for the merchant.","nullable":true},"discountQualificationRangeID":{"type":"integer","description":"This value will be provided by your integration specialist.","format":"int32","nullable":true},"signatureDebitDiscountQualificationRangeID":{"type":"integer","description":"This value will be provided by your integration specialist.","format":"int32","nullable":true},"pricingTypeCode":{"type":"string","description":"This value will be provided by your integration specialist."},"isAdvancedPricing":{"type":"boolean","description":"This value will be provided by your integration specialist."},"isEMF":{"type":"boolean","description":"Enrolls the merchant in  Xplor Pay’s EMF (Express Merchant Funding) program, giving them next-business-day funding of batches submitted prior to 11:00 p.m. Eastern Time."},"isDailySettle":{"type":"boolean","description":"Governs the settlement of transaction fees: If IsDailySettle is set to true, fees will be deducted from the merchant's daily deposit. If IsDailySettle is set to false, fees will be deducted from the merchant's bank account at the end of the month (Note: a Month End Billing Option fee may apply to transactions that have fees settled monthly)."},"includeAssessments":{"type":"boolean","description":"Governs the billing of certain card brand fees including but not limited to: Assessments, Foreign Card Fees, Authorization Fees (e.g. NABU, APF), Visa Fees (TIF, FANF, ZFL, Auth Misuse), and Network Fees. \r\nAs a general guideline: This should be set to false if the merchant is on a flat-rate or two-tier pricing plan, as the Discount Rate (or Card-Present/Card-Not-Present Transaction Fees) is set high enough to cover these items. \r\nThis should be set to true if the merchant is on a Tiered pricing plan, as the Discount Rate is set to cover Interchange, but not these other fees. \r\nThis should not be available in the template for IC Plus pricing plans, as it must be set to \"\"Y\"\" and not left to the client's discretion."},"effectiveStartDateTimeUTC":{"type":"string","description":"The pricing plan will become active starting with this date.","format":"date-time","nullable":true},"effectiveEndDateTimeUTC":{"type":"string","description":"The pricing plan will remain active up to this date.","format":"date-time","nullable":true}},"additionalProperties":false},"PlanFee":{"type":"object","properties":{"clearentPricingFeeID":{"type":"integer","description":"The identifier for this pricing fee.","format":"int32"},"pricingFeeDescription":{"type":"string","description":"A description of the pricing fee.\r\nNot required when creating or updating pricing fee.","nullable":true},"rate":{"type":"number","description":"Used to indicate a percentage of the transaction amount that will be applied as a fee on each transaction of this type.","format":"double","nullable":true},"fee":{"type":"number","description":"Used to indicate an amount that will be applied as a fee on each transaction of this type. \r\nFor non-transactional fees, these fees may be applied on a monthly, semi-annual, or annual basis.","format":"double","nullable":true},"payInMonth1":{"type":"integer","description":"Used to indicate the month in which annual fees should be billed or the first month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true},"payInMonth2":{"type":"integer","description":"Used to indicate the second month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true}},"additionalProperties":false}}}}
```

## The EligibilityResults object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"EligibilityResults":{"type":"object","properties":{"isEligible":{"type":"boolean","description":"Indicates whether the merchant is eligible to use the specified template."},"inelegibilityReasons":{"type":"array","items":{"type":"string"},"description":"Lists the reasons why the merchant is not eligible.","nullable":true}},"additionalProperties":false}}}}
```

## The EmpowerAttributes object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"EmpowerAttributes":{"type":"object","properties":{"isEligibleForValidation":{"type":"boolean","description":"Indicates whether the merchant is eligible for Empower validation."},"isEmpower":{"type":"boolean","description":"Specifies if the merchant is enrolled in the Empower program."},"surchargeMin":{"type":"number","description":"The minimum surcharge value allowed for the merchant.","format":"double","nullable":true},"surchargeMax":{"type":"number","description":"The maximum surcharge value allowed for the merchant.","format":"double","nullable":true},"surchargeIsRate":{"type":"boolean","description":"Indicates if the surcharge is applied as a rate rather than a fixed amount."},"empowerProgram":{"type":"string","description":"The name of the Empower program the merchant is associated with.","nullable":true},"isEmf":{"type":"boolean","description":"Specifies if the merchant is part of the EMF."}},"additionalProperties":false}}}}
```

## The PayInMonth object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PayInMonth":{"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier for the pay-in-month option.","format":"int32"},"description":{"type":"string","description":"The textual description of the pay-in-month option.","nullable":true}},"additionalProperties":false}}}}
```

## The PayInMonthCollection object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PayInMonthCollection":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PayInMonth"},"description":"A collection of Pay in Month values.","nullable":true}},"additionalProperties":false},"PayInMonth":{"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier for the pay-in-month option.","format":"int32"},"description":{"type":"string","description":"The textual description of the pay-in-month option.","nullable":true}},"additionalProperties":false}}}}
```

## The PlanFee object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PlanFee":{"type":"object","properties":{"clearentPricingFeeID":{"type":"integer","description":"The identifier for this pricing fee.","format":"int32"},"pricingFeeDescription":{"type":"string","description":"A description of the pricing fee.\r\nNot required when creating or updating pricing fee.","nullable":true},"rate":{"type":"number","description":"Used to indicate a percentage of the transaction amount that will be applied as a fee on each transaction of this type.","format":"double","nullable":true},"fee":{"type":"number","description":"Used to indicate an amount that will be applied as a fee on each transaction of this type. \r\nFor non-transactional fees, these fees may be applied on a monthly, semi-annual, or annual basis.","format":"double","nullable":true},"payInMonth1":{"type":"integer","description":"Used to indicate the month in which annual fees should be billed or the first month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true},"payInMonth2":{"type":"integer","description":"Used to indicate the second month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true}},"additionalProperties":false}}}}
```

## The PricingPlanCollection object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PricingPlanCollection":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/BusinessPricingPlan"},"nullable":true}},"additionalProperties":false},"BusinessPricingPlan":{"type":"object","properties":{"pricingFees":{"type":"array","items":{"$ref":"#/components/schemas/PlanFee"},"description":"The set of pricing fees which will be applied to this merchant.","nullable":true},"pricingPlanID":{"type":"integer","description":"The identifier for this pricing plan.","format":"int32"},"pricingPlanTemplateID":{"type":"integer","description":"The id of the pricing template that should be used to validate this pricing plan.\r\nThese are assigned at the partner level and will be provided by your integration specialist.","format":"int32"},"merchantNumber":{"type":"string","description":"The identifier for the merchant.","nullable":true},"discountQualificationRangeID":{"type":"integer","description":"This value will be provided by your integration specialist.","format":"int32","nullable":true},"signatureDebitDiscountQualificationRangeID":{"type":"integer","description":"This value will be provided by your integration specialist.","format":"int32","nullable":true},"pricingTypeCode":{"type":"string","description":"This value will be provided by your integration specialist."},"isAdvancedPricing":{"type":"boolean","description":"This value will be provided by your integration specialist."},"isEMF":{"type":"boolean","description":"Enrolls the merchant in  Xplor Pay’s EMF (Express Merchant Funding) program, giving them next-business-day funding of batches submitted prior to 11:00 p.m. Eastern Time."},"isDailySettle":{"type":"boolean","description":"Governs the settlement of transaction fees: If IsDailySettle is set to true, fees will be deducted from the merchant's daily deposit. If IsDailySettle is set to false, fees will be deducted from the merchant's bank account at the end of the month (Note: a Month End Billing Option fee may apply to transactions that have fees settled monthly)."},"includeAssessments":{"type":"boolean","description":"Governs the billing of certain card brand fees including but not limited to: Assessments, Foreign Card Fees, Authorization Fees (e.g. NABU, APF), Visa Fees (TIF, FANF, ZFL, Auth Misuse), and Network Fees. \r\nAs a general guideline: This should be set to false if the merchant is on a flat-rate or two-tier pricing plan, as the Discount Rate (or Card-Present/Card-Not-Present Transaction Fees) is set high enough to cover these items. \r\nThis should be set to true if the merchant is on a Tiered pricing plan, as the Discount Rate is set to cover Interchange, but not these other fees. \r\nThis should not be available in the template for IC Plus pricing plans, as it must be set to \"\"Y\"\" and not left to the client's discretion."},"effectiveStartDateTimeUTC":{"type":"string","description":"The pricing plan will become active starting with this date.","format":"date-time","nullable":true},"effectiveEndDateTimeUTC":{"type":"string","description":"The pricing plan will remain active up to this date.","format":"date-time","nullable":true}},"additionalProperties":false},"PlanFee":{"type":"object","properties":{"clearentPricingFeeID":{"type":"integer","description":"The identifier for this pricing fee.","format":"int32"},"pricingFeeDescription":{"type":"string","description":"A description of the pricing fee.\r\nNot required when creating or updating pricing fee.","nullable":true},"rate":{"type":"number","description":"Used to indicate a percentage of the transaction amount that will be applied as a fee on each transaction of this type.","format":"double","nullable":true},"fee":{"type":"number","description":"Used to indicate an amount that will be applied as a fee on each transaction of this type. \r\nFor non-transactional fees, these fees may be applied on a monthly, semi-annual, or annual basis.","format":"double","nullable":true},"payInMonth1":{"type":"integer","description":"Used to indicate the month in which annual fees should be billed or the first month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true},"payInMonth2":{"type":"integer","description":"Used to indicate the second month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true}},"additionalProperties":false}}}}
```

## The PricingPlanDisplayType object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PricingPlanDisplayType":{"type":"object","properties":{"templateDisplayTypeID":{"type":"integer","description":"Unique identifier for the display type template.","format":"int32"},"displayTypeCode":{"type":"string","description":"The primary code that represents the display type.","nullable":true},"displaySubTypeCode":{"type":"string","description":"The subtype associated with the display type.","nullable":true}},"additionalProperties":false}}}}
```

## The PricingPlanDisplayTypeCollection object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PricingPlanDisplayTypeCollection":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PricingPlanDisplayType"},"description":"A collection of display type code values.","nullable":true}},"additionalProperties":false},"PricingPlanDisplayType":{"type":"object","properties":{"templateDisplayTypeID":{"type":"integer","description":"Unique identifier for the display type template.","format":"int32"},"displayTypeCode":{"type":"string","description":"The primary code that represents the display type.","nullable":true},"displaySubTypeCode":{"type":"string","description":"The subtype associated with the display type.","nullable":true}},"additionalProperties":false}}}}
```

## The PricingPlanError object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PricingPlanError":{"type":"object","properties":{"errorMessage":{"type":"string","description":"A human-readable message describing the error.","nullable":true},"resultCode":{"type":"integer","description":"Result code representing the type of error.","format":"int32"},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the error occurred.","format":"date-time","readOnly":true},"fieldPath":{"type":"array","items":{"type":"string"},"description":"The field(s) in the request that caused the error","nullable":true},"pricingFeeIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"IDs of pricing fee(s) related to the error.","nullable":true}},"additionalProperties":false}}}}
```

## The PricingPlanErrorResults object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PricingPlanErrorResults":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/PricingPlanError"},"description":"A list of errors returned.","nullable":true},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the response was generated.","format":"date-time","readOnly":true}},"additionalProperties":false},"PricingPlanError":{"type":"object","properties":{"errorMessage":{"type":"string","description":"A human-readable message describing the error.","nullable":true},"resultCode":{"type":"integer","description":"Result code representing the type of error.","format":"int32"},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the error occurred.","format":"date-time","readOnly":true},"fieldPath":{"type":"array","items":{"type":"string"},"description":"The field(s) in the request that caused the error","nullable":true},"pricingFeeIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"IDs of pricing fee(s) related to the error.","nullable":true}},"additionalProperties":false}}}}
```

## The PricingTemplateAttribute object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PricingTemplateAttribute":{"type":"object","properties":{"name":{"type":"string","description":"Attribute name associated with the template.","nullable":true},"value":{"type":"string","description":"Value of the attribute.","nullable":true},"type":{"type":"string","description":"Data type of the attribute.","nullable":true}},"additionalProperties":false,"description":"Attributes object."}}}}
```

## The PricingTemplateFeeViewModel object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PricingTemplateFeeViewModel":{"type":"object","properties":{"clearentPricingFeeID":{"type":"integer","description":"The numeric identifier for a particular pricing fee in our system. This is the value that you will use to programmatically identify a particular pricing fee. You will see some negative fees in the system. Those simply indicate fees where we are doing some mapping behind the scene.","format":"int32"},"clearentPricingFeeDescription":{"type":"string","description":"The name of the pricing fee within our system.","nullable":true},"isEditable":{"type":"boolean","description":"Indicates whether a pricing fee is editable. \r\nIn Hosted Merchant Onboarding, we disable the textbox if it is not editable.","nullable":true},"isRequired":{"type":"boolean","description":"Indicates whether a pricing fee is required. \r\nIn Hosted Merchant Onboarding, we show a red box around fees that are required but not set."},"isVisible":{"type":"boolean","description":"Indicates whether a pricing fee should be visible. \r\nMainly used for partners who want to reduce the number of fields their sales teams see during the onboarding process. \r\nIn Hosted Merchant Onboarding, we hide the textbox if it is this is set to true. \r\nNote: If there are default values set here, they would still be shown to the merchant during the signing process."},"isFee":{"type":"boolean","description":"Indicates whether a pricing fee is charged per item. \r\nIn Hosted Merchant Onboarding, we display a text box with a $ symbol when isFee is true."},"isRate":{"type":"boolean","description":"Indicates whether a pricing fee is charged as a percentage. \r\nIn Hosted Merchant Onboarding, we display a text box with a % symbol when isRate is true."},"isPayInMonthRequired1":{"type":"boolean","description":"Indicates whether a fee is charged in a particular month of the year. \r\nThis is used for annual fees to indicate when the merchant should be charged. \r\nIn Hosted Merchant Onboarding, we display a dropdown where you can select the month that the fee will be charged when this is true."},"isPayInMonthRequired2":{"type":"boolean","description":"Indicates whether a fee is charged in an additional month each year. \r\nIf this is true, then isPayInMonth1Required will also be true. This is used for semi-annual fees where the merchant is charged in two different months. \r\nIn Hosted Merchant Onboarding, we display a second dropdown where you can select the month that the fee will be charged when this is true."},"defaultRate":{"type":"number","description":"A suggested value for a rate. \r\nIn our frontend, we prepopulate the fields with these values.","format":"double","nullable":true},"minRate":{"type":"number","description":"The minimum value that can be set for a particular rate. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a minimum of 0% will be enforced.","format":"double","nullable":true},"maxRate":{"type":"number","description":"The maximum value that can be set for a particular rate. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a maximum of 100% will be enforced.","format":"double","nullable":true},"defaultFee":{"type":"number","description":"A suggested value for a fee. In our frontend, we prepopulate the fields with these values.","format":"double","nullable":true},"minFee":{"type":"number","description":"The minimum value that can be set for a particular fee. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a minimum of 0 will be enforced.","format":"double","nullable":true},"maxFee":{"type":"number","description":"The maximum value that can be set for a particular fee. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a maximum of 0 will be enforced.","format":"double","nullable":true},"rateLabel":{"type":"string","description":"A label that can be shown above the rate text box. We only set this value when we want a different name to be displayed above the rate component. When it is not set, the clearentPricingFeeDescription should be displayed.","nullable":true},"feeLabel":{"type":"string","description":"A label that can be shown above the fee text box. We only set this value when we want a different name to be displayed above the fee component. When it is not set, the clearentPricingFeeDescription should be displayed.","nullable":true}},"additionalProperties":false}}}}
```

## The PricingTemplateSettingViewModel object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PricingTemplateSettingViewModel":{"type":"object","properties":{"pricingPlanSettingID":{"type":"integer","description":"Unique identifier for the pricing plan setting.","format":"int32"},"settingName":{"type":"string","description":"Name of the pricing setting.","nullable":true},"description":{"type":"string","description":"Description of the setting and its purpose.","nullable":true},"isVisible":{"type":"boolean","description":"Indicates whether the setting is visible to users."},"isEditable":{"type":"boolean","description":"Indicates whether the setting can be modified."},"defaultValue":{"type":"boolean","description":"Default value assigned to the setting"}},"additionalProperties":false}}}}
```

## The PricingTemplateViewModel object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PricingTemplateViewModel":{"type":"object","properties":{"pricingPlanTemplateID":{"type":"integer","description":"Unique identifier of the pricing plan template.","format":"int32"},"hierarchyNodeKey":{"type":"string","description":"Key that identifies the organizational hierarchy node associated with the template.","nullable":true},"templateName":{"type":"string","description":"Name of the pricing plan template.","nullable":true},"pricingTypeCode":{"type":"string","description":"Code that specifies the pricing type"},"isAdvancedPricing":{"type":"boolean","description":"Indicates whether the template supports advanced pricing."},"isDefaultTemplate":{"type":"boolean","description":"Indicates whether this template is the default option for the merchant."},"isDisabled":{"type":"boolean","description":"Indicates whether the template is currently disabled."},"templateFees":{"type":"array","items":{"$ref":"#/components/schemas/PricingTemplateFeeViewModel"},"description":"Indicates the fee details for each pricing plan template.","nullable":true},"templateSettings":{"type":"array","items":{"$ref":"#/components/schemas/PricingTemplateSettingViewModel"},"nullable":true},"attributes":{"type":"array","items":{"$ref":"#/components/schemas/PricingTemplateAttribute"},"nullable":true}},"additionalProperties":false},"PricingTemplateFeeViewModel":{"type":"object","properties":{"clearentPricingFeeID":{"type":"integer","description":"The numeric identifier for a particular pricing fee in our system. This is the value that you will use to programmatically identify a particular pricing fee. You will see some negative fees in the system. Those simply indicate fees where we are doing some mapping behind the scene.","format":"int32"},"clearentPricingFeeDescription":{"type":"string","description":"The name of the pricing fee within our system.","nullable":true},"isEditable":{"type":"boolean","description":"Indicates whether a pricing fee is editable. \r\nIn Hosted Merchant Onboarding, we disable the textbox if it is not editable.","nullable":true},"isRequired":{"type":"boolean","description":"Indicates whether a pricing fee is required. \r\nIn Hosted Merchant Onboarding, we show a red box around fees that are required but not set."},"isVisible":{"type":"boolean","description":"Indicates whether a pricing fee should be visible. \r\nMainly used for partners who want to reduce the number of fields their sales teams see during the onboarding process. \r\nIn Hosted Merchant Onboarding, we hide the textbox if it is this is set to true. \r\nNote: If there are default values set here, they would still be shown to the merchant during the signing process."},"isFee":{"type":"boolean","description":"Indicates whether a pricing fee is charged per item. \r\nIn Hosted Merchant Onboarding, we display a text box with a $ symbol when isFee is true."},"isRate":{"type":"boolean","description":"Indicates whether a pricing fee is charged as a percentage. \r\nIn Hosted Merchant Onboarding, we display a text box with a % symbol when isRate is true."},"isPayInMonthRequired1":{"type":"boolean","description":"Indicates whether a fee is charged in a particular month of the year. \r\nThis is used for annual fees to indicate when the merchant should be charged. \r\nIn Hosted Merchant Onboarding, we display a dropdown where you can select the month that the fee will be charged when this is true."},"isPayInMonthRequired2":{"type":"boolean","description":"Indicates whether a fee is charged in an additional month each year. \r\nIf this is true, then isPayInMonth1Required will also be true. This is used for semi-annual fees where the merchant is charged in two different months. \r\nIn Hosted Merchant Onboarding, we display a second dropdown where you can select the month that the fee will be charged when this is true."},"defaultRate":{"type":"number","description":"A suggested value for a rate. \r\nIn our frontend, we prepopulate the fields with these values.","format":"double","nullable":true},"minRate":{"type":"number","description":"The minimum value that can be set for a particular rate. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a minimum of 0% will be enforced.","format":"double","nullable":true},"maxRate":{"type":"number","description":"The maximum value that can be set for a particular rate. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a maximum of 100% will be enforced.","format":"double","nullable":true},"defaultFee":{"type":"number","description":"A suggested value for a fee. In our frontend, we prepopulate the fields with these values.","format":"double","nullable":true},"minFee":{"type":"number","description":"The minimum value that can be set for a particular fee. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a minimum of 0 will be enforced.","format":"double","nullable":true},"maxFee":{"type":"number","description":"The maximum value that can be set for a particular fee. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a maximum of 0 will be enforced.","format":"double","nullable":true},"rateLabel":{"type":"string","description":"A label that can be shown above the rate text box. We only set this value when we want a different name to be displayed above the rate component. When it is not set, the clearentPricingFeeDescription should be displayed.","nullable":true},"feeLabel":{"type":"string","description":"A label that can be shown above the fee text box. We only set this value when we want a different name to be displayed above the fee component. When it is not set, the clearentPricingFeeDescription should be displayed.","nullable":true}},"additionalProperties":false},"PricingTemplateSettingViewModel":{"type":"object","properties":{"pricingPlanSettingID":{"type":"integer","description":"Unique identifier for the pricing plan setting.","format":"int32"},"settingName":{"type":"string","description":"Name of the pricing setting.","nullable":true},"description":{"type":"string","description":"Description of the setting and its purpose.","nullable":true},"isVisible":{"type":"boolean","description":"Indicates whether the setting is visible to users."},"isEditable":{"type":"boolean","description":"Indicates whether the setting can be modified."},"defaultValue":{"type":"boolean","description":"Default value assigned to the setting"}},"additionalProperties":false},"PricingTemplateAttribute":{"type":"object","properties":{"name":{"type":"string","description":"Attribute name associated with the template.","nullable":true},"value":{"type":"string","description":"Value of the attribute.","nullable":true},"type":{"type":"string","description":"Data type of the attribute.","nullable":true}},"additionalProperties":false,"description":"Attributes object."}}}}
```

## The PricingTemplateViewModelListResponseWrapper object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"PricingTemplateViewModelListResponseWrapper":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PricingTemplateViewModel"},"description":"A list of available pricing plan templates.","nullable":true}},"additionalProperties":false},"PricingTemplateViewModel":{"type":"object","properties":{"pricingPlanTemplateID":{"type":"integer","description":"Unique identifier of the pricing plan template.","format":"int32"},"hierarchyNodeKey":{"type":"string","description":"Key that identifies the organizational hierarchy node associated with the template.","nullable":true},"templateName":{"type":"string","description":"Name of the pricing plan template.","nullable":true},"pricingTypeCode":{"type":"string","description":"Code that specifies the pricing type"},"isAdvancedPricing":{"type":"boolean","description":"Indicates whether the template supports advanced pricing."},"isDefaultTemplate":{"type":"boolean","description":"Indicates whether this template is the default option for the merchant."},"isDisabled":{"type":"boolean","description":"Indicates whether the template is currently disabled."},"templateFees":{"type":"array","items":{"$ref":"#/components/schemas/PricingTemplateFeeViewModel"},"description":"Indicates the fee details for each pricing plan template.","nullable":true},"templateSettings":{"type":"array","items":{"$ref":"#/components/schemas/PricingTemplateSettingViewModel"},"nullable":true},"attributes":{"type":"array","items":{"$ref":"#/components/schemas/PricingTemplateAttribute"},"nullable":true}},"additionalProperties":false},"PricingTemplateFeeViewModel":{"type":"object","properties":{"clearentPricingFeeID":{"type":"integer","description":"The numeric identifier for a particular pricing fee in our system. This is the value that you will use to programmatically identify a particular pricing fee. You will see some negative fees in the system. Those simply indicate fees where we are doing some mapping behind the scene.","format":"int32"},"clearentPricingFeeDescription":{"type":"string","description":"The name of the pricing fee within our system.","nullable":true},"isEditable":{"type":"boolean","description":"Indicates whether a pricing fee is editable. \r\nIn Hosted Merchant Onboarding, we disable the textbox if it is not editable.","nullable":true},"isRequired":{"type":"boolean","description":"Indicates whether a pricing fee is required. \r\nIn Hosted Merchant Onboarding, we show a red box around fees that are required but not set."},"isVisible":{"type":"boolean","description":"Indicates whether a pricing fee should be visible. \r\nMainly used for partners who want to reduce the number of fields their sales teams see during the onboarding process. \r\nIn Hosted Merchant Onboarding, we hide the textbox if it is this is set to true. \r\nNote: If there are default values set here, they would still be shown to the merchant during the signing process."},"isFee":{"type":"boolean","description":"Indicates whether a pricing fee is charged per item. \r\nIn Hosted Merchant Onboarding, we display a text box with a $ symbol when isFee is true."},"isRate":{"type":"boolean","description":"Indicates whether a pricing fee is charged as a percentage. \r\nIn Hosted Merchant Onboarding, we display a text box with a % symbol when isRate is true."},"isPayInMonthRequired1":{"type":"boolean","description":"Indicates whether a fee is charged in a particular month of the year. \r\nThis is used for annual fees to indicate when the merchant should be charged. \r\nIn Hosted Merchant Onboarding, we display a dropdown where you can select the month that the fee will be charged when this is true."},"isPayInMonthRequired2":{"type":"boolean","description":"Indicates whether a fee is charged in an additional month each year. \r\nIf this is true, then isPayInMonth1Required will also be true. This is used for semi-annual fees where the merchant is charged in two different months. \r\nIn Hosted Merchant Onboarding, we display a second dropdown where you can select the month that the fee will be charged when this is true."},"defaultRate":{"type":"number","description":"A suggested value for a rate. \r\nIn our frontend, we prepopulate the fields with these values.","format":"double","nullable":true},"minRate":{"type":"number","description":"The minimum value that can be set for a particular rate. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a minimum of 0% will be enforced.","format":"double","nullable":true},"maxRate":{"type":"number","description":"The maximum value that can be set for a particular rate. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a maximum of 100% will be enforced.","format":"double","nullable":true},"defaultFee":{"type":"number","description":"A suggested value for a fee. In our frontend, we prepopulate the fields with these values.","format":"double","nullable":true},"minFee":{"type":"number","description":"The minimum value that can be set for a particular fee. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a minimum of 0 will be enforced.","format":"double","nullable":true},"maxFee":{"type":"number","description":"The maximum value that can be set for a particular fee. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a maximum of 0 will be enforced.","format":"double","nullable":true},"rateLabel":{"type":"string","description":"A label that can be shown above the rate text box. We only set this value when we want a different name to be displayed above the rate component. When it is not set, the clearentPricingFeeDescription should be displayed.","nullable":true},"feeLabel":{"type":"string","description":"A label that can be shown above the fee text box. We only set this value when we want a different name to be displayed above the fee component. When it is not set, the clearentPricingFeeDescription should be displayed.","nullable":true}},"additionalProperties":false},"PricingTemplateSettingViewModel":{"type":"object","properties":{"pricingPlanSettingID":{"type":"integer","description":"Unique identifier for the pricing plan setting.","format":"int32"},"settingName":{"type":"string","description":"Name of the pricing setting.","nullable":true},"description":{"type":"string","description":"Description of the setting and its purpose.","nullable":true},"isVisible":{"type":"boolean","description":"Indicates whether the setting is visible to users."},"isEditable":{"type":"boolean","description":"Indicates whether the setting can be modified."},"defaultValue":{"type":"boolean","description":"Default value assigned to the setting"}},"additionalProperties":false},"PricingTemplateAttribute":{"type":"object","properties":{"name":{"type":"string","description":"Attribute name associated with the template.","nullable":true},"value":{"type":"string","description":"Value of the attribute.","nullable":true},"type":{"type":"string","description":"Data type of the attribute.","nullable":true}},"additionalProperties":false,"description":"Attributes object."}}}}
```

## The ProblemDetails object

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"components":{"schemas":{"ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}}}
```
