Extend Access

By clicking the first icon in the top menu of the "Subscription" content section of the "Teacher Dashboard," the teacher shall be presented with the option to "Extend Access" to Readingful for his or her students, as shown in the first mockup, above. I've decided to title this section "Extend Access" because that's literally what a teacher will be doing, every time. A new Readingful teacher account automatically gives him or her a full, free, 2 week (14 days) trial (essentially a time-based subscription to the service). So, from the very beginning, as the teacher starts to use Readingful with his or her students, he or she will be deciding whether or not to extend that access further, into the future. And, on Readingful, the teacher should be able to do so, at any time. Which shall be a succinct 3 step process.

 

Step 1

The first step of the purchase process, as shown in that first mockup, is to select the number of months of access. In this module, we have an array of 9 buttons and are simply asking the teacher to decide how many sets of 30 days of access for his or her students, to add to the subscription. One of the biggest issues I had with Readagogo when I first launched it years ago was that it charged for an annual membership. The pricing was literally "$1 per student, per year." This was an intentional gambit, at the outset of the service, to try to get a lot of users with super low pricing, from the jump, and then increase the fee, later on. So, if the teacher had 23 students, he or she was paying $23.00 for the use of 23 student accounts for an entire year, starting then. This was obviously a very cheap price, for the service, that the teacher was getting. And yet, the number of complaints I received along the lines of... "Well, there are only 3 months left in the school year at this point. I don't want to pay for an entire year!" were staggering. Even when I explained, "Hey, this is really cheap. Just think of access during the summer months as a bonus." Ooooh, boy. That did not go over well. Teachers literally prefer paying 12 times as much over the course of a school year, when their students actually use the service, than they do a small, annual fee that covers an entire year. People just don't have the ability to remove that feeling of "I'm paying for something I'm not using!" even when a monthly fee costs them a lot more. So, this is why we will use a monthly fee structure (as Readagogo uses now), and make the maximum purchase 9 months. This is because even teachers who purchase access right at the beginning of the school year... 9 months access is the maximum they need. There's no sense in even offering the ability to purchase a full year's access. Even if it were discounted, teachers don't want it.

The text underneath the button array directly references the number of student accounts the teacher currently has created.

"Please select the number of months of Readingful access, to add to your current subscription, for your XX students."

And then, in the footer information line of this module, we'll always quote the current price for the service: "$9.99 per month for up to 10 students. $1 per additional student."

 

Step 1: Selection Made

In the second mockup, above, I'm showing what should occur when the teacher actually selects the number of months. The button shall highlight, and the text below the button array shall change to quote the price for that number of months, along with the "Next" button becoming active.

"This selection will extend Readingful access, for your XX students, until Month Day, Year, totaling $XX.XX."

In the mockup's example, the teacher is selecting to add 3 months (90 days) of access to Readingful for 24 students. So, that's a base fee of $9.99 per month to cover 10 students, and then an additional $1 each for 14 students = $23.99 x 3 = $71.97.

 

Step 1: Selection Made (With New Student Accounts)

Sometimes, teachers will be extending their subscription access, after just adding new student accounts that aren't part of their current subscription (such as when they get new students partway through a school year). In these instances, we'll add an asterisk after the instruction text, and in the infoline below, reference proation, as shown in the third mockup, above:

"*Includes proration of X new accounts to your current subscription."

Must be sure to change the text to the singular "account" if only 1 account is being prorated.

In the mockup's example, note that the teacher has 12 days of access remaining on her current subscription and, that when she selected 3 months of access, we're telling her that it's for 24 students, but also that this includes proration for 2 new accounts she's created. That means her current subscription had 22 students, and she's just created 2 new student accounts that aren't yet active. So, to purchase 3 months more of access for all of these accounts, the teacher still has to pay for the 12 remaining days of her current subscription, for those 2 new student accounts, in order for those 2 new accounts to become immediately active. Thus, in this example, we have the same rate as before... 24 students for 3 months will be $71.97. But, we have to add on the equivalent of 12 days access for 2 accounts. Mathematically a student's access costs $1 per month (30 days). So, that's approximately 3.33 pennies per day. Which means 12 days is $0.3996, rounded up to $0.40 per student. So, in this example, we have to tack an additional $0.80 on to the $71.97, a total of $72.77, in the end. We'll always round up, when computing proration.

