mm2Plans.ts 15 KB

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