---
schema_version: "1"
id: 903dfc867e87ba5a72dc6a398261bf0585df8448b1a790467de022bd925a26ba
title: ConnectApi.ProductSellingModel
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/apexref/apex_connectapi_output_product_selling_model.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_product_selling_model.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: c18b9df0b5558b206716be2147b0325efa9cb77bd39ef894be6b182cc62fa74d
description: Product selling model for Commerce subscriptions.
---
# ConnectApi.ProductSellingModel

Product selling model for Commerce subscriptions.

<table class="featureTable sort_table" summary="">




          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader vertical-align-top " id="d1172979e47">Property Name</th>

              <th class="featureTableHeader vertical-align-top " id="d1172979e50">Type</th>

              <th class="featureTableHeader vertical-align-top " id="d1172979e53">Description</th>

              <th class="featureTableHeader vertical-align-top " id="d1172979e56">Available Version</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d1172979e47" data-title="Property Name"><samp class="codeph apex_code">description</samp></td>

              <td class="entry" headers="d1172979e50" data-title="Type">String</td>

              <td class="entry" headers="d1172979e53" data-title="Description"><span class="ph" id="description"><a name="description"><!-- --></a>Description of the product selling model displayed on the
                  UI.</span></td>

              <td class="entry" headers="d1172979e56" data-title="Available Version">60.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d1172979e47" data-title="Property Name"><samp class="codeph apex_code">displayName</samp></td>

              <td class="entry" headers="d1172979e50" data-title="Type">String</td>

              <td class="entry" headers="d1172979e53" data-title="Description"><span class="ph" id="displayName"><a name="displayName"><!-- --></a>Name of the product selling model displayed on the
                  UI.</span></td>

              <td class="entry" headers="d1172979e56" data-title="Available Version">60.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d1172979e47" data-title="Property Name"><samp class="codeph apex_code">id</samp></td>

              <td class="entry" headers="d1172979e50" data-title="Type">String</td>

              <td class="entry" headers="d1172979e53" data-title="Description"><span class="ph" id="id"><a name="id"><!-- --></a>ID of the product selling model.</span></td>

              <td class="entry" headers="d1172979e56" data-title="Available Version">56.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d1172979e47" data-title="Property Name"><samp class="codeph apex_code">name</samp></td>

              <td class="entry" headers="d1172979e50" data-title="Type">String</td>

              <td class="entry" headers="d1172979e53" data-title="Description"><span class="ph" id="name"><a name="name"><!-- --></a>Name of the product selling model.</span></td>

              <td class="entry" headers="d1172979e56" data-title="Available Version">56.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d1172979e47" data-title="Property Name"><samp class="codeph apex_code">pricingTerm</samp></td>

              <td class="entry" headers="d1172979e50" data-title="Type">Integer</td>

              <td class="entry" headers="d1172979e53" data-title="Description">
                <span class="ph" id="pricingTerm"><a name="pricingTerm"><!-- --></a>Number of pricing term units in the pricing term. Used
                  with <samp class="codeph nolang">pricingTermUnit</samp> to define the length of
                  the pricing term. For example, if <samp class="codeph nolang">pricingTermUnit</samp> is <samp class="codeph nolang">Months</samp> and
                  this property is 1, the subscription is priced monthly. However, if the <samp class="codeph nolang">sellingModelType</samp> property is set to <samp class="codeph nolang">OneTime</samp>, the <samp class="codeph nolang">pricingTerm</samp> property is empty, because the product isn’t sold as a
                  subscription. The only allowed value for this property is 1.</span>
              </td>

              <td class="entry" headers="d1172979e56" data-title="Available Version">56.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d1172979e47" data-title="Property Name"><samp class="codeph apex_code">pricingTermUnit</samp></td>

              <td class="entry" headers="d1172979e50" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/connectAPI_enums.htm#PricingTermUnitEnum"><samp class="codeph apex_code">ConnectApi.​Pricing​TermUnit</samp></a></td>

              <td class="entry" headers="d1172979e53" data-title="Description">Unit of time used to define a pricing term.
                Value is: <ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">Months</samp>—Product is priced on a monthly basis.
                  </li>
                  <li class="li">
                    <samp class="codeph nolang">Annual</samp>—Product is priced on an annual basis.
                  </li>
                </ul>
                <p class="p" id="pricingTermNote"><a name="pricingTermNote"><!-- --></a>This unit of time is combined with a number (specified by the
                  <samp class="codeph apex_code">pricingTerm</samp> property) to define the full
                  term of the subscription. For example, if the unit of time is
                  <samp class="ph systemoutput">Months</samp> and the <samp class="codeph apex_code">pricingTerm</samp> property is set to 1, the subscription is priced monthly.
                  However, if the <samp class="codeph apex_code">sellingModelType</samp> property
                  is set to <samp class="codeph apex_code">OneTime</samp>, the <samp class="codeph nolang">pricingTermUnit</samp> property is empty, because the
                  product isn’t sold as a subscription.
                </p>
              </td>

              <td class="entry" headers="d1172979e56" data-title="Available Version">56.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d1172979e47" data-title="Property Name"><samp class="codeph apex_code">sellingModelType</samp></td>

              <td class="entry" headers="d1172979e50" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/connectAPI_enums.htm#SellingModelTypeEnum"><samp class="codeph apex_code">ConnectApi.​Selling​ModelType</samp></a></td>

              <td class="entry" headers="d1172979e53" data-title="Description">Type of product selling model. Values are: <ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph apex_code">Evergreen</samp>—A subscription without an end date. An evergreen subscription continues until the shopper affirmatively cancels it.
                  </li>
                  <li class="li">
                    <samp class="codeph apex_code">OneTime</samp>—A product that isn’t sold as a subscription.
                  </li>
                  <li class="li">
                    <samp class="codeph apex_code">TermDefined</samp>—A subscription with a defined end date. The subscription continues for a specified time period. When the term ends, the subscription ends.
                  </li>
                </ul>
              </td>

              <td class="entry" headers="d1172979e56" data-title="Available Version">56.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d1172979e47" data-title="Property Name"><samp class="codeph apex_code">subscriptionTermRule</samp></td>

              <td class="entry" headers="d1172979e50" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_subscription_term_rule.htm" title="Subscription term rules."><samp class="codeph apex_code">ConnectApi.​Subscription​TermRule</samp></a></td>

              <td class="entry" headers="d1172979e53" data-title="Description">Rules for the subscription term.</td>

              <td class="entry" headers="d1172979e56" data-title="Available Version">59.0</td>

            </tr>

          </tbody>

        </table>