In short, the goal is to always prorate the addition of new student accounts on remaining subscription time, when the teacher has both created new student accounts, and wants to extend subscription access, at the same time.

 

Step 2: Payer Identification

In the fourth mockup above, I'm showing the beginning state for "Step 2" of the payment process, after the teacher clicks the "Next" button during "Step 1." For this step, we're asking the teacher to identify who will be paying for this subscription. The teacher can either click the "Me" button to proceed to pay personally, or the "Benefactor" button to have another party make the payment. Also in this module, note that we move the number of students, and the price being paid, to the infoline footer.

 

Step 2: Payer Identification (Personal)

If the teacher clicks the "Me" button, both buttons should be instantly replaced with the "Name" and "Zip Code" form fields, along with a change to the instructional text, below, as shown in the fifth mockup, above. From what I can tell looking at Stripe payment forms is that they really only need 5 bits of data to be collected to process a payment: name, billing zipcode, card number, expiration date, and cvv. Thus, as soon as the teacher indicates he or she will be paying personally for the subscription, it just makes sense that during this "Payer Identification" step, we immediately have the teacher provide his or her name and billing zip code. When these fields are filled, the "Next" button should become active.

Fingers crossed Stripe won't force us to collect a billing address, city, and state/province, as well.

 

Step 3: Payment Information

The third step of the payment process is shown in the sixth mockup, above. Here, we simply need to collect the credit card number, four digit expiration date, and cvv code. Would be a good idea to automatically add the slash, when the user types the expiration date. Also, break the credit card number up into chunks of 4 digits, with a bit of space between each set, and limit all 3 of these fields to numbers only. Expiration date and cvv fields should be limited to 4 digits, credit card field to 19 digits.

Just like on Learningful, we'll put the word "Pay" on the button itself, along with the total dollar amount being paid, and make it become active when all fields have been populated correctly. The seventh mockup, above, shows the "processing" state that should display once the user clicks the pay button.

 

Successful Payment

If payment is processed successfully, we show the teacher the eighth mockup, above, the payment success module. This construct reports to the user the amount paid, the description under which the payment will be reported on his or her financial statement (readingful.org), and quotes the number of days of access added to the account, as well as providing the teacher the ability to click a quick link and have the receipt of purchase show as a PDF in a new browser tab or window (just like we do on Learningful). Note in the subtitle for the "Subscription" section, the number of days has been correctly added to the total remaining. We want that to update instantly. The goal here is to hopefully be able to process payments without the teacher having to go to Stripe, and then back to Readingful (even via a redirect).

 

Payment Error

If a payment error is encountered, the notification shown in the ninth mockup, above, shall show. This screen simply tells the user that an error has been registered, that it's usually caused by mistyping, and gives the user a "Continue" button that, when clicked, should take the user back to "Step 2" showing the name and zip code as were populated. Ideally, it would be a good idea to hold the payment information provided by the user so that he or she can visually verify if an error has taken place, as he or she goes through steps 2 and 3 again.

If the payment fails a second time, we may let the "Continue" button take the user to Stripe's website to complete payment, instead. Just to see if that solves the issue.

 

Step 3: Benefactor Payment

If the teacher selects the "Benefactor" button during "Step 2," the "Next" button shall highlight, which shall then take him or her to an alternative Step 3, which automatically gives the user a custom payment link, as shown in the tenth mockup, above. With this module, the goal is simple. The user clicks or taps the link, we show "Your link has been copied successfully!" in the footer text, and the teacher then provides said link to the individual who will be paying on his or her behalf. I'd like the guest checkout to be located at /payment via a 7 digit alphanumeric code, as shown in the above example.

This, in a nutshell, will be Readingful's payment process. It's a pretty concise 3 step process.

 

No Student Accounts Warning

As shown in the eleventh mockup, above, an alternative message should show when the teacher visits the "Extend Access" panel while having no student accounts created.

"This is the section of your account that will allow you to purchase additional months of access to Readingful for your students, at your convenience. However, at this time, you do not have any student accounts created. Please use the navigation menu to your right, to visit your “Students” panel, and create a reader account for each of your students."

 

Styling Checklist:

 

Images:

1. Teacher Subsection Back Button: back_arrow_icon.svg, 20 x 30, #E2E8F7 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

