Registered user changes

This Standard Operating Procedure (SOP) outlines the process for a registered web user to modify their contact or account details in IP1.

Procedure

It is your responsibility to ensure that you understand this procedure before performing the following tasks.

Note

Deviations from this procedure should be covered by procedures written by your company. Before performing any tasks please ensure all the business rules are set-up accordingly. 

Overview

Although, all the web services outlined in this SOP document are theoretically available to any registered web user, typically most companies restrict maintenance of Customer details to their internal staff (eg. accounts or customer service) and only allow web users to maintain their individual Contact details. Eg.  

  • B2C users can typically change a number of their details, including adding or updating delivery addresses and contact details.
  • B2B users are typically only permitted to change their contact details and password.

Refer B2C vs B2B User Comparison for further information. This could be controlled in a couple of ways:

  1. The website could execute getBasicUserDetails to retrieve the current role Id setting (Primary Role Id), and use this to control access to functions within the website such as maintenance of delivery addresses or customer classifications.
  2. Alternatively, the website could simply identify B2B vs B2C user and restrict access to B2C users only. Refer B2C vs B2B User Comparison for information on distinguishing B2C vs B2B.

 Process

This document assumes web user has already been registered and is logged onto an active web session as a registered user.

  1. User selects ‘My Account’ option from website
  2. Website presents the following sections:
    • Contact Details
    • Change Password
    • Delivery Addresses
    •  
  3. To change contact details
    • Website executes getContact to retrieve & display current details for this contact.
    • User views the current contact details and clicks “Edit”
    • User edits the current details displayed on the page. Eg.
      • Contact name
      • Email address
      • Billing address
      • Phone number
      • Whether this user accepts partial deliveries or substitutes on their orders
      • Contact Classification Codes (where applicable for this implementation – refer TMSCRM/CC-A configuration)
    • Website validates email address and required fields and then executes updateContact
    • IP1 will return a Boolean of whether the update is successful or not, and if not, then will also return appropriate error message(s).
    • If any validation errors returned, the website will display the error messages and return to step c, allowing the user to correct these.
  1. To change password
    • User enters current password, new password and confirm new password.
    • Website may optionally check if the the new password matches the confirmed password, or could allow IP1 to do this check.
    • Website executes changePassword
    • IP1 will return a Boolean of whether the update is successful or not, and if not, then will also return appropriate error message(s).
    • If any validation errors returned, the website will display the error messages and return to step a, allowing the user to try again.
  2. Delivery address(es)
    • Website executes getDeliveryAddress and displays current address(es).
    • OPTIONAL authority check to see if user is allowed to change or add address(es)
      • Changing or adding delivery addresses may be restricted to B2C accounts. Website executes restriction checks as outlined in the Overview section.
      • For B2B users, website might display a message such as “ Please contact the customer service team if changing your delivery address or store location”
      • If user is authorised to change delivery address(es), then the website will proceed as follows:
    • To change an existing address:
      • User selects delivery address to modify and selects ‘edit’
      • Website presents user with form containing current address details and allows user to make changes to the form:
        • In addition to the address fields (Street, City, etc.), the form will include:
        • deliveryName (Description of this delivery address entry)
        • addressActive (Check box to flag if this address is active)
        • preferredDelivery (Check box to indicate if this is the preferred delivery address. Only applicable where multiple addresses are given)
      • Website executes updateDeliveryAddress passing deliveryNumber and revised details from above form.
      • IP1 will return a Boolean of whether the update is successful or not, and if not, then will also return appropriate error message(s).
      • If any validation errors returned, the website will display the error messages and return to step e, allowing the user to try again.
    • To add a new address:
      • User clicks ‘Create New Delivery Address’ button.
      • Website presents user with an empty form similar the the one above and allows user to key new address details in the form:
        • In addition to the address fields (Street, City, etc.), the form will include:
        • deliveryName (Description of this delivery address entry)
        • addressActive (Check box to flag if this address is active)
        • preferredDelivery (Check box to indicate if this is the preferred delivery address. Only applicable where multiple addresses are given)
      • Website executes addDeliveryAddress passing deliveryNumber and revised details from above form.
      • IP1 will return a Boolean of whether the update is successful or not, and if not, then will also return appropriate error message(s).
      • If any validation errors returned, the website will display the error messages and return to step e, allowing the user to try again.
    • To delete an address:
      • There is no option to delete a delivery address entry, but the user can flag an address as inactive.
      • Website executes updateDeliveryAddress, passing addressActive as false.
    • To set preferred delivery address:
      • Each delivery address has a deliveryNumber. This is a sequential number starting at zero.
      • By default, address 000 will be the preferred delivery address, but the user could nominate an alternative delivery address as their preferred one.
      • Website executes updateDeliveryAddress, passing preferredDelivery field as ‘true’ for this deliveryNumber.
  1. Once the website receives acknowledgement of successful update with no errors from the relevant web service above, the website displays a confirmation message indicating that details have been updated.

Additional notes & alternate scenarios

Email & address validations

Sometimes, the website might perform its own validations on email or delivery addresses, but generally this would be left to IP1 to validate.

View and maintain contact links (B2B or inhouse reps only)

Each contact record may be linked to multiple customer accounts and each customer account may have multiple contact records linked to it. For B2C users & accounts, this would be a one-to-one relationship, but for other users or customers, there could be multiple links. A registered B2B user may be linked to:

  • One or more Author accounts
    • For example, an agent may represent multiple authors and may be given access to all of these
  • AND / OR
  • One or more Customer accounts
    • For example:
      • A buyer may work for multiple customers and may be given access to all of these
      • An internal sales rep may be given access to log into customer account and place orders on their behalf
    • Scenarios for one contact linked to multiple customers would be relevant only in B2B environment.

In some circumstances B2B web users or Inhouse reps may be given authority to add/remove links between contacts (web users) and their customer account(s) themselves. In this scenario, the following web services would be used:

View and maintain customer classifications

Customer Classifications can be used to set additional information about a customer that may not be held on the IP1 Customer Master file. These are configured during implementation. Typical examples might be:

  • Type of Business (CC-TOB) such as library supply, department/chain store, independent bookstore, primary school, etc.
  • Buying Group (CC-BG) such as Dymocks, etc.
  • Interest codes might be used to flag which product groups or services this customer might be interested in. This could be used for targeted marketing campaigns.

These are normally set to a default value during customer account creation based on a CRM template (refer Create Registered User (B2C) and Create Registered User (B2B) documents for more details.

After initial creation of the customer account, these classification are typically maintained by internal staff. However, in some implementations, there may be a need to allow registered users to maintain one or more of these classification types themselves. In that scenario, the following web services would  be used:

 

View and maintain user defined fields

User Defined Fields (UDF), can be configured during implementation against various master files including contacts, customers, products and creditors.

Contact your IP1 consultant for information on the specific entity and property values configured for this implementation.

In some implementations, there may be a requirement to view these on the website.