portal.canadianlinen.com Open in urlscan Pro
130.52.144.104  Public Scan

Submitted URL: http://portal.canadianlinen.com/
Effective URL: https://portal.canadianlinen.com/MyAccount/SignIn?returnUrl=%2fPortalHome
Submission: On February 09 via manual from CA — Scanned from CA

Form analysis 5 forms found in the DOM

<form class="ng-pristine ng-valid">
  <!-- ngIf: ::vm.session.isAuthenticated -->
</form>

Name: vm.signInForm

<form id="signInForm" name="vm.signInForm" novalidate="" class="ng-pristine ng-invalid ng-invalid-required ng-valid-maxlength">
  <div id="signin_form" class="user-signin">
    <div class="ff" id="ffUserName">
      <label for="SignInInfo_UserName">Username:</label>
      <input type="text" id="SignInInfo_UserName" name="userName" placeholder="Enter your username" required="" maxlength="75" ng-model="vm.userName" class="ng-pristine ng-untouched ng-invalid ng-invalid-required ng-valid-maxlength">
      <!-- ngIf: vm.signInForm.$submitted && vm.signInForm.userName.$error.required -->
    </div>
    <div id="ForgotUNPop" open-forgot-username-popup="vm.openForgotUsernamePopup()" email="vm.email" send-username-error="vm.sendUsernameError" send-username-required="vm.sendUsernameRequired" send-username="vm.sendUsername()"
      send-username-success="vm.sendUsernameSuccess">
      <a href="#" ng-click="openForgotUsernamePopup()" class="tiny-lnk" id="forgotUsernameLink" data-reveal-id="forgotUsernamePopup" title="Click here if you have forgotten your username.">Forgot Username?</a>
      <div id="forgotUsernamePopup" class="reveal-modal popup-forgot-un" data-reveal="" data-reveal-init="">
        <div class="modal-wrap">
          <h2>Forgot Username</h2>
          <div ng-show="!sendUsernameSuccess">
            <p class="row message">Please enter your email address and select Submit.</p>
            <div class="ff">
              <label for="Email">Email Address:</label>
              <input type="text" id="Email" name="Email" placeholder="Enter account Email Address" data-rule-required="true" data-msg-required="Email Address is required" data-rule-email="true" data-msg-email="Email Address is invalid"
                ng-model="email" class="ng-pristine ng-untouched ng-valid">
              <!-- ngIf: sendUsernameRequired -->
            </div>
            <p class="error">
              <!-- ngIf: sendUsernameError -->
            </p>
            <div class="row btns">
              <button id="forgotUsernamePopupsendUsernameButton" type="button" class="btn primary btn-send-username" ng-click="sendUsername(email)" title="Click to submit your request">Submit</button>
              <button id="forgotUsernamePopupCancelButton" type="button" class="btn secondary btn-cancel" onclick="$('.close-reveal-modal').click()" title="Click to cancel">Cancel</button>
            </div>
          </div>
          <div class="un-reset ng-hide" ng-show="sendUsernameSuccess">
            <div class="row message">Your Username has been emailed to the address associated with your account.</div>
            <div class="row btns">
              <button id="forgotUsernamePopupCloseAfterSuccessButton" type="button" class="btn primary btn-done" onclick="$('.close-reveal-modal').click()">Close</button>
            </div>
          </div>
          <a id="forgotUsernamePopupCloseButton" class="close-reveal-modal">×</a>
        </div>
      </div>
    </div>
    <div class="ff" id="ffPassword">
      <label for="SignInInfo_Password">Password:</label>
      <input type="password" id="SignInInfo_Password" name="password" placeholder="Enter your password" required="" maxlength="75" ng-model="vm.password" class="ng-pristine ng-untouched ng-invalid ng-invalid-required ng-valid-maxlength">
      <!-- ngIf: vm.signInForm.$submitted && vm.signInForm.password.$error.required -->
    </div>
    <div id="ForgotPWPop">
      <a href="#" ng-click="vm.resetForgotPasswordPopup()" class="tiny-lnk" id="forgotPasswordLink" data-reveal-id="forgotPasswordPopup" title="Click here if you have forgotten your password.">Forgot Password?</a>
      <div id="forgotPasswordPopup" class="reveal-modal popup-forgot-pw" data-reveal="" data-reveal-init="">
        <div class="modal-wrap">
          <h2>Forgot Password</h2>
          <div ng-show="!vm.resetPasswordSuccess">
            <div class="row message">To reset your password, please enter the email address associated with the account.</div>
            <form id="resetPasswordForm" class="custom ng-pristine ng-valid">
              <div class="ff">
                <label for="Email">Email Address:</label>
                <input type="text" id="Email" name="Email" placeholder="Enter account Email Address" data-rule-required="true" data-msg-required="Email Address is required" data-rule-email="true" data-msg-email="Email Address is invalid"
                  ng-model="vm.email" class="ng-pristine ng-untouched ng-valid">
                <span class="field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span>
              </div>
              <p class="error">
                <!-- ngIf: vm.resetPasswordError -->
              </p>
              <div class="row btns">
                <button id="forgotPasswordPopupResetPasswordButton" type="button" class="btn primary btn-reset-password" ng-click="vm.resetPassword()" title="Click to submit your request">Reset Password</button>
                <button id="forgotPasswordPopupCancelButton" type="button" class="btn secondary btn-cancel" onclick="$('.close-reveal-modal').click()" title="Click to cancel">Cancel</button>
              </div>
            </form>
          </div>
          <div class="pw-reset ng-hide" ng-show="vm.resetPasswordSuccess">
            <div class="row message">Your password has been emailed to the address associated with your account.</div>
            <div class="row btns">
              <button id="forgotPasswordPopupCloseAfterSuccessButton" type="button" class="btn primary btn-done" onclick="$('.close-reveal-modal').click()">Close</button>
            </div>
          </div>
          <a id="forgotPasswordPopupCloseButton" class="close-reveal-modal">×</a>
        </div>
      </div>
    </div>
  </div>
