Skip to main content

Employers Careers Trial

2 week trial period (per June 2026)

All Employers will be given 2 weeks trial period (as per June 2026), after trial period ended they will not be able to post Careers Jobs and will not be able to access Careers Job Applications. If they decide that they want to continue using JOD's service then they will need to pay JOD

What we are doing

Implements 2 weeks trial period to Careers Feature (careers job posting and accessing careers job applications). Employers careers trial should be tied to Billing but since Billing::Account for careers is not ready yet, we're doing this manually.

Trial Cutoff

  • trial period will ends 2 weeks after first careers job post, excluding first feature implementation where we use custom trial end date JodApp Companies Payall
  • after 2 weeks, company will not be able to post jobs and see applicant information (both list page and detail page), and frontend will tell them to contact sales team
  • after trial period ends we will send 2 notifications:
    1. email notifications telling the company that their trial period has ended, cc-ed to Sairin and Justin
    2. slack message to #careers-trial-ended-report channel showing the company name, total job posting and total job applications
  • we will not use sidekiq_scheduler, we'll schedule each company's EndTrialJob when we first set the careers_trial_ends_at (Org::Companies::TrialService.start_trial(...))
  • as of June 2026, since billing for careers job is not implemented yet, sales still need to update the careers_access_status manually for each paying company, sales can update it in the team's company detail page

Migrations

3 new columns are added to Org::Companies for this feature:

add_column :org_companies, :careers_access_status, :string, default: 'trial', null: false
add_column :org_companies, :careers_trial_ends_at, :timestamptz
add_column :org_companies, :careers_trial_ended_notified_at, :timestamptz, null: true

BE and FE communications

There are combinations between :careers_access_status and :careers_trial_ends_at that produces a true or false value which we call Org::Company.careers_feature_enabled? which is rendered in Org::Company's serializers with an attribute name is_careers_feature_enabled that will be received by FE, if the value of is_careers_feature_enabled is true then FE will not block anything, but if it's false then careers feature will be blocked

Notifications

  1. email notifications telling the company that their trial period has ended, cc-ed to Sairin and Justin
  2. slack message to #careers-trial-ended-report channel showing the company name, total job posting and total job applications

State Machine