Free Purchases

the exterior rear of a double-decker tour bus in the UK at night on a wet street

Complimentary purchases. 100% off promotions. Free admission for members. These are just a few of the reasons a system should be able to support a free purchase. Today we are happy to announce support for free purchases for any reason your business needs. 

With free purchase support a customer is able to book/reserve online, capacity is reduced, and a transaction is recorded but no payment is taken. 

Free purchases can be used by any business but is ideal for member admissions to museums and zoos, free walking tours, and events that require a ticket but don’t require an admission. 

Package Spotlight: Istanbul

Istanbul is another code quality tool we use here at TRYTN to ensure quality builds are released to production. Istanbul allows for code instrumentation so that you can see which lines of code a test is executing. From this code coverage reports can be generated. The specific flavor of Istanbul that we utilize at TRYTN is a Babel plugin fork.

Unit and integration testing is great but it only goes so far. You also need to know what code is being tested, and more importantly, what code is not being tested. Gaps in unit and integration tests make room for potential bugs to be released in the future. That is where Istanbul comes into play. With Istanbul we receive a code coverage report that is interactive. With this report we can see how many times each line of code is being executed by our tests so we can write additional tests to cover gaps.

Istanbul generates several reports for us: summary and verbose reports in the build process for the console, HTML report for the interactive line-by-line analysis, and a TRX report for our build process to pick up and report from. 

While code coverage is a standard way to track if testing is adequate it’s not the only solution. We promote testing to meet test cases and don’t require a specific code coverage percentage to meet. Therefore many times a line of code will be tested repeatedly even though it’s already considered covered by the code coverage report. It’s another way to ensure that all test cases are covered.

Likewise when bugs do happen, once the bug cause is identified, we are able to add in even more checks and test cases so that the bug will not be reproduced again in the future. 

Package Name: Istanbul
Website: 
https://istanbul.js.org/

August 2019 Release Notes

Happy August to everyone. Hope you’re staying cool on these hot summer days. August is always a really busy time here at TRYTN and this update hopefully demonstrates just how busy. We’re actively making the operations better for our clients in numerous ways. These are just some of the bigger enhancements we made to the system this month. As always, if you have any questions about these updates please contact your account manager.

someone ideating on a white board with comps

Account Updates

  • Ability to create, manage, and translate ad-hoc pages
  • User profiles can now have a preferred language preference set
  • Business transaction confirmation emails sent in the appropriate user language
  • Ability to report on tracking source codes in custom report generator
  • Add additional help text throughout site
  • Support for Google Places ID
  • Adds Portuguese as a language option for content translations 
  • Adds ability to save multiple phone numbers to a business profile and define each number type
  • Performance enhancement for dashboard load times
  • Adds refund emails to the communication audit log displayed on transaction details page
  • Entering a transaction identifier into transaction details search field now sends user directly to that transaction details page
  • Invoices are now tagged with a note that includes the user who generated the initial invoice
  • Enhanced send/open/status information for emails in the communications section of transaction details page
  • Fixed issue with asset management when a transaction is edited or refunded
  • Fixed issue where dashboard calendar was displaying negative capacity
  • Fixed bug in reports where time zone differences caused data to display on incorrect days
  • Fixed issue where some scheduled transactions were not appearing on reservation management calendar
  • General performance, resiliency, and security enhancements

Booking and Embedding Updates

  • Consumers can navigate to and read ad-hoc pages
  • Enhancement to mobile and desktop primary navigation
  • Additional form validations to ensure form is clean before submitting
  • Automatic generation of cancellation policy and about and contact content pages
  • Customers can now select Portuguese as a language
  • Support for Strong Customer Authentication for businesses that utilize the Stripe payment gateway
  • Consumes a tracking source for better order source tracking
  • Fix for collecting details about the business on a deep link embedded product link
  • Fixed issue with signed waivers and the ability to send confirmation emails
  • Fixed an issue with how seasonal activity schedules were displaying on the calendar
  • General performance and security enhancements

General Platform Updates

  • Performance improvements for reporting
  • Transactional email statistics are now collected for emails in communications log
  • Fixed an issue where Viator requests did not contain required information to fulfill request
  • Resiliency and security enhancements

Package Spotlight: Chai

Chai JavaScript logo

Chai is a TDD (test-driven development) and BDD (behavior-driven development) assertion library for JavaScript. This package allows you to assert what a test should have as a result. As a simple example consider the mathematical expression 2 + 2. You would assert that 2 + 2 = 4. If the actual result of that calculation is 4 the test passes. Any other result causes the assertion to fail.

An assertion library is a critical piece to being able to test the code that exists in the system. We have at least 5,000 assertions in our test cases (and growing). We have this many because we want to test many different instances. Say, as an example, we return a specific error code if someone doesn’t pass an expected result. We need an assert statement for each possible value that isn’t the expected to make sure the test passes (and therefore the code returns the failure as we would expect.)

Package Name: Chai
Website: https://www.chaijs.com/

Announcing Portuguese Language Support

Recently we received a request from one of our current clients to add support for Portuguese translations. They requested this because they know they have a large population of customers who speak Portuguese and they wanted the ability to give them a great customer experience.

Today we are announcing support for Portuguese within the system. Going forward operators can now translate content into Portuguese and customers can now view in Portuguese.

lisbon portugal city view

The addition of Portuguese brings total language support up to seven and we aren’t stopping there. Expect to see additional languages supported in the future. Does your business want to translate into a specific language? If so please submit a support ticket so that we may prioritize the request.

Package Spotlight: Karma

Karma test runner for JavaScript logo

JavaScript lives in the browser. Therefore you need a way to test it not hypothetically but in reality. That’s where Karma comes in. Karma allows developers to run their JavaScript unit and integration tests from within real browsers. Configuration can be set to utilize any number of browsers like Chrome, Firefox, or in our case, Phantom (a headless browser). 

Most other test runners run tests within a hypothetical environment which means once the JavaScript code hits production there may be an issue. With Karma we are able to run our unit tests in an automated fashion using a headless browser and have much higher confidence in the code we are releasing. 

Package Name: Karma
Website: http://karma-runner.github.io/