</form>

<form id="resetPasswordForm" class="custom ng-pristine ng-valid">
  <div class="ff">
    <label for="Email">Email Address:</label>
    <input type="text" id="Email" name="Email" placeholder="Enter account Email Address" data-rule-required="true" data-msg-required="Email Address is required" data-rule-email="true" data-msg-email="Email Address is invalid" ng-model="vm.email"
      class="ng-pristine ng-untouched ng-valid">
    <span class="field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span>
  </div>
  <p class="error">
    <!-- ngIf: vm.resetPasswordError -->
  </p>
  <div class="row btns">
    <button id="forgotPasswordPopupResetPasswordButton" type="button" class="btn primary btn-reset-password" ng-click="vm.resetPassword()" title="Click to submit your request">Reset Password</button>
    <button id="forgotPasswordPopupCancelButton" type="button" class="btn secondary btn-cancel" onclick="$('.close-reveal-modal').click()" title="Click to cancel">Cancel</button>
  </div>
</form>

<form id="changePasswordForm" class="ng-pristine ng-valid">
  <div class="row ca-form-username">
    <div class="medium-5 large-5 columns">
      <label for="ChangePasswordInfo_UserName">Username <span class="redTxt">*</span></label>
    </div>
    <div class="medium-7 large-7 columns">
      <input type="text" id="ChangePasswordInfo_UserName" name="ChangePasswordInfo.UserName" data-rule-required="true" data-msg-required="Username is required" ng-model="vm.userName" class="ng-pristine ng-untouched ng-valid">
      <span class="field-validation-valid" data-valmsg-for="ChangePasswordInfo.UserName" data-valmsg-replace="true"></span>
    </div>
  </div>
  <div class="row ca-form-password">
    <div class="medium-5 large-5 columns">
      <label for="ChangePasswordInfo_Password">Existing Password <span class="redTxt">*</span></label>
    </div>
    <div class="medium-7 large-7 columns">
      <input type="password" id="ChangePasswordInfo_Password" name="ChangePasswordInfo.Password" data-rule-required="true" data-msg-required="Password is required" ng-model="vm.password" class="ng-pristine ng-untouched ng-valid">
      <span class="field-validation-valid" data-valmsg-for="ChangePasswordInfo.Password" data-valmsg-replace="true"></span>
    </div>
  </div>
  <div class="row ca-form-password">
    <div class="medium-5 large-5 columns">
      <label for="ChangePasswordInfo_NewPassword">New Password <span class="redTxt">*</span></label>
    </div>
    <div class="medium-7 large-7 columns">
      <input type="password" id="ChangePasswordInfo_NewPassword" name="ChangePasswordInfo.NewPassword" data-rule-required="true" data-msg-required="Password is required" data-rule-minlength="7"
        data-msg-minlength="Passwords must be at least 7 characters long." ng-model="vm.newPassword" class="ng-pristine ng-untouched ng-valid">
      <span class="field-validation-valid" data-valmsg-for="ChangePasswordInfo.NewPassword" data-valmsg-replace="true"></span>
    </div>
  </div>
  <div class="row ca-form-retype">
    <div class="medium-5 large-5 columns">
      <label for="ChangePasswordInfo_ConfirmPassword">Confirm Password <span class="redTxt">*</span></label>
    </div>
    <div class="medium-7 large-7 columns">
      <input type="password" id="ChangePasswordInfo_ConfirmPassword" name="ChangePasswordInfo.ConfirmPassword" data-rule-required="true" data-msg-required="Confirm Password is required" data-rule-equalto="#ChangePasswordInfo_NewPassword"
        data-msg-equalto="Password combination does not match" ng-model="vm.confirmPassword" class="ng-pristine ng-untouched ng-valid">
      <span class="field-validation-valid" data-valmsg-for="ChangePasswordInfo.ConfirmPassword" data-valmsg-replace="true"></span>
      <div class="pw-note">Passwords must be at least 8 characters long, include at least one Upper Case and one Lower Case letter, and one number.</div>
    </div>
  </div>
  <div class="error">
    <!-- ngIf: vm.changePasswordError -->
  </div>
  <div class="btns">
    <button id="changePasswordSubmitButton" type="submit" class="btn primary" ng-click="vm.changePassword()">Change Password</button>
  </div>
