In collaboration with NAT’s hardware staff, natPortal proposes the following user journey for hardware lending.

Two tyeps of lending are considered:

Year-roundEvent-specific
FeesLending feeNo lending fee
Date restrictionNo restrictionMust be used during event dates

Requirements

natPortal User

The natPortal user must be able to:

  • Request a lending contract

  • View the availability of hardware

  • Receive a lending contract in the email linked to their account*

  • Fill the lending contract*

  • Upon filling the form, be redirected to payment*

  • Upon making payment, receive confirmation that the form was received*

Hardware lending staff

Hardware lending staff must be able to:

  • Be notified of a completed lending form*
  • View and approve the form*
  • Open an email correspondence with the natPortal User to arrange lending of hardware*

* Fulfilled by platforms external to natPortal

Snipe-IT is a inventorying software hosted and managed by NAT, for use by NAT’s hardware lending staff. Hardware lending staff will use Snipe-IT to track the hardware lent, as well as the corresponding borrowers’ emails and contracts.

SignNow is an external platform allowing NAT’s staff to define and send legally binding documents to be filled and returned online. Hardware lending staff will use SignNow to manually send, view, and approve documents.

sequenceDiagram
  Actor User
  Participant natPortal
  Participant SignNow

  User ->> natPortal: Request hardware
  
  natPortal ->>+ SignNow: Invite user to sign
  SignNow ->> User: Send email to user
  SignNow --)- natPortal: Contract successfully emailed
  natPortal --) User: Display success message

Figure 1. Sequence diagram illustrating a user requesting a lending contract, beginning the lending process.

sequenceDiagram
  Actor User
  Participant SignNow
  Participant Stripe

  User ->>+ SignNow: Fill and send contract
  SignNow ->>+ Stripe: Request payment session
  Stripe --)- SignNow: Return payment session
  SignNow --)- User: Redirect user to payment
  User ->> Stripe: Complete payment
  Note over User,Stripe: The completed contract is then available for review<br/>by the lending staff.

Figure 2. Sequence diagram illustrating a user filling the contract and paying, qualifying them for receiving hardware.

Concerns

  1. It is possible for a user to request multiple forms, causing the SignNow API to rate-limit. For this feature’s MVP, no limit will be implemented on requesting forms from SignNow. However, rate-limiting is a feature that will benefit all of natPortal’s requests. Future development of natPortal, as soon as we demonstrate stable functioning of natPortal and all her systems, shall include rate-limiting of this API as well as all other requests.

  2. It is possible for a user to complete payment for multiple forms and request multiple refunds, causing NAT to cover the Stripe processing fees. The hardware lending staff responsible for writing the contract will include a clause which allows NAT to retain a portion of the payment covering the Stripe processing fees.