Reserved Instances & Orders
On Amberflo, your customers can reserve your services for a set number of billing periods or until canceled. This business model is explained well in Amazon EC2 Reserved Instances.
To create reservation products, choose the Reserved Instances with Overages rate model when creating a pricing plan.
Think of reservation products as resources your customers are leasing from your services. For example, if you are charging your customers on server usage, then you can declare your server instances as reservation products, and your customers can reserve one or multiple of them for a set number of billing periods or until canceled.
After selecting the rate model, choose your meter to create reservation products for.
Once you choose your meter, you can move on to the next section to declare prices for (1) Reservation Products and (2) Overages. Reservation prices can be declared as Per Unit or Dimensions. These are the prices for, in this example, one server instance to be leased by the customer. The customer will pay the declared reservation fee every billing period to own that server instance. Next, in the Overages rates, you will declare what the customer will pay you hourly, if they exceed their subscription limits. Let's say a customer subscribed to 3 server instances and used a 4th server instances for the duration of a day. Then their invoice will have the hourly overage price declared multiplied by 24 hours as an overage.
There are three advanced settings you can configure for your subscription products.
The Default Billing Schedule for the subscription products is to pay for the reservation fee at the beginning of the billing period. However, you can set these charges to be paid on the last day of the billing period as well.
The Proration Rules allow you to choose what happens when a customer reserved your service in the middle of a billing period. Let's say your pricing plan is on a calendar monthly billing period and the customer started their subscription on the 15th day of the month. You can choose to charge them the full amount for the month, or prorate their usage and only charge the remaining 15 days worth of the reservation fee.
Once you configure and activate a pricing plan with the instructions above, it's time for your customers to order some reservations. To begin, your customers should be on the pricing plan created with a Reserved Instances with Overages product item rate model.
With the two above completed, navigate to a Customer page and click on the Orders tab. If the customer has the correct pricing plan, then this tab will show the reservation products available to the customer. Click on the Create Order button on one of the reservation products to proceed to the order creation flow.
The first thing to set in an order is the expiry date. Your customers can reserve your services either for a set number of billing periods or indefinitely (until canceled).
Next, start filling out the Order Items table. This table summarizes the products the customer is reserving. Click on Add Item to open the drawer view. Here, the first step is to set the quantity and choose if the customer is reservong specific resource ID or not. Think of this as renting a hotel room vs. buying tickets to a movie. When renting a hotel room, neither you nor the customer know the room number (resource ID) they will be staying in, they just pay for a room with some preferences. However, when purchasing tickets to a movie, the customer "subscribes" to specific seats (resource IDs) and sits on those when they arrive. As such, if you know which resource (in our example, instanceId) your customer will lease, then check the Order a Specific Resource ID box. Note that this will fix the quantity to 1, as there can only be one resource associated with a resource ID. If you don't know which resource your customer is reserving and would just assign them a resource on the fly, then don't check the box, and type in the quantity they are getting.
Following, select the servive that your customer is reserving. If the reservation product rates on the pricing plan are configured as a Dimensions rate model, then you will be asked to choose which dimension combination your customer is reserving. If it is a Per Unit rate, then you will only have one option to choose from. When done, review the Final Price, and click on Save to add the product to the Order Items table. You can also override the final price if needed.
When you are done with the Order Items table, set the Start Date. If you choose a date in the middle of a billing period, the first charge of the customer will be prorated or not depending on the pricing plan settings. Click on Save to create the reservation order for the customer when you are done with everything.
As your customers are reserving your services, you can review their limits and overages on the Orders tab of the customer page. The graph will show the reserved limit for each service and the used amounts. If the usage exceeds the reservation limits at any time (for example, the customer ordered 3 server instances, but used 4 in a given day), then the Overages rates declared on your pricing plan will be used to charge the customer at the end of the billing period.