</form>

<form id="createAccountForm" class="ng-pristine ng-valid">
  <h2>Create User Account</h2>
  <div class="cm">
    <p>Need to create a user account? Complete the form below for access. <span class="createAcctIntro">A recent Canadian Linen statement or invoice can help you locate your customer number and bill-to postal code.</span></p>
    <p id="MultAcctLink" ng-click="showregmore=showregmore?false:true">Need access to more than one account?</p>
    <div class="multacctcontainer ui-draggable ui-draggable-handle">
      <div id="MultAcctGuide" ng-show="showregmore" class="ng-hide">
        <h3>Register Multiple Accounts</h3>
        <div class="closebtn" ng-click="showregmore=showregmore?false:true"></div>
        <p class="multaccttext">If you need online access to more than one account, please register one of your accounts here, and then send an email to
          <a href="mailto: webstore@canadianlinen.com?subject=Register Multiple Accounts">webstore@canadianlinen.com</a>. Include the username you registered and the additional accounts to which you need online access.</p>
      </div>
    </div>
    <p> Questions? <a title="View a short guide to our Customer Portal" href="/Themes/CanadianLinenPortal/Images/CanadianLinenCustomerPortalStarterGuide.pdf" target="_blank">Click here for a short guide to getting started on the Customer Portal</a>,
      or call 866-822-4763. </p>
    <p>Please enter the following information (required):</p>
    <p><span data-valmsg-replace="true" data-valmsg-for="US_SelfRegistration_Failed" class="field-validation-valid"></span></p>
  </div>
  <div class="user-setup">
    <div class="ff">
      <label for="CreateNewAccountInfo_CustNum">Customer Number:<span id="custNumHelp" class="formhint" title="Find Customer Number" ng-click="showspan=showspan?false:true">?</span></label>
      <input type="text" id="CreateNewAccountInfo_CustNum" name="CreateNewAccountInfo.CustNum" placeholder="Enter Customer Number" data-rule-required="true" data-msg-required="Customer Number is required" ng-model="vm.customerNumber"
        class="ng-pristine ng-untouched ng-valid">
      <span class="field-validation-valid" data-valmsg-for="CreateNewAccountInfo.CustNum" data-valmsg-replace="true"></span>
    </div>
    <div class="custhintcontainer ui-draggable ui-draggable-handle">
      <div id="custhints" ng-show="showspan" class="ng-hide">
        <h3>Your Customer Number:</h3>
        <div class="closebtn" ng-click="showspan=showspan?false:true"></div>
        <div class="custhintimage"></div>
      </div>
    </div>
    <div class="ff" zip-code="vm.billToZipCode">
      <label for="CreateNewAccountInfo_BillToZip">Bill-to Postal Code:<span id="billtoZipHelp" class="formhint" title="Find Bill-to Postal Code" ng-click="showzip=showzip?false:true">?</span></label>
      <input type="text" id="CreateNewAccountInfo_BillToZip" name="CreateNewAccountInfo.BillToZip" placeholder="Enter Bill-to Postal Code" data-rule-required="true" data-msg-required="Bill-to Postal Code is required" ng-model="vm.billToZipCode"
        class="ng-pristine ng-untouched ng-valid">
      <span class="field-validation-valid" data-valmsg-for="CreateNewAccountInfo.BillToZip" data-valmsg-replace="true"></span>
    </div>
    <div class="ziphintcontainer ui-draggable ui-draggable-handle">
      <div id="ziphints" ng-show="showzip" class="ng-hide">
        <h3>Your Postal Code:</h3>
        <div class="closebtn" ng-click="showzip=showzip?false:true"></div>
        <div class="ziphintimage"></div>
      </div>
    </div>
    <div class="ff">
      <label for="CreateNewAccountInfo_FirstName">First Name:</label>
      <input type="text" id="CreateNewAccountInfo_FirstName" name="CreateNewAccountInfo.FirstName" placeholder="Enter your First Name" data-rule-required="true" data-msg-required="First Name is required" ng-model="vm.firstName"
        class="ng-pristine ng-untouched ng-valid">
      <span class="field-validation-valid" data-valmsg-for="CreateNewAccountInfo.FirstName" data-valmsg-replace="true"></span>
    </div>
    <div class="ff">
      <label for="CreateNewAccountInfo_LastName">Last Name:</label>
      <input type="text" id="CreateNewAccountInfo_LastName" name="CreateNewAccountInfo.LastName" placeholder="Enter your Last Name" data-rule-required="true" data-msg-required="Last Name is required" ng-model="vm.lastName"
        class="ng-pristine ng-untouched ng-valid">
      <span class="field-validation-valid" data-valmsg-for="CreateNewAccountInfo.LastName" data-valmsg-replace="true"></span>
    </div><b></b>
    <div class="ff">
      <label for="CreateNewAccountInfo_UserName">Username:</label>
      <input type="text" id="CreateNewAccountInfo_UserName" name="CreateNewAccountInfo.UserName" placeholder="Enter a Username" data-rule-required="true" data-msg-required="Username is required" ng-model="vm.userName"
        class="ng-pristine ng-untouched ng-valid">
      <span class="field-validation-valid" data-valmsg-for="CreateNewAccountInfo.UserName" data-valmsg-replace="true"></span>
    </div>
    <div class="ff">
      <label for="CreateNewAccountInfo_EmailAddress">Email Address:</label>
      <input type="text" id="CreateNewAccountInfo_EmailAddress" name="CreateNewAccountInfo.EmailAddress" placeholder="Enter your Email Address" data-rule-required="true" data-msg-required="Email Address is required" data-rule-email="true"
        data-msg-email="Email Address is invalid" ng-model="vm.email" class="ng-pristine ng-untouched ng-valid">
      <span class="field-validation-valid" data-valmsg-for="CreateNewAccountInfo.EmailAddress" data-valmsg-replace="true"></span>
    </div>
    <div class="ff">
      <label for="CreateNewAccountInfo_Password">Password:<span id="passwordhelp" class="formhint" title="Password Criteria" ng-click="showpwhints=showpwhints?false:true">?</span></label>
      <input type="password" id="CreateNewAccountInfo_Password" name="CreateNewAccountInfo.Password" placeholder="Enter a Password" data-rule-required="true" data-msg-required="Password is required" data-rule-minlength=""
        data-msg-minlength="Passwords must be at least undefined characters long." ng-model="vm.password" class="ng-pristine ng-untouched ng-valid">
      <span class="field-validation-valid" data-valmsg-for="CreateNewAccountInfo.Password" data-valmsg-replace="true"></span>
    </div>
    <div class="pwhintcontainer ui-draggable ui-draggable-handle">
      <div id="passwordhints" ng-show="showpwhints" class="ng-hide">
        <h3>Password Criteria</h3>
        <div class="closebtn" ng-click="showpwhints=showpwhints?false:true"></div>
        <ul class="pwmain">
          <li> Passwords <em>MUST:</em>
            <ul class="pwmusts">
              <li>Be at least 8 characters in length</li>
              <li>Contain at least 1 letter <span class="upper">UPPER CASE</span></li>
              <li>Contain at least 1 letter <span class="lower">lower case</span></li>
              <li>Contain at least 1 number.</li>
            </ul>
          </li>
          <li> Passwords <em>MAY</em> contain the following characters: <ul class="pwmay">
              <li> " &lt; &gt; $ ~ ' ` ! @ # % ^ &amp; * ( ) -<br> + { } [ ] = : , . ? / | \ </li>
            </ul>
          </li>
        </ul>
      </div>
    </div> <!-- end pwhintcontainer -->
    <div class="ff">
      <label for="CreateNewAccountInfo_ConfirmPassword">Re-Type Password:</label>
      <input type="password" id="CreateNewAccountInfo_ConfirmPassword" name="CreateNewAccountInfo.ConfirmPassword" placeholder="Re-type your Password" data-rule-required="true" data-msg-required="Re-Type Password is required"
        data-rule-equalto="#CreateNewAccountInfo_Password" data-msg-equalto="Password combination does not match" ng-model="vm.confirmPassword" class="ng-pristine ng-untouched ng-valid">
      <span class="field-validation-valid" data-valmsg-for="CreateNewAccountInfo.ConfirmPassword" data-valmsg-replace="true"></span>
    </div>
    <div class="error">
      <!-- ngIf: vm.createError -->
    </div>
    <div class="btns">
      <button id="createAccount" type="submit" class="btn" ng-disabled="vm.isCreatingAccount" ng-click="vm.createAccount()" title="Submit Registration">Submit Registration</button>
    </div>
  </div>
