Expired trials not displaying on admin view
Problem
The extend trial feature was implemented in https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/372 but our team members have not seen this option on any expired trials.
Note: the option to extend trials does appear for active trials.
Example
The group https://gitlab.com/groups/this-trial-wont-work/-/billings has a trial that expired 2019-06-13, but there's no options that I can see that would allow me to:
- Know that a trial existed but has since expired
- Extend that trial
Interestingly, even though Lyle started a new trial
#<Order:0x000000000bfbfb48
id: 56044,
customer_id: 8334,
product_rate_plan_id: "2c92a0fc5a83f01d015aa6db83c45aac",
subscription_id: nil,
subscription_name: nil,
start_date: Tue, 11 Feb 2020,
end_date: Wed, 12 Feb 2020,
quantity: 1,
created_at: Tue, 11 Feb 2020 00:55:46 UTC +00:00,
updated_at: Tue, 11 Feb 2020 00:56:24 UTC +00:00,
gl_namespace_id: "7139776",
gl_namespace_name: "will-this-trial-work",
amendment_type: nil,
trial: true,
last_extra_ci_minutes_sync_at: nil,
zuora_account_id: nil,
increased_billing_rate_notified_at: nil>
The expired date is still the original. Nevertheless, I'm certain that more than one of Lyle's groups have had trials and none of them are showing previous expiration dates or the option to extend: https://customers.gitlab.com/admin/customer/8334/list_gitlab_namespaces
Please see @lyle's comments for more details: https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/372#note_284557673
This issue will be resolved when
When team members have the ability to:
- Extend active trials (note this is already live)
- Reactive and extend expired trials
- A team member will select a "renew trial" button
- A team member will then select the new expiration date for the trial and select "update" to confirm the change
- Note: team members should be able to reactive any trial regardless of its age
Solution wireframe:
Step 1 | Step 2 |
---|---|
Technical considerations
The original MR only pulls data from orders
.
- This works for active trials only.
- When the trial expires, the system sets the
trial
tofalse
andend_date
to nil - As a result, there is no indication in the matching
order
that the order was a trial in the first place, so the system never finds the order
To pull data on an expired trial, most likely the view would need to look at the trial_histories
table, looking for the most recent expired trial for that namespace.
Support Priority Score: (-, -, -, -, -, -, -, -, -, -, -) => 10