Skip to content

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:

  1. Know that a trial existed but has since expired
  2. Extend that trial

Screenshot: image

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
TrialsFuture Trial_Update_expired_trial

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 to false and end_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

Edited by Mike Dunninger