</form>

Text Content

Unable to calculate charges due to invalid address. Update your information


×

Error with api call, error was:




×
 * Online Store
 * Sign In
 * Sign In
 * Select Account:

 * My Bill
 * My Resources
 * My Services
 * My Deliveries
 * My Messages
 * Contact Us
 * My Account
 * FAQ



Français
 * My Bill
 * My Resources
 * My Services
 * My Deliveries
 * My Messages
 * Contact Us
 * My Account
 * FAQ




We have recently added some updates to improve the security and operation of our
customer portal. For best results, please clear your browser cache before you
login.


SIGN IN

Welcome back! Registered users can log in here to access the full Canadian Linen
experience.

Username:
Forgot Username?


FORGOT USERNAME

Please enter your email address and select Submit.

Email Address:



Submit Cancel
Your Username has been emailed to the address associated with your account.
Close
×
Password:
Forgot Password?


FORGOT PASSWORD

To reset your password, please enter the email address associated with the
account.
Email Address:



Reset Password Cancel
Your password has been emailed to the address associated with your account.
Close
×
Sign In


CHANGE PASSWORD

A password change is required for your account before you may continue.
Username *

Existing Password *

New Password *

Confirm Password *
Passwords must be at least 8 characters long, include at least one Upper Case
and one Lower Case letter, and one number.