2. Teacher Subsection Back Button Hover: #E2E8F7BF (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

3. Teacher Subsection Back Button OnClick: #E2E8F780 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

4. Teacher Subsection Close Button: close_button_icon.svg, 24 x 24, #E2E8F7 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

5. Teacher Subsection Close Button Hover: #E2E8F7BF (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

6. Teacher Subsection Close Button OnClick: #E2E8F780 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

7. Teacher Subsection Processing Animation Component: processing_dot.svg, 12 x 12, #6F8AE2 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

 

Text:

MOCKUP 1:

1. Teacher Account Section Title: 3.8 rem, #FFFFFF (DUPLICATE, ORIGINAL SHOWN IN "TEACHER DASHBOARD" SPECS)

2. Teacher Account Section Subtitle: 2.0 rem, #FFFFFFB3 (DUPLICATE, ORIGINAL SHOWN IN "TEACHER DASHBOARD" SPECS)

3. Teacher Subsection Title: 2.4 rem, #6F8AE2 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

4. Teacher Subsection Subtitle: 2.0 rem, #B7C7F7 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

5. Teacher Subsection Selection Button Text: 2.2 rem, #FFFFFF (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

6. Teacher Subsection Selection Button Text Hover: #FFFFFFBF (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

7. Teacher Subsection Selection Button Text OnClick: #FFFFFF80 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

8. Teacher Subsection Selection Button Text Selected: #FFFFFF (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

9. Teacher Subsection Informational Text: 1.6 rem, #576082 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

10. Teacher Subsection Infoline Footer Text: 1.6 rem, #BFC6DD (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

11. Teacher Subsection Submit Button Text: 2.2 rem, #FFFFFF (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

12. Teacher Subsection Submit Button Text Hover: 2.2 rem, #FFFFFFBF (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

13. Teacher Subsection Submit Button Text OnClick: 2.2 rem, #FFFFFF80 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

14. Teacher Subsection Submit Button Text Disabled: 2.2 rem, #FFFFFF80 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

15. Teacher Profile Name: 2.4 rem, #FFFFFF (DUPLICATE, ORIGINAL SHOWN IN "TEACHER DASHBOARD" SPECS)

 

MOCKUP 5:

1. Teacher Subsection Form Field Text Default: 2.0 rem, #9BA9C9 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

 

MOCKUP 7:

1. Teacher Subsection Form Field Text: 2.0 rem, #50557F (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

 

MOCKUP 8:

1. Teacher Subsection Informational Text Hyperlink: 1.6 rem, #4B70E8 (DUPLICATE, ORIGINAL SHOWN IN "MASS ACCOUNT CREATION" SPECS)

2. Teacher Subsection Informational Text Hyperlink Hover: 1.6 rem, #4B70E8BF (DUPLICATE, ORIGINAL SHOWN IN "MASS ACCOUNT CREATION" SPECS)

3. Teacher Subsection Informational Text Hyperlink OnClick: 1.6 rem, #4B70E880 (DUPLICATE, ORIGINAL SHOWN IN "MASS ACCOUNT CREATION" SPECS)

 

MOCKUP 10:

1. Benefactor Payment Hyperlink: 2.0 rem, #7095F2

2. Benefactor Payment Hyperlink Hover: 2.0 rem, #7095F2BF

3. Benefactor Payment Hyperlink OnClick: 2.0 rem, #7095F280

 

Objects:

1. Teacher Subsection Form Field Background: 230 x 50, #EBF0FC (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

2. Teacher Subsection Submit Button Background: Variable x 50, #6C96FF (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

3. Teacher Subsection Submit Button Background Hover: Variable x 50, #6C96FFBF (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

4. Teacher Subsection Submit Button Background OnClick: Variable x 50, #6C96FF80 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

5. Teacher Subsection Submit Button Background Disabled: Variable x 50, #6C96FF80 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

6. Teacher Subsection Selection Button Background: 50 x 50, #E2E8F7 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

7. Teacher Subsection Selection Button Background Hover: 50 x 50, #E2E8F7BF (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

8. Teacher Subsection Selection Button Background Onclick: 50 x 50, #E2E8F780 (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)

9. Teacher Subsection Selection Button Background Selected: 50 x 50, #94B8FF (DUPLICATE, ORIGINAL SHOWN IN "STUDENT ACCOUNT CREATION" SPECS)