mm2Plans.ts 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615
  1. import type {Plan} from 'getsentry/types';
  2. // mm2 plans with data volume up to 500k
  3. const MM2_CATEGORY_DISPLAY_NAMES = {
  4. errors: {singular: 'error', plural: 'errors'},
  5. };
  6. const MM2_PLANS: Record<string, Plan> = {
  7. mm2_a_100k: {
  8. availableCategories: [],
  9. basePrice: 0,
  10. description: '',
  11. id: 'mm2_a_100k',
  12. name: 'Business',
  13. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  14. categories: ['errors'],
  15. checkoutCategories: ['errors'],
  16. onDemandCategories: ['errors'],
  17. hasOnDemandModes: false,
  18. trialPlan: null,
  19. maxMembers: null,
  20. planCategories: {
  21. errors: [
  22. {
  23. price: 8900,
  24. events: 100000,
  25. },
  26. ],
  27. },
  28. totalPrice: 8900,
  29. reservedMinimum: 100000,
  30. price: 8900,
  31. userSelectable: true,
  32. allowAdditionalReservedEvents: false,
  33. contractInterval: 'monthly',
  34. billingInterval: 'monthly',
  35. allowOnDemand: true,
  36. onDemandEventPrice: 0.089,
  37. retentionDays: 90,
  38. features: [
  39. 'advanced-search',
  40. 'sso-basic',
  41. 'weekly-reports',
  42. 'integrations-issue-basic',
  43. 'integrations-issue-sync',
  44. 'events',
  45. 'discover-basic',
  46. 'discard-groups',
  47. 'custom-inbound-filters',
  48. 'data-forwarding',
  49. 'discover',
  50. 'global-views',
  51. 'rate-limits',
  52. 'sso-saml2',
  53. 'integrations-event-hooks',
  54. 'custom-symbol-sources',
  55. 'relay',
  56. 'discover-query',
  57. 'extended-data-retention',
  58. ],
  59. },
  60. mm2_a_100k_ac: {
  61. availableCategories: [],
  62. basePrice: 0,
  63. description: '',
  64. id: 'mm2_a_100k_ac',
  65. name: 'Business',
  66. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  67. categories: ['errors'],
  68. checkoutCategories: ['errors'],
  69. onDemandCategories: ['errors'],
  70. hasOnDemandModes: false,
  71. trialPlan: null,
  72. maxMembers: null,
  73. planCategories: {
  74. errors: [
  75. {
  76. price: 8000,
  77. events: 100000,
  78. },
  79. ],
  80. },
  81. totalPrice: 96000,
  82. reservedMinimum: 100000,
  83. price: 8000,
  84. userSelectable: true,
  85. allowAdditionalReservedEvents: false,
  86. contractInterval: 'annual',
  87. billingInterval: 'monthly',
  88. allowOnDemand: true,
  89. onDemandEventPrice: 0.08,
  90. retentionDays: 90,
  91. features: [
  92. 'advanced-search',
  93. 'sso-basic',
  94. 'weekly-reports',
  95. 'integrations-issue-basic',
  96. 'integrations-issue-sync',
  97. 'events',
  98. 'discover-basic',
  99. 'discard-groups',
  100. 'custom-inbound-filters',
  101. 'data-forwarding',
  102. 'discover',
  103. 'global-views',
  104. 'rate-limits',
  105. 'sso-saml2',
  106. 'integrations-event-hooks',
  107. 'custom-symbol-sources',
  108. 'relay',
  109. 'discover-query',
  110. 'extended-data-retention',
  111. ],
  112. },
  113. mm2_a_100k_auf: {
  114. availableCategories: [],
  115. basePrice: 0,
  116. description: '',
  117. id: 'mm2_a_100k_auf',
  118. name: 'Business',
  119. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  120. categories: ['errors'],
  121. checkoutCategories: ['errors'],
  122. onDemandCategories: ['errors'],
  123. hasOnDemandModes: false,
  124. trialPlan: null,
  125. maxMembers: null,
  126. planCategories: {
  127. errors: [
  128. {
  129. price: 96000,
  130. events: 100000,
  131. },
  132. ],
  133. },
  134. totalPrice: 96000,
  135. reservedMinimum: 100000,
  136. price: 96000,
  137. userSelectable: true,
  138. allowAdditionalReservedEvents: false,
  139. contractInterval: 'annual',
  140. billingInterval: 'annual',
  141. allowOnDemand: true,
  142. onDemandEventPrice: 0.08,
  143. retentionDays: 90,
  144. features: [
  145. 'advanced-search',
  146. 'sso-basic',
  147. 'weekly-reports',
  148. 'integrations-issue-basic',
  149. 'integrations-issue-sync',
  150. 'events',
  151. 'discover-basic',
  152. 'discard-groups',
  153. 'custom-inbound-filters',
  154. 'data-forwarding',
  155. 'discover',
  156. 'global-views',
  157. 'rate-limits',
  158. 'sso-saml2',
  159. 'integrations-event-hooks',
  160. 'custom-symbol-sources',
  161. 'relay',
  162. 'discover-query',
  163. 'extended-data-retention',
  164. ],
  165. },
  166. mm2_a_500k: {
  167. availableCategories: [],
  168. basePrice: 0,
  169. description: '',
  170. id: 'mm2_a_500k',
  171. name: 'Business',
  172. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  173. categories: ['errors'],
  174. checkoutCategories: ['errors'],
  175. onDemandCategories: ['errors'],
  176. hasOnDemandModes: false,
  177. trialPlan: null,
  178. maxMembers: null,
  179. planCategories: {
  180. errors: [
  181. {
  182. price: 28900,
  183. events: 500000,
  184. },
  185. ],
  186. },
  187. totalPrice: 28900,
  188. reservedMinimum: 500000,
  189. price: 28900,
  190. userSelectable: true,
  191. allowAdditionalReservedEvents: false,
  192. contractInterval: 'monthly',
  193. billingInterval: 'monthly',
  194. allowOnDemand: true,
  195. onDemandEventPrice: 0.089,
  196. retentionDays: 90,
  197. features: [
  198. 'advanced-search',
  199. 'sso-basic',
  200. 'weekly-reports',
  201. 'integrations-issue-basic',
  202. 'integrations-issue-sync',
  203. 'events',
  204. 'discover-basic',
  205. 'discard-groups',
  206. 'custom-inbound-filters',
  207. 'data-forwarding',
  208. 'discover',
  209. 'global-views',
  210. 'rate-limits',
  211. 'sso-saml2',
  212. 'integrations-event-hooks',
  213. 'custom-symbol-sources',
  214. 'relay',
  215. 'discover-query',
  216. 'extended-data-retention',
  217. ],
  218. },
  219. mm2_a_500k_ac: {
  220. availableCategories: [],
  221. basePrice: 0,
  222. description: '',
  223. id: 'mm2_a_500k_ac',
  224. name: 'Business',
  225. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  226. categories: ['errors'],
  227. checkoutCategories: ['errors'],
  228. onDemandCategories: ['errors'],
  229. hasOnDemandModes: false,
  230. trialPlan: null,
  231. maxMembers: null,
  232. planCategories: {
  233. errors: [
  234. {
  235. price: 26000,
  236. events: 500000,
  237. },
  238. ],
  239. },
  240. totalPrice: 312000,
  241. reservedMinimum: 500000,
  242. price: 26000,
  243. userSelectable: true,
  244. allowAdditionalReservedEvents: false,
  245. contractInterval: 'annual',
  246. billingInterval: 'monthly',
  247. allowOnDemand: true,
  248. onDemandEventPrice: 0.08,
  249. retentionDays: 90,
  250. features: [
  251. 'advanced-search',
  252. 'sso-basic',
  253. 'weekly-reports',
  254. 'integrations-issue-basic',
  255. 'integrations-issue-sync',
  256. 'events',
  257. 'discover-basic',
  258. 'discard-groups',
  259. 'custom-inbound-filters',
  260. 'data-forwarding',
  261. 'discover',
  262. 'global-views',
  263. 'rate-limits',
  264. 'sso-saml2',
  265. 'integrations-event-hooks',
  266. 'custom-symbol-sources',
  267. 'relay',
  268. 'discover-query',
  269. 'extended-data-retention',
  270. ],
  271. },
  272. mm2_a_500k_auf: {
  273. availableCategories: [],
  274. basePrice: 0,
  275. description: '',
  276. id: 'mm2_a_500k_auf',
  277. name: 'Business',
  278. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  279. categories: ['errors'],
  280. checkoutCategories: ['errors'],
  281. onDemandCategories: ['errors'],
  282. hasOnDemandModes: false,
  283. trialPlan: null,
  284. maxMembers: null,
  285. planCategories: {
  286. errors: [
  287. {
  288. price: 312000,
  289. events: 500000,
  290. },
  291. ],
  292. },
  293. totalPrice: 312000,
  294. reservedMinimum: 500000,
  295. price: 312000,
  296. userSelectable: true,
  297. allowAdditionalReservedEvents: false,
  298. contractInterval: 'annual',
  299. billingInterval: 'annual',
  300. allowOnDemand: true,
  301. onDemandEventPrice: 0.08,
  302. retentionDays: 90,
  303. features: [
  304. 'advanced-search',
  305. 'sso-basic',
  306. 'weekly-reports',
  307. 'integrations-issue-basic',
  308. 'integrations-issue-sync',
  309. 'events',
  310. 'discover-basic',
  311. 'discard-groups',
  312. 'custom-inbound-filters',
  313. 'data-forwarding',
  314. 'discover',
  315. 'global-views',
  316. 'rate-limits',
  317. 'sso-saml2',
  318. 'integrations-event-hooks',
  319. 'custom-symbol-sources',
  320. 'relay',
  321. 'discover-query',
  322. 'extended-data-retention',
  323. ],
  324. },
  325. mm2_b_100k: {
  326. availableCategories: [],
  327. basePrice: 0,
  328. description: '',
  329. id: 'mm2_b_100k',
  330. name: 'Team',
  331. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  332. categories: ['errors'],
  333. checkoutCategories: ['errors'],
  334. onDemandCategories: ['errors'],
  335. hasOnDemandModes: false,
  336. trialPlan: 'mm2_a',
  337. maxMembers: null,
  338. planCategories: {
  339. errors: [
  340. {
  341. price: 2900,
  342. events: 100000,
  343. },
  344. ],
  345. },
  346. totalPrice: 2900,
  347. reservedMinimum: 100000,
  348. price: 2900,
  349. userSelectable: true,
  350. allowAdditionalReservedEvents: false,
  351. contractInterval: 'monthly',
  352. billingInterval: 'monthly',
  353. allowOnDemand: true,
  354. onDemandEventPrice: 0.029,
  355. retentionDays: 90,
  356. features: [
  357. 'advanced-search',
  358. 'sso-basic',
  359. 'weekly-reports',
  360. 'integrations-issue-basic',
  361. 'integrations-issue-sync',
  362. 'events',
  363. 'discover-basic',
  364. 'extended-data-retention',
  365. ],
  366. },
  367. mm2_b_100k_ac: {
  368. availableCategories: [],
  369. basePrice: 0,
  370. description: '',
  371. id: 'mm2_b_100k_ac',
  372. name: 'Team',
  373. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  374. categories: ['errors'],
  375. checkoutCategories: ['errors'],
  376. onDemandCategories: ['errors'],
  377. hasOnDemandModes: false,
  378. trialPlan: 'mm2_a',
  379. maxMembers: null,
  380. planCategories: {
  381. errors: [
  382. {
  383. price: 2600,
  384. events: 100000,
  385. },
  386. ],
  387. },
  388. totalPrice: 31200,
  389. reservedMinimum: 100000,
  390. price: 2600,
  391. userSelectable: true,
  392. allowAdditionalReservedEvents: false,
  393. contractInterval: 'annual',
  394. billingInterval: 'monthly',
  395. allowOnDemand: true,
  396. onDemandEventPrice: 0.026,
  397. retentionDays: 90,
  398. features: [
  399. 'advanced-search',
  400. 'sso-basic',
  401. 'weekly-reports',
  402. 'integrations-issue-basic',
  403. 'integrations-issue-sync',
  404. 'events',
  405. 'discover-basic',
  406. 'extended-data-retention',
  407. ],
  408. },
  409. mm2_b_100k_auf: {
  410. availableCategories: [],
  411. basePrice: 0,
  412. description: '',
  413. id: 'mm2_b_100k_auf',
  414. name: 'Team',
  415. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  416. categories: ['errors'],
  417. checkoutCategories: ['errors'],
  418. onDemandCategories: ['errors'],
  419. hasOnDemandModes: false,
  420. trialPlan: 'mm2_a',
  421. maxMembers: null,
  422. planCategories: {
  423. errors: [
  424. {
  425. price: 31200,
  426. events: 100000,
  427. },
  428. ],
  429. },
  430. totalPrice: 31200,
  431. reservedMinimum: 100000,
  432. price: 31200,
  433. userSelectable: true,
  434. allowAdditionalReservedEvents: false,
  435. contractInterval: 'annual',
  436. billingInterval: 'annual',
  437. allowOnDemand: true,
  438. onDemandEventPrice: 0.026,
  439. retentionDays: 90,
  440. features: [
  441. 'advanced-search',
  442. 'sso-basic',
  443. 'weekly-reports',
  444. 'integrations-issue-basic',
  445. 'integrations-issue-sync',
  446. 'events',
  447. 'discover-basic',
  448. 'extended-data-retention',
  449. ],
  450. },
  451. mm2_b_500k: {
  452. availableCategories: [],
  453. basePrice: 0,
  454. description: '',
  455. id: 'mm2_b_500k',
  456. name: 'Team',
  457. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  458. categories: ['errors'],
  459. checkoutCategories: ['errors'],
  460. onDemandCategories: ['errors'],
  461. hasOnDemandModes: false,
  462. trialPlan: 'mm2_a',
  463. maxMembers: null,
  464. planCategories: {
  465. errors: [
  466. {
  467. price: 9900,
  468. events: 500000,
  469. },
  470. ],
  471. },
  472. totalPrice: 9900,
  473. reservedMinimum: 500000,
  474. price: 9900,
  475. userSelectable: true,
  476. allowAdditionalReservedEvents: false,
  477. contractInterval: 'monthly',
  478. billingInterval: 'monthly',
  479. allowOnDemand: true,
  480. onDemandEventPrice: 0.029,
  481. retentionDays: 90,
  482. features: [
  483. 'advanced-search',
  484. 'sso-basic',
  485. 'weekly-reports',
  486. 'integrations-issue-basic',
  487. 'integrations-issue-sync',
  488. 'events',
  489. 'discover-basic',
  490. 'extended-data-retention',
  491. ],
  492. },
  493. mm2_b_500k_ac: {
  494. availableCategories: [],
  495. basePrice: 0,
  496. description: '',
  497. id: 'mm2_b_500k_ac',
  498. name: 'Team',
  499. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  500. categories: ['errors'],
  501. checkoutCategories: ['errors'],
  502. onDemandCategories: ['errors'],
  503. hasOnDemandModes: false,
  504. trialPlan: 'mm2_a',
  505. maxMembers: null,
  506. planCategories: {
  507. errors: [
  508. {
  509. price: 8900,
  510. events: 500000,
  511. },
  512. ],
  513. },
  514. totalPrice: 106800,
  515. reservedMinimum: 500000,
  516. price: 8900,
  517. userSelectable: true,
  518. allowAdditionalReservedEvents: false,
  519. contractInterval: 'annual',
  520. billingInterval: 'monthly',
  521. allowOnDemand: true,
  522. onDemandEventPrice: 0.026,
  523. retentionDays: 90,
  524. features: [
  525. 'advanced-search',
  526. 'sso-basic',
  527. 'weekly-reports',
  528. 'integrations-issue-basic',
  529. 'integrations-issue-sync',
  530. 'events',
  531. 'discover-basic',
  532. 'extended-data-retention',
  533. ],
  534. },
  535. mm2_b_500k_auf: {
  536. availableCategories: [],
  537. basePrice: 0,
  538. description: '',
  539. id: 'mm2_b_500k_auf',
  540. name: 'Team',
  541. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  542. categories: ['errors'],
  543. checkoutCategories: ['errors'],
  544. onDemandCategories: ['errors'],
  545. hasOnDemandModes: false,
  546. trialPlan: 'mm2_a',
  547. maxMembers: null,
  548. planCategories: {
  549. errors: [
  550. {
  551. price: 106800,
  552. events: 500000,
  553. },
  554. ],
  555. },
  556. totalPrice: 106800,
  557. reservedMinimum: 500000,
  558. price: 106800,
  559. userSelectable: true,
  560. allowAdditionalReservedEvents: false,
  561. contractInterval: 'annual',
  562. billingInterval: 'annual',
  563. allowOnDemand: true,
  564. onDemandEventPrice: 0.026,
  565. retentionDays: 90,
  566. features: [
  567. 'advanced-search',
  568. 'sso-basic',
  569. 'weekly-reports',
  570. 'integrations-issue-basic',
  571. 'integrations-issue-sync',
  572. 'events',
  573. 'discover-basic',
  574. 'extended-data-retention',
  575. ],
  576. },
  577. mm2_f: {
  578. availableCategories: [],
  579. basePrice: 0,
  580. description: '',
  581. id: 'mm2_f',
  582. name: 'Developer',
  583. categoryDisplayNames: MM2_CATEGORY_DISPLAY_NAMES,
  584. categories: ['errors'],
  585. checkoutCategories: ['errors'],
  586. onDemandCategories: ['errors'],
  587. hasOnDemandModes: false,
  588. trialPlan: 'am1_t',
  589. maxMembers: 1,
  590. planCategories: {
  591. errors: [
  592. {
  593. price: 0,
  594. events: 5000,
  595. },
  596. ],
  597. },
  598. totalPrice: 0,
  599. reservedMinimum: 5000,
  600. price: 0,
  601. userSelectable: true,
  602. allowAdditionalReservedEvents: false,
  603. contractInterval: 'monthly',
  604. billingInterval: 'monthly',
  605. allowOnDemand: false,
  606. onDemandEventPrice: 0,
  607. retentionDays: 30,
  608. features: ['advanced-search'],
  609. },
  610. };
  611. export default MM2_PLANS;