Change Password


CREATE USER ACCOUNT

Need to create a user account? Complete the form below for access. A recent
Canadian Linen statement or invoice can help you locate your customer number and
bill-to postal code.

Need access to more than one account?


REGISTER MULTIPLE ACCOUNTS



If you need online access to more than one account, please register one of your
accounts here, and then send an email to webstore@canadianlinen.com. Include the
username you registered and the additional accounts to which you need online
access.

Questions? Click here for a short guide to getting started on the Customer
Portal, or call 866-822-4763.

Please enter the following information (required):



Customer Number:?


YOUR CUSTOMER NUMBER:



Bill-to Postal Code:?


YOUR POSTAL CODE:



First Name:
Last Name:
Username:
Email Address:
Password:?


PASSWORD CRITERIA


 * Passwords MUST:
   * Be at least 8 characters in length
   * Contain at least 1 letter UPPER CASE
   * Contain at least 1 letter lower case
   * Contain at least 1 number.
 * Passwords MAY contain the following characters:
   * " < > $ ~ ' ` ! @ # % ^ & * ( ) -
     + { } [ ] = : , . ? / | \

Re-Type Password:

Submit Registration
 * Contact Us:
 * 866-822-4763

 * Resources:
 * Privacy Policy
 * Terms & Conditions

 * Visit other Sites:
 * Canadian Linen.com
 * Store canadianlinen.com
 * About Canadian Linen
 * Rental & Lease Program
 * News & Events

© 2023 Canadian Linen service, Inc. All Rights Reserved.