- 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 ( | 
discountType 
 enum (  
 DiscountType 
 
)
Type of the discount.
discount_value 
. Specifies the contribution of this discount component to the total discount. discount_value 
can be only one of the following:discountPercentage 
 number 
Discount percentage, represented as decimal. For example, a 20% discount will be represented as 0.2.
discountAbsolute 
 object (  
 Money 
 
)
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. | 

