Skip to content

Business rules around payments membership and H Branding

Patrick Bolger edited this page May 1, 2018 · 1 revision

Definitions:

Definitions are important so that we all know we are talking about the same thing and so that we can be as specific and precise and accurate as possible.

  • member in good standing: a member that has paid their membership fee for this term and their membership term has not expired.

  • membership term (tbd) The length of time that a membership lasts. Is 1 year by default, but can be manually altered by changing the 'expire date' (the end date).

  • company branding fee term _How is this calculated? what happens when this gets 'out of sync' with the membership term(s) of the members associated with a company? Does it matter?

  • expiration date (tbd) the end of a term. Ex: end of a membership term or end of a company branding fee term

Payment-related business rules

  1. A user can see and edit their own company if they are a member (which implies payment of the membership fee).

  2. A company will be made visible to the public (show on map, appear in lists, be searchable, etc.) if the h-branding fee has been paid and it has at least 1 current member (= membership is current & paid). See (4) below. Otherwise, the company is not visible.

  3. A company for which the branding period has expired is turned invisible to the public upon expiration (no grace period, no admin switch required to turn it on or off). This also prevents the members of that company from editing the company.

  4. Also, if all of a company's members have expired their membership period, then the company is turned invisible to the public. Any member of that company cannot edit the company nor even pay the H-Branding fee until he or she pays their membership fee and then pays the H-Branding fee.

  5. A user whose membership has expired cannot operate on the site as a member (edit their company in particular) until that member has paid the membership fee and the membership is current.

Admin capabilities related to payments

Membership payments

On a user's account page, an admin can edit certain attributes associated with the user's membership status and latest membership payment. The edit form provides these fields for editing:

  1. Member? - Set membership to "Yes" or "No".
  2. Expire Date - Adjust the expiration date of the user's latest membership payment.
  3. Notes - Add notes explaining why any adjustments are being made, etc. (these notes are attached to the latest payment record, and the intent is to provide context for changes to payment status)

Some things to be aware of:

  1. Business rule #5 is enforced by checking if the user's latest membership payment has expired when they login. If the payment has expired, the user's status is set to non-membership. Subsequently, if the admin changes the membership status to "Yes", but does not set the expire date to a future date, the same thing will happen to the user when they next login. If the admin wants to extend the user's membership, they need to set the membership status and adjust the expire date.

  2. If the user has never made a membership payment, the admin might try to set the payment expire date in the edit form. This will have no effect, as the intent of the form is to allow edits for the latest payment. If there is no payment for the user, then expire date is ignored. That is, we don't create a "fictional" payment when none has actually occurred.

H-Branding payments

On a company's show page, an admin can edit certain attributes associated with the company's payment. The edit form provides these fields for editing:

  1. Expire Date - Adjust the expiration date of the company's latest branding payment.
  2. Notes - Add notes explaining why any adjustments are being made, etc. (these notes are attached to the latest payment record, and the intent is to provide context for changes to payment status)

Something to be aware of:

  1. If the company has never made a branding payment, the admin might try to set the payment expire date in the edit form. This will have no effect, as the intent of the form is to allow edits for the latest payment. If there is no payment for the company, then expire date is ignored. That is, we don't create a "fictional" payment when none has actually occurred.

Considerations for possible enhancement

Right now, a member has to pay the membership fee and the H-branding fee in 2 separate steps.

  • because we needed this implemented quickly
  • will get feedback from use and decide what could/needs to be changed

In the future (not a priority right now), could be good to be able to pay both at once.

  • but if the H-branding fee has already been paid, the system wouldn't even show the H-branding fee as needing to be paid
Clone this wiki locally