Send Docs Feedback

Create future rate plans

Introduction

After an existing rate plan is published, the only property you can change is its end date. However, you can create a new version of the plan that includes changed properties, such as changed rate plan rates. You can set up the revision to go into effect at a future date. The original rate plan ends when the revision goes into effect.

For example, suppose you created a standard rate plan that expires on December 31, 2016 and you want to replace it with another plan that goes into effect on January 1, 2017. To do that, you create a future rate plan and set it up to go into effect on January 1, 2017.

If no end date is set for the current rate plan, you can replace an existing rate plan with a future rate plan that starts as early as today. For information about expiring the current rate plan, see Expire a published rate plan.)

Developers are notified about the revised rate plan. Those developers who accept the original rate plan are automatically registered for the revision (but have the option of rejecting the revision).

You can create a future rate plan using the management UI or monetization API, as described in the following sections.

Creating a future rate plan using the UI

If you want to replace an existing rate plan today, see Expire a published rate plan. Otherwise, if you want to create a future version of a rate plan that starts sometime after today using the UI, perform the following steps.

  1. In the package catalog, click +Future in the Draft/Future column for the rate plan that you want to replace.

    This opens a future Rate Plan window.

    The primary difference between a future rate plan window and a current rate plan window is the addition of an Existing Subscribers section.

  2. As you would for any rate plan:
    • Enter a name for the plan in the Rate Plan Name field. The name does not have to match the name of the original rate plan.
    • Add fees to a rate plan (optional).
    • Add a freemium plan (optional).
    • Configure the revenue model, such as the type of rate plan.
    • Specify a date when the future plan goes into effect (see Managing and publishing rate plans), and an end date (you can also select "No end date" if you don’t want the future rate plan to end on a specific date). If an end date is set for the current plan, then the effective date of the future plan should be after the end date of the current plan.
  3. In the Existing Subscribers section, select either of the following:
    • Restart full contract period on new effective date. The future rate plan goes into effect on the effective date. The renewal term of the future rate plan is the same as for the current rate plan.
    • Deduct the time spent on previous contract from new period, on effective date. The future rate plan goes into effect on the effective date. The time spent using the current rate plan is deducted from the renewal term of the future rate plan. This means that if a developer uses the current plan for 3 months, and the renewal period is reduced by 3 months.
  4. In the Effective Date field, enter a start date that occurs after the end date of the existing rate plan.

Creating a future rate plan using the API

You can create a future rate plan using the API by issuing a POST request to /organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_Id}/revision.

Where:

  • {org_id} is the name of the organization.
  • {package_id} is the identification of the API package.
  • {plan_Id} is the identification of the rate plan.
When you create the revision, you must specify the following properties in the request body:
  • parentRatePlan specifies the ID of the original rate plan.
  • startDate specifies the date that the new plan takes effect.

The name of the future rate plan does not have to match the name of the original plan. If you want to keep the original start date recorded for the developers, set the keepOriginalStartDate flag to true. This flag defaults to false.

For more information about the configuration settings, see Configuration settings for rate plans.

For example, the following request creates a future rate plan:

$ curl -H "Content-Type:application/json" -X POST -d \
'{ 
     "parentRatePlan": {
       "id": "monetization_package_flat_rate_card_plan_1379513833409"
     },
     "name": "Flat rate card plan",
     "developer":null,
     "developerCategory":null,
     "advance": "false",
     "currency": {
      "id" : "usd"
     },     
     "description": "Flat rate card plan",
     "displayName" : "Flat rate card plan",
     "frequencyDuration": "30",
     "frequencyDurationType": "DAY",
     "earlyTerminationFee": "10",     
     "monetizationPackage": {
      "id": "location"
     },
     "organization": {
      "id": "{org_name}"
     },
     "paymentDueDays": "30",
     "prorate": "false",
     "published": "true",
     "ratePlanDetails": [
     {
      "currency": {
       "id" : "usd"
      },
      "paymentDueDays": "30",      
      "meteringType": "UNIT",
      "organization": {
       "id": "myorg"
      },
      "ratePlanRates": [
       {
        "type": "RATECARD",
        "rate": "0.05",
        "startUnit": "0"       
       }      
      ],     
     "ratingParameter": "VOLUME",
     "type": "RATECARD"
     }],
     "recurringStartUnit": 1,
     "recurringType": "CALENDAR",
     "recurringFee": "10",
     "setUpFee": "10",
     "startDate": "2014-01-01 00:00:00",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans/monetization_package_flat_rate_card_plan_1379513833409/revision" \
-u email:password

Help or comments?