UsageExperimental.xml

349 lines | 14.253 kB Blame History Raw Download
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
  ~ Copyright 2014 The Billing Project, Inc.
  ~
  ~ Ning licenses this file to you under the Apache License, version 2.0
  ~ (the "License"); you may not use this file except in compliance with the
  ~ License.  You may obtain a copy of the License at:
  ~
  ~    http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  ~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
  ~ License for the specific language governing permissions and limitations
  ~ under the License.
  -->

<catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="CatalogSchema.xsd ">

    <effectiveDate>2013-02-08T00:00:00+00:00</effectiveDate>
    <catalogName>Usage</catalogName>

    <!-- TBD
    Defines the billingMode for all recurring subscription in that catalog:
    Goal is to avoid to end up in a situation where a user could switch plan and suddenly his
    recurring billing goes from IN_ADVANCE to IN_ARREAR or the reverse.
    -->
    <recurringBillingMode>IN_ADVANCE</recurringBillingMode>

    <currencies>
        <currency>BTC</currency>
    </currencies>

    <units>
        <unit name="members"/>
        <unit name="cell-phone-minutes"/>
        <unit name="fastrack-tokens"/>
        <unit name="bandwith-meg-sec"/>
        <unit name="Mbytes"/>
        <unit name="chocolate-videos" />
    </units>

    <products>
        <product name="Dummy">
            <category>BASE</category>
        </product>
        <product name="CapacityInAdvance">
            <category>BASE</category>
        </product>
        <product name="ConsumableInAdvancePrepayCredit">
            <category>BASE</category>
        </product>
        <product name="ConsumableInAdvanceTopUp">
            <category>BASE</category>
        </product>
        <product name="CapacityInArrear">
            <category>BASE</category>
        </product>
        <product name="ConsumableInArrear">
            <category>BASE</category>
        </product>
        <product name="Chocolate">
            <category>BASE</category>
        </product>
    </products>

    <rules>
        <changePolicy>
            <changePolicyCase>
                <policy>IMMEDIATE</policy>
            </changePolicyCase>
        </changePolicy>
        <cancelPolicy>
            <cancelPolicyCase>
                <policy>IMMEDIATE</policy>
            </cancelPolicyCase>
        </cancelPolicy>
    </rules>

    <plans>
        <plan name="capacity-in-advance-monthly">
            <product>CapacityInAdvance</product>
            <finalPhase type="EVERGREEN">
                <duration>
                    <unit>UNLIMITED</unit>
                </duration>

                <usages>
                    <usage name="capacity-in-advance-monthly-usage1" billingMode="IN_ADVANCE" usageType="CAPACITY">
                        <billingPeriod>MONTHLY</billingPeriod>
                        <limits>
                            <limit>
                                <unit>members</unit>
                                <max>100</max>
                            </limit>
                        </limits>
                        <!-- could accept a fixed price and/or a recurring price -->
                        <recurringPrice>
                            <price>
                                <currency>BTC</currency>
                                <value>100.00</value>
                            </price>
                        </recurringPrice>
                    </usage>
                </usages>
            </finalPhase>
        </plan>


        <plan name="consumable-in-advance-prepay-credit-monthly">
            <product>ConsumableInAdvancePrepayCredit</product>
            <finalPhase type="EVERGREEN">
                <duration>
                    <unit>UNLIMITED</unit>
                </duration>
                <usages>
                    <usage name="consumable-in-advance-prepay-credit-monthly-usage1" billingMode="IN_ADVANCE" usageType="CONSUMABLE">
                        <billingPeriod>MONTHLY</billingPeriod>
                        <blocks>
                            <block>
                                <unit>cell-phone-minutes</unit>
                                <size>1000</size>
                                <!-- could be either fixed (with NO_BILLING_PERIOD) )or recurring:
                                * In billing period is NO_BILLING_PERIOD, we buy one block of units
                                * In billing period ha s been specified, we buy one block of units for each period
                                -->
                                <prices>
                                    <price>
                                        <currency>BTC</currency>
                                        <value>0.10</value>
                                    </price>
                                </prices>
                            </block>
                        </blocks>
                        <!-- We could instead define the price here as we did for capacity-in-advance if we want to 'bundle' linit/units -->
                    </usage>
                </usages>
            </finalPhase>
        </plan>


        <plan name="consumable-in-advance-topup">
            <product>ConsumableInAdvanceTopUp</product>
            <finalPhase type="EVERGREEN">
                <duration>
                    <unit>UNLIMITED</unit>
                </duration>

                <usages>
                    <usage name="consumable-in-advance-topup-usage1" billingMode="IN_ADVANCE" usageType="CONSUMABLE">
                        <billingPeriod>NO_BILLING_PERIOD</billingPeriod>
                        <blocks>
                            <block type="TOP_UP">
                                <unit>fastrack-tokens</unit>
                                <size>10</size>
                                <prices>
                                    <price>
                                        <currency>BTC</currency>
                                        <value>0.10</value>
                                    </price>
                                </prices>
                                <minTopUpCredit>5</minTopUpCredit>
                            </block>
                        </blocks>
                    </usage>
                </usages>
            </finalPhase>
        </plan>


        <plan name="capacity-in-arrear">
            <product>CapacityInArrear</product>
            <finalPhase type="EVERGREEN">
                <duration>
                    <unit>UNLIMITED</unit>
                </duration>

                <usages>
                    <usage name="capacity-in-arrear-usage1" billingMode="IN_ARREAR" usageType="CAPACITY">
                        <billingPeriod>MONTHLY</billingPeriod>
                        <tiers>
                            <tier>
                                <limits>
                                    <limit>
                                        <unit>bandwith-meg-sec</unit>
                                        <max>100</max>
                                    </limit>
                                    <limit>
                                        <unit>members</unit>
                                        <max>500</max>
                                    </limit>
                                </limits>
                                <fixedPrice>
                                    <price>
                                        <currency>BTC</currency>
                                        <value>0.007</value>
                                    </price>
                                </fixedPrice>
                                <recurringPrice>
                                    <price>
                                        <currency>BTC</currency>
                                        <value>0.8</value>
                                    </price>
                                </recurringPrice>
                            </tier>
                            <tier>
                                <limits>
                                    <limit>
                                        <unit>bandwith-meg-sec</unit>
                                        <max>100</max>
                                    </limit>
                                    <limit>
                                        <unit>members</unit>
                                        <max>1000</max>
                                    </limit>
                                </limits>
                                <fixedPrice>
                                    <price>
                                        <currency>BTC</currency>
                                        <value>0.4</value>
                                    </price>
                                </fixedPrice>
                                <recurringPrice>
                                    <price>
                                        <currency>BTC</currency>
                                        <value>1.2</value>
                                    </price>
                                </recurringPrice>
                            </tier>
                        </tiers>
                    </usage>
                </usages>
            </finalPhase>
        </plan>


        <plan name="consumable-in-arrear">
            <product>ConsumableInArrear</product>
            <finalPhase type="EVERGREEN">
                <duration>
                    <unit>UNLIMITED</unit>
                </duration>
                <usages>
                    <usage name="consumable-in-arrear-usage1" billingMode="IN_ARREAR" usageType="CONSUMABLE" tierBlockPolicy="ALL_TIERS">
                        <billingPeriod>MONTHLY</billingPeriod>
                        <tiers>
                            <tier>
                                <blocks>
                                    <tieredBlock>
                                        <unit>cell-phone-minutes</unit>
                                        <size>1000</size>
                                        <prices>
                                            <price>
                                                <currency>BTC</currency>
                                                <value>0.5</value>
                                            </price>
                                        </prices>
                                        <max>10000</max>
                                    </tieredBlock>
                                    <tieredBlock>
                                        <unit>Mbytes</unit>
                                        <size>512</size>
                                        <prices>
                                            <price>
                                                <currency>BTC</currency>
                                                <value>0.3</value>
                                            </price>
                                        </prices>
                                        <max>512000</max>
                                    </tieredBlock>
                                </blocks>
                            </tier>
                        </tiers>
                    </usage>
                </usages>
            </finalPhase>
        </plan>

        <plan name="chocolate-monthly">
            <product>Chocolate</product>
            <finalPhase type="EVERGREEN">
                <duration>
                    <unit>UNLIMITED</unit>
                </duration>
                <recurring>
                    <billingPeriod>MONTHLY</billingPeriod>
                    <recurringPrice>
                        <price>
                            <currency>USD</currency>
                            <value>30.00</value>
                        </price>
                    </recurringPrice>
                </recurring>
                <usages>
                    <usage name="chocolate-monthly-videos" billingMode="IN_ARREAR" usageType="CONSUMABLE">
                        <billingPeriod>MONTHLY</billingPeriod>
                        <tiers>
                            <tier>
                                <blocks>
                                    <tieredBlock>
                                        <unit>chocolate-videos</unit>
                                        <size>1</size>
                                        <prices>
                                            <price>
                                                <currency>USD</currency>
                                                <value>2</value>
                                            </price>
                                        </prices>
                                        <max>5</max>
                                    </tieredBlock>
                                </blocks>
                            </tier>
                            <tier>
                                <blocks>
                                    <tieredBlock>
                                        <unit>chocolate-videos</unit>
                                        <size>1</size>
                                        <prices>
                                            <price>
                                                <currency>USD</currency>
                                                <value>1</value>
                                            </price>
                                        </prices>
                                        <max>10000</max>
                                    </tieredBlock>
                                </blocks>
                            </tier>
                        </tiers>
                    </usage>
                </usages>
            </finalPhase>
        </plan>

    </plans>
    <priceLists>
        <defaultPriceList name="DEFAULT">
            <plans>
                <plan>capacity-in-advance-monthly</plan>
                <plan>consumable-in-advance-prepay-credit-monthly</plan>
                <plan>consumable-in-advance-topup</plan>
                <plan>capacity-in-arrear</plan>
                <plan>consumable-in-arrear</plan>
                <plan>chocolate-monthly</plan>
            </plans>
        </defaultPriceList>
    </priceLists>
</catalog>