October 7, 2014 · West Coast Media Solutions Inc. · 12 min read
Find every year typed into the site's forms, scripts and settings, and have each one calculated from today's date instead. Then test January bookings and a card expiring years ahead well before the holidays.
No January in the booking form
A guest house on the coast takes bookings through a form on its website. A couple planning a January weekend opens the year menu, and it ends at 2014.
They phone instead, which works on a quiet afternoon. Others simply close the page and book somewhere that lets them choose the date.
The deposit page has the same flaw from the other side. Its card expiry menu also ends at 2014, so it cannot take a card that is valid beyond this December.
Years typed in by hand
When the site was built, someone typed the years into each menu: the year of the build and a few after it. At the time the list looked generous.
Nothing changes those lists as the calendar moves. In the last listed year the booking window shrinks toward December, and in January the menu would offer only years that have passed.
Card menus fail first, because cards are issued for several years at a time. A menu that ends at the current year turns away nearly every card in a guest's wallet.
Staff seldom notice, because they rarely book through their own website.
Where years hide on a site
Years written in by hand turn up in more places than the visible menus:
Year menus in booking and enquiry forms.
Card expiry menus on deposit forms the site shows itself.
Date picker settings in scripts, with a last selectable date or a fixed range of years.
Booking settings such as a season end date, or a rates table that stops in December.
Checks on the server that refuse any date past a fixed day.
The copyright line in the footer, harmless but a clue to what else was typed in.
The fourth and fifth are the hardest to spot, because the form looks fine until a guest submits it and gets an error.
Calculated from today's date
Each of these should be worked out when the page is shown, from today's date: this year and the next two in a booking menu, this year and the ten after it for cards.
A date picker can take its limits as a distance from today, such as eighteen months ahead, rather than as a fixed last day.
Server checks should compare with the current date in the same way, so the form and the server agree about what is allowed.
Done once, by whoever maintains the site, none of these needs touching again at New Year.
Two clocks, not one
A date picker runs in the visitor's browser and reads the visitor's computer clock. Menus built on the server use the server's clock, which may be set to another time zone.
On New Year's Eve, a server set to universal time is already in the new year at four in the afternoon in Vancouver.
A form that mixes both clocks can disagree with itself for a few hours each year. Pick one source of today's date, usually the server, and use it everywhere.
A worked example
A cat-skiing operator in the Interior takes many of its bookings in the fall, for trips from December to April, with a deposit paid online.
In early October, the office noticed that bookings for January to April had stopped arriving through the site, while the phone was busier than usual.
The trip calendar had a last selectable date of December 31, typed into the script's settings years before. The deposit form's card expiry menu ended at the current year.
The developer replaced both with calculated values: trips selectable to the end of the following season, and card years from now to ten years ahead.
The server's own check on trip dates, which also had a fixed last day, was changed to match. A test booking for March, paid with a test card expiring years ahead, went through.
Testing as if it were January
Make test bookings for dates in January, February and next summer, on a computer and on a phone.
Pay a deposit with a test card that expires several years ahead, using the payment company's test mode, and confirm the deposit appears where it should.
To test a date picker, set a test computer's clock to late December, then early January, and see what the calendar offers. Server menus need a test copy of the site with its date changed.
Read the confirmation email for each test booking. A year printed wrongly there misleads the guest even when the booking itself is right.
Check the office side as well: the calendars, rates and reports for next year should exist before the first booking for it arrives.
Before the holidays, not after
Fall is when guests book winter stays, holiday visits and next summer's trips. A form that cannot reach next year turns those guests away just as they arrive.
A guest who meets a form that cannot take their dates seldom reports it. They book elsewhere, and the owner sees only a quiet inbox.
Problems left until January are found by guests first, and by then the menus offer only years that have passed.
The counter-case
Many booking systems already calculate their years, and a payment page hosted by the payment company keeps its own card menu current. A site using both may have nothing to fix.
A guest house that takes every booking by phone and uses its website only for information has no form to worry about.
But the check takes minutes, and a typed-in year often sits somewhere unexpected, in a script setting or a server check. It is worth having whoever maintains the site look before a guest finds it.
Ten minutes before the holiday rush
Open every form that asks for a date or a year.
Look for the last year each menu offers.
Try a date next January and next summer.
Enter a test card that expires years from now.
Ask your developer to search the code for typed-in years.
Replace them with values calculated from today.
Book once more from a phone.
Step five finds what the visible menus hide. A search of the site's code for this year and last year turns up settings and server checks no form test would reveal.
The year menu was typed in by hand when the site was built and ends at this year. Nothing updates it as the calendar moves on.
Why does the deposit page turn away valid cards?
Its card expiry menu also ends at this year. Cards are issued for several years at a time, so most valid cards have no matching year.
Where else are years typed into a site?
In date picker settings, booking season end dates, rates tables, server checks that refuse dates past a fixed day, and the copyright line in the footer.
How should the years be set instead?
Calculated from today's date each time the page is shown: this year and the next two for bookings, and this year and the following ten for cards.
Why might the browser and the server disagree about the date?
A date picker reads the visitor's computer clock, while server menus read the server's clock, which may run on another time zone. Use one source everywhere.
When should we test this?
Now, in the fall, before guests book winter and holiday stays. Problems left until January are found by guests first, when the menus offer only past years.
West Coast Media Solutions Inc. provides web design, web development, hosting, digital marketing, and business consulting to organisations across Canada, drawing on more than twenty-five years in the field.
Booking form stuck in this year?
Tell us where your booking form lives, and we will look for every typed-in year before your guests find one.
West Coast Media Solutions Inc. ("Company," "we," "us," or "our") respects your privacy and is committed to protecting the personal information you share with us. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you visit our website, including any subdomains, and any related services, applications, or tools where this policy is referenced.
2. Information We Collect
We may collect personal information that you voluntarily provide when you use our contact forms, subscribe to newsletters, request a quote, or otherwise interact with our website. This may include your name, email address, phone number, company name, and any additional details you choose to share in message fields. We also automatically collect certain technical data when you visit our website, including your IP address, browser type, operating system, referring URLs, pages viewed, time spent on pages, and access timestamps.
3. How We Use Your Information
We use the information we collect to respond to your inquiries and provide requested services; to personalize and improve your experience on our website; to send you project updates, newsletters, and promotional communications (which you may opt out of at any time); to analyze usage trends and improve website performance; to detect, prevent, and address fraud, security issues, and technical problems; and to comply with applicable legal obligations and enforce our terms.
4. Cookies and Tracking Technologies
Our website uses cookies and similar tracking technologies to enhance your browsing experience, remember your preferences, and gather analytical data about how visitors use our site. You can control cookie preferences through your browser settings. For detailed information about our use of cookies, please see our Cookie Policy.
5. Third-Party Services
We may use third-party analytics services such as Matomo or Google Analytics to help us understand how visitors interact with our website. These services may collect information sent by your browser as part of a web page request, including cookies and your IP address. We may also use third-party services for email delivery, form processing, and content delivery networks. These providers have their own privacy policies governing the use of your information.
6. Data Sharing and Disclosure
We do not sell, trade, or rent your personal information to third parties. We may share your information with trusted service providers who assist us in operating our website and conducting our business, provided they agree to keep this information confidential. We may also disclose information when required by law, to protect our rights, to enforce our policies, or to respond to legal process.
7. Data Security
We implement appropriate technical and organizational measures to protect the personal information we collect and store. These include encrypted connections (SSL/TLS), secure server infrastructure, access controls, and regular security assessments. However, no method of transmission over the internet or electronic storage is 100% secure, and we cannot guarantee absolute security of your data.
8. Data Retention
We retain your personal information only for as long as necessary to fulfill the purposes for which it was collected, to comply with legal obligations, resolve disputes, and enforce our agreements. Contact form submissions and inquiry records are retained for a reasonable period based on the nature of the inquiry and applicable retention requirements. You may request deletion of your data at any time.
9. Your Rights
Depending on your jurisdiction, you may have the right to access, correct, update, or delete the personal information we hold about you. You may also have the right to object to or restrict certain processing of your data, to data portability, and to withdraw consent where processing is based on consent. To exercise any of these rights, please contact us using the information provided below. We will respond to your request within the timeframes required by applicable law.
10. Children's Privacy
Our website and services are not intended for individuals under the age of 16. We do not knowingly collect personal information from children. If we become aware that we have inadvertently collected personal data from a child under 16, we will take steps to delete such information promptly. If you believe we may have collected information from a child, please contact us immediately.
11. International Data Transfers
Your information may be transferred to and maintained on servers located outside your province, state, or country where data protection laws may differ from those in your jurisdiction. By providing your information, you consent to such transfer. We take steps to ensure that your data is treated securely and in accordance with this Privacy Policy regardless of where it is processed.
12. Changes to This Policy
We reserve the right to update or modify this Privacy Policy at any time. Any changes will be posted on this page with an updated effective date. We encourage you to review this policy periodically to stay informed about how we are protecting your information. Your continued use of the website after any changes constitutes acceptance of the revised policy.
Effective Date: April 2026 | West Coast Media Solutions Inc., Vancouver, BC, Canada
Cookie Policy
1. What Are Cookies
Cookies are small text files that are placed on your computer, smartphone, or other device when you visit a website. They are widely used to make websites work more efficiently, to provide a better browsing experience, and to supply reporting information to website operators. Cookies are stored in your browser and allow the website or a third-party service to recognize you and make your next visit easier.
2. How We Use Cookies
West Coast Media Solutions Inc. uses cookies for several purposes: to ensure the proper functioning and security of our website; to remember your preferences and settings; to understand how visitors navigate and interact with our pages; to analyze website traffic and measure the effectiveness of our content; and to deliver relevant information based on your browsing history and interests.
3. Types of Cookies We Use
Essential Cookies: These cookies are strictly necessary for the website to function. They enable core features such as page navigation, secure areas, and form submissions. The website cannot function properly without these cookies, and they cannot be disabled.
Analytics Cookies: These cookies help us understand how visitors interact with our website by collecting information about pages visited, time spent on the site, and any error messages encountered. All information collected by these cookies is aggregated and therefore anonymous.
Functional Cookies: These cookies enable the website to remember choices you make (such as your preferred language or region) and provide enhanced, more personalized features. They may also be used to provide services you have requested, such as watching a video or commenting on a blog.
Performance Cookies: These cookies collect information about how you use our website, such as which pages are most popular and how visitors move around the site. This helps us improve the way our website works and identify any technical issues.
4. Third-Party Cookies
In addition to our own cookies, we may also use various third-party cookies to report usage statistics of the website and deliver content and advertisements. Third-party services that may place cookies through our site include analytics providers, advertising networks, and social media platforms. These third parties have their own cookie and privacy policies that govern their use of your data.
5. Cookie Duration
Session Cookies: These cookies are temporary and are deleted from your device when you close your browser. They are used to maintain your session as you navigate between pages.
Persistent Cookies: These cookies remain on your device for a set period of time or until you delete them. They are used to remember your preferences and actions across multiple visits to our website.
6. Managing Your Cookie Preferences
Most web browsers allow you to control cookies through their settings. You can configure your browser to accept all cookies, reject all cookies, or notify you when a cookie is set. Please note that disabling or blocking certain cookies may affect the functionality of our website and your ability to access certain features. Browser help sections and external resources provide detailed instructions on managing cookies for all major browsers.
7. Do Not Track Signals
Some browsers include a "Do Not Track" (DNT) feature that signals to websites that you do not want your activity tracked. Because there is no universally accepted standard for how to respond to DNT signals, our website does not currently respond to DNT signals. However, you can control tracking through the cookie management options described above.
8. Consent
By continuing to use our website, you consent to the use of cookies as described in this Cookie Policy. If you do not agree to our use of cookies, you should adjust your browser settings accordingly or refrain from using our website. For users in jurisdictions that require explicit consent (such as the EU/EEA), we will present a cookie consent mechanism before non-essential cookies are placed.
9. Impact on Website Functionality
If you choose to disable cookies, some features of our website may not function as intended. This could include the inability to log in, loss of personalization, reduced analytics capabilities, and degraded overall experience. Essential cookies cannot be disabled as they are required for the basic operation of the website.
10. Updates to This Cookie Policy
We may update this Cookie Policy from time to time to reflect changes in technology, legislation, our business operations, or cookie practices. Any updates will be posted on this page with a revised effective date. We encourage you to check this page periodically to stay informed about our use of cookies.
Effective Date: April 2026 | West Coast Media Solutions Inc., Vancouver, BC, Canada
Terms of Use
1. Acceptance of Terms
By accessing and using the website operated by West Coast Media Solutions Inc. ("Company," "we," "us," or "our"), located at westcoastmediasolutions.com (the "Website"), you acknowledge that you have read, understood, and agree to be bound by these Terms of Use. If you do not agree to these Terms, you must discontinue use of this Website immediately. We reserve the right to modify these Terms at any time, and such modifications shall be effective immediately upon posting.
2. Description of Services
West Coast Media Solutions Inc. provides digital marketing and web design services including, but not limited to, search engine optimization, search engine marketing, social media marketing, rich media advertising, programmatic media buying, digital consulting, and custom website design and development. The information presented on this Website is intended for general informational purposes and does not constitute a binding offer, contract, or guarantee of results.
3. Eligibility
You must be at least 18 years of age, or the age of majority in your jurisdiction (whichever is greater), to use this Website or engage our services. By using this Website, you represent and warrant that you meet this eligibility requirement and that you have the legal capacity to enter into a binding agreement.
4. Intellectual Property Rights
All content, materials, features, and functionality on this Website, including but not limited to text, graphics, logos, icons, images, audio clips, video clips, data compilations, software, and the design, selection, and arrangement thereof, are the exclusive property of West Coast Media Solutions Inc. or its content suppliers and are protected by Canadian and international copyright, trademark, patent, trade secret, and other intellectual property laws.
5. User Conduct
When using this Website, you agree not to use the Website for any unlawful purpose; attempt to gain unauthorized access to any portion of the Website or any systems connected to it; interfere with or disrupt the operation of the Website; use automated means to access or copy content without our express written consent; collect personal information of other users; impersonate any person or entity; or engage in any activity that could damage or impair the Website.
6. Submissions and Contact Forms
Any information or materials you submit through the Website's contact forms, email, or other communication channels shall be treated as non-confidential and non-proprietary unless otherwise specified in a separate written agreement. By submitting any such information, you grant the Company a non-exclusive, royalty-free, perpetual right to use, reproduce, modify, and distribute such content for any lawful business purpose.
7. Third-Party Links
This Website may contain links to third-party websites that are not owned or controlled by West Coast Media Solutions Inc. We have no control over, and assume no responsibility for, the content, privacy policies, or practices of any third-party websites. Your use of third-party websites is at your own risk, and we encourage you to read the terms and privacy policies of any websites you visit.
8. Disclaimer of Warranties
THIS WEBSITE AND ALL CONTENT, MATERIALS, INFORMATION, AND SERVICES PROVIDED ON OR THROUGH THIS WEBSITE ARE PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, THE COMPANY DISCLAIMS ALL WARRANTIES, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.
9. Limitation of Liability
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, WEST COAST MEDIA SOLUTIONS INC., ITS DIRECTORS, OFFICERS, EMPLOYEES, AGENTS, PARTNERS, SUPPLIERS, OR AFFILIATES SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES ARISING FROM OR RELATED TO YOUR USE OF THE WEBSITE, WHETHER BASED ON WARRANTY, CONTRACT, TORT, OR ANY OTHER LEGAL THEORY.
10. Indemnification
You agree to defend, indemnify, and hold harmless West Coast Media Solutions Inc., its directors, officers, employees, agents, successors, and assigns from any claims, damages, obligations, losses, liabilities, costs, and expenses arising from your use of the Website, your violation of these Terms, or your violation of any third-party right.
11. Governing Law and Jurisdiction
These Terms shall be governed by and construed in accordance with the laws of the Province of British Columbia and the federal laws of Canada applicable therein. Any legal action arising from these Terms shall be instituted exclusively in the courts of British Columbia, Canada. You irrevocably waive any objections to jurisdiction and venue in such courts.
12. Changes to These Terms
We reserve the right to update or modify these Terms of Use at any time. Changes will be posted on this page with an updated effective date. Your continued use of the Website following the posting of revised Terms constitutes your acceptance of such changes.
Effective Date: April 2026 | West Coast Media Solutions Inc., Vancouver, BC, Canada
Legal Terms
1. Company Information
This website is owned and operated by West Coast Media Solutions Inc., a corporation incorporated federally under the Canada Business Corporations Act (corporation number 641461-3) and extraprovincially registered in British Columbia (registration number A0143178). Our registered office is located at 2400 - 1111 West Georgia Street, Vancouver, BC V6E 4S4, Canada. Telephone: (800) 959-4590.
2. Responsible for Content
The content of this website is provided by West Coast Media Solutions Inc. The person responsible for the content within the meaning of applicable legislation is the managing director of West Coast Media Solutions Inc., contactable at the registered office address listed above. All editorial content, service descriptions, and portfolio materials are reviewed and approved prior to publication.
3. Content Accuracy and Disclaimer
The contents of this website have been prepared with the utmost care. However, West Coast Media Solutions Inc. cannot guarantee the accuracy, completeness, or timeliness of the content provided. All information is subject to change without notice. We are not obligated to monitor transmitted or stored third-party information, nor to investigate circumstances that indicate unlawful activity. If we become aware of any such infringements, we will remove the content immediately.
4. External Links Disclaimer
Our website contains links to external websites of third parties over whose content we have no influence. We cannot assume any liability for third-party content. The respective provider or operator of the linked pages is always responsible for the content of those pages. Linked pages were checked for possible legal violations at the time of linking. Illegal content was not recognizable at the time of linking. Permanent monitoring of linked pages is not reasonable without concrete evidence of a violation.
5. Copyright and Intellectual Property
The content and works created by the operators of this website are subject to Canadian copyright law. Reproduction, editing, distribution, and any kind of exploitation outside the limits of copyright law require the written consent of the respective author or creator. Downloads and copies of this site are only permitted for private, non-commercial use. Third-party content is identified as such. Should you become aware of a copyright infringement, please notify us accordingly.
6. Trademark Notice
All trademarks, service marks, trade names, logos, and product names appearing on this website are the property of their respective owners. West Coast Media Solutions Inc. and the WCMS logo are trademarks of West Coast Media Solutions Inc. Reference to any products, services, or information by trade name, trademark, or otherwise does not constitute or imply endorsement, sponsorship, or recommendation by the company.
7. Professional Liability
Our liability for services rendered is governed by the terms of the individual service agreement executed between the Company and the client. Insurance requirements, where applicable to a particular engagement, are addressed in that agreement.
8. Dispute Resolution
West Coast Media Solutions Inc. endeavours to resolve any disputes arising from or in connection with our services amicably and directly with our clients. If a dispute cannot be resolved informally, it shall be governed by the laws of the Province of British Columbia and the federal laws of Canada applicable therein. The courts of British Columbia shall have exclusive jurisdiction over any dispute arising from or related to this website or the services provided.
9. Regulatory Compliance
West Coast Media Solutions Inc. operates in compliance with all applicable federal, provincial, and municipal laws and regulations, including but not limited to Canada's Anti-Spam Legislation (CASL), the Personal Information Protection and Electronic Documents Act (PIPEDA), the British Columbia Personal Information Protection Act (PIPA), the Competition Act, and all applicable advertising standards as set forth by Ad Standards Canada.
10. Limitation of Liability
To the fullest extent permitted by applicable law, West Coast Media Solutions Inc. and its officers, directors, employees, agents, and affiliates shall not be liable for any direct, indirect, incidental, special, consequential, or exemplary damages arising from or related to your use of the website, including but not limited to loss of data, loss of income, or loss of business opportunity, even if we have been advised of the possibility of such damages.
11. Severability
If any provision of these Legal Terms is held to be unenforceable or invalid by a court of competent jurisdiction, such provision shall be modified to accomplish the objectives of the original provision to the fullest extent permitted by law, and the remaining provisions shall continue in full force and effect.
12. Contact
If you have any questions regarding these Legal Terms, please contact West Coast Media Solutions Inc. at 2400 - 1111 West Georgia Street, Vancouver, BC V6E 4S4, Canada. Telephone: (800) 959-4590.
Last updated: April 2026
Accessibility Statement
1. Our Commitment
West Coast Media Solutions Inc. is committed to ensuring digital accessibility for people of all abilities. We continually work to improve the user experience for everyone who visits our website and strive to conform to applicable accessibility standards and guidelines. We believe the internet should be available and accessible to anyone, and we are committed to providing a website that is accessible to the widest possible audience.
2. Standards and Guidelines
We aim to conform to the Web Content Accessibility Guidelines (WCAG) 2.1 at the AA level, published by the World Wide Web Consortium (W3C). These guidelines provide a framework for making web content more accessible to people with disabilities, including visual, auditory, physical, speech, cognitive, language, learning, and neurological disabilities. Conformance with these guidelines also helps make web content more usable for all users.
3. Measures Taken
To ensure accessibility, we have implemented the following measures across our website: semantic HTML5 markup for proper document structure and screen reader compatibility; descriptive alt text for all meaningful images; sufficient color contrast ratios between text and background elements; keyboard-navigable interface elements including menus, links, buttons, and form fields; clear and consistent navigation structure throughout all pages; responsive design that adapts to different screen sizes, devices, and zoom levels; and descriptive link text that provides context about link destinations.
4. Assistive Technology Compatibility
Our website is designed to be compatible with commonly used assistive technologies, including screen readers such as JAWS, NVDA and VoiceOver, screen magnification software, speech recognition software, and alternative input devices. We build to accessibility standards and use automated testing tools during development. Where a specific assistive technology presents a barrier, we welcome reports so we can address it.
5. Multimedia Content
We strive to ensure that multimedia content on our website is accessible. Where video or audio content is provided, we aim to include captions, transcripts, or audio descriptions as appropriate. Images used for decorative purposes are marked accordingly so they do not interfere with screen reader navigation.
6. Document Accessibility
We are working to ensure that downloadable documents and files published on our website are accessible. Where possible, we provide content in accessible HTML format in addition to or instead of PDF format. For PDF documents, we strive to ensure they are properly tagged and structured for assistive technology access.
7. Third-Party Content
Our website may include content or functionality provided by third-party services, including embedded videos, social media feeds, analytics tools, and web fonts. While we make every effort to select accessible third-party solutions, we cannot guarantee that all third-party content meets accessibility standards. We welcome feedback on any third-party content that may present accessibility barriers.
8. Ongoing Efforts
Accessibility is an ongoing effort. We regularly review our website for accessibility issues, train our content team on accessibility best practices, incorporate accessibility testing into our development workflow, conduct periodic audits using both automated tools and manual testing, and monitor feedback from users to identify areas for improvement. We are committed to addressing any issues promptly and transparently.
9. Known Limitations
Despite our best efforts, some content on our website may not yet be fully accessible. We are aware that older content, certain complex interactive elements, and some third-party integrations may present challenges. We are actively working to address these limitations and improve accessibility across all areas of our website. If you encounter a specific barrier, please let us know so we can prioritize a solution.
10. Feedback and Contact
We welcome your feedback on the accessibility of our website. If you encounter accessibility barriers, have suggestions for improvement, or need assistance accessing any content or functionality, please contact us. You can reach West Coast Media Solutions Inc. at 2400 - 1111 West Georgia Street, Vancouver, BC V6E 4S4, Canada, or by telephone at (800) 959-4590. We aim to respond to accessibility feedback within 5 business days and to resolve reported issues as quickly as possible.
Last updated: April 2026 | West Coast Media Solutions Inc., Vancouver, BC, Canada