- JSON representation
 - Plan
 - PaymentType
 - Constraints
 - CustomerConstraints
 - PromotionalOrderType
 - PriceByResource
 - ResourceType
 - Price
 - DiscountComponent
 - DiscountType
 - PricePhase
 - PriceTier
 - ParameterDefinition
 - ParameterType
 
Represents an offer made to resellers for purchase. An offer is associated with a Sku, has a plan for payment, a price, and defines the constraints for buying.
| JSON representation | 
|---|
{ "name": string, "marketingInfo": { object (  | 
            
| Fields | |
|---|---|
name | 
              
                 
 Resource Name of the Offer. Format: accounts/{account_id}/offers/{offer_id}  | 
            
marketingInfo | 
              
                 
 Marketing information for the Offer.  | 
            
sku | 
              
                 
 SKU the offer is associated with.  | 
            
plan | 
              
                 
 Describes the payment plan for the Offer.  | 
            
constraints | 
              
                 
 Constraints on transacting the Offer.  | 
            
priceByResources[] | 
              
                 
 Price for each monetizable resource type.  | 
            
startTime | 
              
                 
 Start of the Offer validity time. Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples:   | 
            
endTime | 
              
                 
 Output only. End of the Offer validity time. Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples:   | 
            
parameterDefinitions[] | 
              
                 
 Parameters required to use current Offer to purchase.  | 
            
dealCode | 
              
                 
 The deal code of the offer to get a special promotion or discount.  | 
            
Plan
The payment plan for the Offer. Describes how to make a payment.
| JSON representation | 
|---|
{ "paymentPlan": enum (  | 
              
| Fields | |
|---|---|
paymentPlan | 
                
                   
 Describes how a reseller will be billed.  | 
              
paymentType | 
                
                   
 Specifies when the payment needs to happen.  | 
              
paymentCycle | 
                
                   
 Describes how frequently the reseller will be billed, such as once per month.  | 
              
trialPeriod | 
                
                   
 Present for Offers with a trial period. For trial-only Offers, a paid service needs to start before the trial period ends for continued service. For Regular Offers with a trial period, the regular pricing goes into effect when trial period ends, or if paid service is started before the end of the trial period.  | 
              
billingAccount | 
                
                   
 Reseller Billing account to charge after an offer transaction. Only present for Google Cloud offers.  | 
              
PaymentType
Specifies when the payment needs to happen.
| Enums | |
|---|---|
PAYMENT_TYPE_UNSPECIFIED | 
                Not used. | 
PREPAY | 
                Prepay. Amount has to be paid before service is rendered. | 
POSTPAY | 
                Postpay. Reseller is charged at the end of the Payment cycle. | 
Constraints
Represents the constraints for buying the Offer.
| JSON representation | 
|---|
{
  "customerConstraints": {
    object ( | 
              
| Fields | |
|---|---|
customerConstraints | 
                
                   
 Represents constraints required to purchase the Offer for a customer.  | 
              
CustomerConstraints
Represents constraints required to purchase the Offer for a customer.
| JSON representation | 
|---|
{ "allowedRegions": [ string ], "allowedCustomerTypes": [ enum (  | 
              
| Fields | |
|---|---|
allowedRegions[] | 
                
                   
 Allowed geographical regions of the customer.  | 
              
allowedCustomerTypes[] | 
                
                   
 Allowed Customer Type.  | 
              
promotionalOrderTypes[] | 
                
                   
 Allowed Promotional Order Type. Present for Promotional offers.  | 
              
PromotionalOrderType
Constraints type for Promotional offers.
| Enums | |
|---|---|
PROMOTIONAL_TYPE_UNSPECIFIED | 
                Not used. | 
NEW_UPGRADE | 
                Order used for new customers, trial conversions and upgrades. | 
TRANSFER | 
                All orders for transferring an existing customer. | 
PROMOTION_SWITCH | 
                Orders for modifying an existing customer's promotion on the same SKU. | 
PriceByResource
Represents price by resource type.
| JSON representation | 
|---|
{ "resourceType": enum (  | 
              
| Fields | |
|---|---|
resourceType | 
                
                   
 Resource Type. Example: SEAT  | 
              
price | 
                
                   
 Price of the Offer. Present if there are no price phases.  | 
              
pricePhases[] | 
                
                   
 Specifies the price by time range.  | 
              
ResourceType
Represents the type for a monetizable resource(any entity on which billing happens). For example, this could be MINUTES for Google Voice and GB for Google Drive. One SKU can map to multiple monetizable resources.
| Enums | |
|---|---|
RESOURCE_TYPE_UNSPECIFIED | 
                Not used. | 
SEAT | 
                Seat. | 
MAU | 
                Monthly active user. | 
GB | 
                GB (used for storage SKUs). | 
LICENSED_USER | 
                Active licensed users(for Voice SKUs). | 
MINUTES | 
                Voice usage. | 
IAAS_USAGE | 
                For IaaS SKUs like Google Cloud, monetization is based on usage accrued on your billing account irrespective of the type of monetizable resource. This enum represents an aggregated resource/container for all usage SKUs on a billing account. Currently, only applicable to Google Cloud. | 
SUBSCRIPTION | 
                For Google Cloud subscriptions like Anthos or SAP. | 
Price
Represents the price of the Offer.
| JSON representation | 
|---|
{ "basePrice": { object (  | 
              
| Fields | |
|---|---|
basePrice | 
                
                   
 Base price.  | 
              
discount | 
                
                   
 Discount percentage, represented as decimal. For example, a 20% discount will be represent as 0.2.  | 
              
effectivePrice | 
                
                   
 Effective Price after applying the discounts.  | 
              
pricePeriod | 
                
                   
 The time period with respect to which base and effective prices are defined. Example: 1 month, 6 months, 1 year, etc.  | 
              
externalPriceUri | 
                
                   
 Link to external price list, such as link to Google Voice rate card.  | 
              
discountComponents[] | 
                
                   
 Breakdown of the discount into its components. This will be empty if there is no discount present.  | 
              
DiscountComponent
Represents a single component of the total discount applicable on a Price.
| JSON representation | 
|---|
{ "discountType": enum (  | 
              
| Fields | |
|---|---|
discountType | 
                
                   
 Type of the discount.  | 
              
Union field discount_value. Specifies the contribution of this discount component to the total discount. discount_value can be only one of the following: | 
              |
discountPercentage | 
                
                   
 Discount percentage, represented as decimal. For example, a 20% discount will be represented as 0.2.  | 
              
discountAbsolute | 
                
                   
 Fixed value discount.  | 
              
DiscountType
Discount Type.
| Enums | |
|---|---|
DISCOUNT_TYPE_UNSPECIFIED | 
                Not used. | 
REGIONAL_DISCOUNT | 
                Regional discount. | 
PROMOTIONAL_DISCOUNT | 
                Promotional discount. | 
SALES_DISCOUNT | 
                Sales-provided discount. | 
RESELLER_MARGIN | 
                Reseller margin. | 
DEAL_CODE | 
                Deal code discount. | 
PricePhase
Specifies the price by the duration of months. For example, a 20% discount for the first six months, then a 10% discount starting on the seventh month.
| JSON representation | 
|---|
{ "periodType": enum (  | 
              
| Fields | |
|---|---|
periodType | 
                
                   
 Defines the phase period type.  | 
              
firstPeriod | 
                
                   
 Defines first period for the phase.  | 
              
lastPeriod | 
                
                   
 Defines first period for the phase.  | 
              
price | 
                
                   
 Price of the phase. Present if there are no price tiers.  | 
              
priceTiers[] | 
                
                   
 Price by the resource tiers.  | 
              
PriceTier
Defines price at resource tier level. For example, an offer with following definition :
- Tier 1: Provide 25% discount for all seats between 1 and 25.
 - Tier 2: Provide 10% discount for all seats between 26 and 100.
 - Tier 3: Provide flat 15% discount for all seats above 100.
 
Each of these tiers is represented as a PriceTier.
| JSON representation | 
|---|
{
  "firstResource": integer,
  "lastResource": integer,
  "price": {
    object ( | 
              
| Fields | |
|---|---|
firstResource | 
                
                   
 First resource for which the tier price applies.  | 
              
lastResource | 
                
                   
 Last resource for which the tier price applies.  | 
              
price | 
                
                   
 Price of the tier.  | 
              
ParameterDefinition
Parameter's definition. Specifies what parameter is required to use the current Offer to purchase.
| JSON representation | 
|---|
{ "name": string, "parameterType": enum (  | 
              
| Fields | |
|---|---|
name | 
                
                   
 Name of the parameter.  | 
              
parameterType | 
                
                   
 Data type of the parameter. Minimal value, Maximum value and allowed values will use specified data type here.  | 
              
minValue | 
                
                   
 Minimal value of the parameter, if applicable. Inclusive. For example, minimal commitment when purchasing Anthos is 0.01. Applicable to INT64 and DOUBLE parameter types.  | 
              
maxValue | 
                
                   
 Maximum value of the parameter, if applicable. Inclusive. For example, maximum seats when purchasing Google Workspace Business Standard. Applicable to INT64 and DOUBLE parameter types.  | 
              
allowedValues[] | 
                
                   
 If not empty, parameter values must be drawn from this list. For example, [us-west1, us-west2, ...] Applicable to STRING parameter type.  | 
              
optional | 
                
                   
 If set to true, parameter is optional to purchase this Offer.  | 
              
ParameterType
Data type of the parameter.
| Enums | |
|---|---|
PARAMETER_TYPE_UNSPECIFIED | 
                Not used. | 
INT64 | 
                Int64 type. | 
STRING | 
                String type. | 
DOUBLE | 
                Double type. | 
BOOLEAN | 
                Boolean type. |