1 package com.atlassian.marketplace.client.model;
2
3 import com.atlassian.fugue.Option;
4
5 /**
6 * An individual pricing tier within {@link AddonPricing}.
7 * @since 2.0.0
8 */
9 public class AddonPricingItem
10 {
11 String description;
12 String editionId;
13 @ReadOnly String editionDescription;
14 LicenseEditionType editionType;
15 String licenseType;
16 float amount;
17 @ReadOnly Option<Float> renewalAmount;
18 int unitCount;
19 int monthsValid;
20
21 /**
22 * Long description of this tier, such as "Addon Name 10 Users: Commercial License".
23 */
24 public String getDescription()
25 {
26 return description;
27 }
28
29 /**
30 * Unique identifier for this tier, used internally.
31 */
32 public String getEditionId()
33 {
34 return editionId;
35 }
36
37 /**
38 * Short description of this tier, such as "10 Users".
39 */
40 public String getEditionDescription()
41 {
42 return editionDescription;
43 }
44
45 /**
46 * The type of tier that this is (per-user versus per-role).
47 */
48 public LicenseEditionType getEditionType()
49 {
50 return editionType;
51 }
52
53 /**
54 * The license type that this pricing is for: "commercial", "academic", etc.
55 */
56 public String getLicenseType()
57 {
58 return licenseType;
59 }
60
61 /**
62 * The amount (in USD) that a customer pays for a license at this tier.
63 */
64 public float getAmount()
65 {
66 return amount;
67 }
68
69 /**
70 * The amount (in USD) that a customer with an existing license at this tier pays for a renewal
71 * (calculated by Marketplace, cannot be set).
72 */
73 public Option<Float> getRenewalAmount()
74 {
75 return renewalAmount;
76 }
77
78 /**
79 * The user count (or other unit if appropriate, such as remote agents in Bamboo) defining
80 * this pricing tier; -1 for unlimited.
81 */
82 public int getUnitCount()
83 {
84 return unitCount;
85 }
86
87 /**
88 * The time period that this pricing is for: 1 for monthly, 12 for annual.
89 */
90 public int getMonthsValid()
91 {
92 return monthsValid;
93 }
94 }