Production Release Date: Wednesday, September 6, 2023
Platforms: Backoffice (B2B), Online Checkout (B2C), ACME Sales (POS)*
Release Type: Minor
Test Environments: Sandbox 10, POS Sandbox 11.30.0
*POS Application is valid through 7/18/24
Backoffice (B2B) | Membership Upgrade & Downgrade
Turn it up to 11!! Membership upgrade and downgrade is now available in ACME Backoffice! We are extremely excited to bring this to you all as we head into the fall and the giving season. And while we certainly hope you receive more requests to upgrade than to downgrade, both are supported.
Some noteworthy details:
- When you select "Upgrade/Downgrade" for a member, we'll check to make sure they are eligible per your configurations on the offering and then take you to a list of the available levels to upgrade or downgrade into.
- In checkout, you will have the option to manage the cardholders and will be presented with payment or refund prompts, depending on which applies.
For those who have launched Auto Renew, you can certainly still do an in-cycle upgrade or downgrade for members who have already opted-in.
- As long as the new level and offering is also eligible for Auto Renew, that new level/offering is what the member will then be charged once their term is up for automatic renewal.
- In addition, any time payment is required we'll allow you to charge the current card on file for ease of use. So much easier for your staff and the member! Of course, a new card can be entered if the member desires to change. This new card is now saved on the Subscription and will be charged when it renews.
Talk about an upgrade!
Backoffice (B2B) | Combining Reports & API Data
You get an ID, and you get an ID, and you get an ID! To support your reporting needs as well as the build out of our next generation Salesforce integration with Workato (for more details ask your CSM!), we added a few IDs to our reports so the data sets can be easily joined.
- Memberships - For a membership purchase (any lifecycle action), we have added ItemDetailId to the Transactions data set and MembershipId to the Membership data set. Both will give you the ID of the membership version purchased. Easy peasy!
- Membership Cards - In the Membership data set, we've added CardId to give you the unique ID of the membership card. This can then be combined with our Membership Cards APIs to get additional information about the cardholder.
- Donations - For a donation, we have added ItemDetailId to the Transactions data set and DonationId to the Donation data set. Both will give you the ID of the donation given.
- Organizations - For an organization order, we have added OrganizationId to the Transactions data set to give you the ID of the Organization that placed the order. This can then be combined with our Organization APIs to get additional information about the Organization when desired.
- Forms - No new IDs added, but we thought it'd be helpful to call this out! You can use the FormResponseNumber on both the Transaction and Forms data sets to combine the two.
(Please note on the transaction report: the ItemDetailId for donations and the OrganizationId will only be populated for new orders after our release on September 6th. However, the ItemDetailID for Memberships WILL be populated for both new orders and orders placed before the release.)
Backoffice (B2B) | Transaction Report Updates
The love doesn't stop with IDs! We've been busy with a few other enhancements to our Transaction data set as well.
- Reporting on Private Events - While it may be tricky to guess what type the person you're crushing on prefers, you no longer have to guess if an Event is "private" or "standard" because our transaction dataset has a brand new field that takes all the mystery out of it! You can display, group, and filter by "Event Type" to get a full report of what people are purchasing tickets for.
- Reporting on Order & Billing Contact Address - When a brand new, non-gift membership was purchased at ACME Sales (POS), we saved the member's address to their member record but were only saving the phone and email to the Order and Billing contact fields in the transaction report. Hmm... we are guessing you find member's addresses pretty valuable pieces of information to report on! Now we will save the full address data to both the Order and Billing contact fields on any Transaction report.
ACME Sales (POS) | Improved Check In & Print Design
Following up on our 11.29.0 release, we're continuing the improvements as promised!
- Once again you can check in all with a single click.
- When choosing to check in some, we've clarified the label for the top radio button to say "Select All" so there is no ambiguity.
- After checking in tickets, the button colors adjust so it's not a mystery. While this may take your staff a moment to get used to, we're hoping it really helps.
These same improvements apply to the buttons to print tickets. Just remember that you can only print once in checkout. Once all tickets are printed, the print buttons will be disabled. If your staff needs to print a ticket a second time, they can always do so via Order Management.
And again, our design team thanks you for your feedback on this feature. Sometimes we miss the most obvious things. As we've said before, it takes a village!
ACME Sales (POS) | Updating Organization Orders without Payment
Show me the money!!! Even if an Organization could defer payment, for the longest time we have required payment in Order Management in order to save changes to the the ticket quantities. While this seems logical for most scenarios, we have heard from you that there are times your staff simply needs to update the order and continue to defer final payment until later. As such, we are happy to bring this improvement that let's you now choose to either pay the balance or simply update the order. This, of course only applies to Organizations configured for deferred payment. If they are configured to "Pay in Full", then yes, we will still require your staff to take payment. No loopholes folks!
ACME Sales (POS) | Kick the Cash Drawer
- Parody a scene from Office Space - ha!
- Download ACME Sales 11.30.0, open the side menu, and if you have permissions to do so, tap "Open Cash Drawer".
Yes, no longer is it a super secret button near the ACME logo (which also seemed to shift left recently, making it even tougher to tap correctly). Now if you do need to kick the cash drawer, with the right permission it's super simple.
ACME Sales (POS) | Connectivity to Card Readers
It's that time again! We have updated to the latest version of the TriPOS Mobile SDK (v3.0.2) for Ingenico Card Readers. As we all know, bugs happen, and we were thankful to see that the latest SDK from TriPOS fixed some connectivity issues that a few of you have reported, especially with newly purchased Lane/3000 devices. This SDK update also comes with improvements to help keep and re-establish connections, which we are working on coding to for an upcoming next release.
ACME Sales (POS) | Messaging for Auto Renew
Thank you to all of our early adopters of Auto Renew that are sharing feedback, much appreciated! Solid messaging is very important to help your staff and members have a great experience. As such, we've improved some of the messaging we display in ACME Sales to help clarify in the following scenarios:
- When attempting to change the primary cardholder on an Auto Renew membership.
- When viewing the Terms and Conditions during checkout of an Auto Renew membership.
ACME Sales (POS) | Speedy Customer Search
Sometimes it's the little things in life. Like having to tap into the search field each time you want to look up a customer. That adds up! We improved this to automatically default the cursor to the search field when you open up the Customers section. While we are at it, we did the same for Org Members. Happy searching! (And if you are feeling deja vu, you just might be remembering our 11.29.0 release, where we did the same for the Member search).
ACME Sales (POS) | Temporary Membership Cards
What's lost is now found. In our 11.27.0 Release, we brought this improvement but somewhere along the way it got lost. So we are bringing it back. Once again we support three fields that you can elect to print on your temporary membership cards!
By default we print $externalMembershipId, but feel free to change this now in Backoffice > Theme > Tickets. See our documentation for additional information: Temporary Membership Card Layout (BOCA)
Performance and Optimizations
Online Checkout (B2C) | Date Encoding in the URL
This one is for all of you technical folks! While monitoring our logs, we noticed an extremely rare case where thousands of calls were made to our shopping cart API in a matter of seconds. No human could possibly do this. And when we say extremely rare, we mean it. It only happened a couple of times in the past year. Nonetheless, we prioritized investigating due to the potential performance implications. We've been investigating and scratching our heads to figure out the cause for awhile, until one day it happened to someone on our team in a sandbox. Bingo! Our engineers immediately saw the cause was that the page URL kept changing in a constant loop due to an encoding issue on the date query parameter. Found and fixed!
Online Checkout (B2C) | Membership Orders with Variable Donations
As we've said before, it is extremely important to us that your donors can successfully complete their contributions. We fixed two issues in our 18.104.22.168 release soon after they were raised to our attention, and now are releasing the final (we sure hope and believe!) issue that came to our attention recently. When carting a new membership or renewal online with a variable donation, the value of the donation was dropped, despite appearing successful on the order confirmation screen. We performed thorough testing around this fix and believe all donations will be solid now.
Online Checkout (B2C) | Membership Offering Selection for Auto Renew
Ok, time to get serious as this is tied to legal rules. When it comes to Auto Renew, we need to make sure the member explicitly opts-in to having their card automatically charged each term. As such, we added logic to the online cart page to not automatically select any offering configured for Auto Renew. However, we overlooked the case of an optional Auto Renew offering. This can be automatically selected, as the checkbox to opt-in is deselected by default. So we improved our logic and now will automatically select the first offering (even if Auto Renew 'optional'), that is not configured as 'required' for Auto Renew.
Backoffice (B2B) | Membership Report Migration on LastVersion for Older Data
In our 11.21.0 Release, we announced the following: “We have fixed an issue where the membership data set in reporting was not updating the standing of records when they were moving to the “Replaced” standing.” This prevented the issue from happening again, but it did not fix the older membership records in reporting. As a result, some older data still could have 2 versions where the isLatest field was set to "true ". We are happy to let you know that with this release, we'll be running a migration to fix all of the memberships that got into a bad state in reporting prior to the 11.21.0 release in July 2022. We are planning to run this migration on release night, and have already done it on sand10 as part of our testing to make sure it fixed older records as expected.
Backoffice (B2B) | Membership Report for Auto Renew
As we built out the standard reports for Auto Renew, we noticed a few issues we needed to fix.
- In the Membership Data Source, all of the subscription fields blanked if you opted out of a subscription or canceled the membership. That certainly is no bueno! For both of these use cases, the subscription fields now persist in the membership report for the ‘isLatest’ version.
- When you displayed “SubscriptionUpdatedOn” as a field, it showed as something like "168481649233". What the heck?! We've fixed this to show in a date format, such as 2023-Sep-06 at 8:00AM.
- In addition, we've added “SubscriptionUpdatedOn” as a field you set as the date field for the report, so you can report on things like "Show me all subscriptions updated in this date range". Very important for managing your Auto Renew program!
Backoffice (B2B) | Member Checkout with Prefilled Address
When transacting as a member, the billing address autofills from the primary member when paying via credit card. However, if you switched to another method of payment (such as check), the address disappeared. Don't ask us why, as that really was not helpful for your staff! Now the address remains for all payment methods.
Backoffice (B2B) | Customer Edit Flow
We found ourselves in a loop at times when editing a customer in backoffice. After tapping "Update", if we clicked the "Back" button, we were taken back into edit and couldn't get out of the loop until we clicked "Customers" in the side navigation. We're not sure if any of you ran into this, and hopefully we fixed before you did!
ACME Sales (POS) | Multiple Payments & Activate Card Reader Button
Although people may not request it often, split pay is handy when they do. Now what about the time when they ask to split, but not equally? You can change the amount to anything you want, but then if you wanted to pay by Credit Card, tapping "Activate Card Reader" didn't actually do anything. This used to work, and we're not sure when it broke, but we are happy to say we've fixed it. Now your staff can help guests split the bill and pay any desired amount (up to the total) on their credit cards.
Additionally, this fix for the Activate Card Reader button will help your staff if they find themselves in other situations. For example, if the guest taps the "x" button on the card reader, that will now trigger the Activate Card Reader button to show. Before, your staff likely realized they had to deselect Credit Card and reselect it. Quite a pain. Now they can simply tap "Activate Card Reader" and it'll work like a charm, as it should!
ACME Sales (POS) | Event Add-ons, Oh My!
Oh my is right! It came to our attention awhile back that Event Add-ons did not display when viewing the order details in Order Management, which also impacted the value displayed for the order total in this case. The printed receipt at least showed everything correctly, which is what we advised to folks that encountered this issue. From what we can tell, this may have never worked. Such a seemingly simple thing had some complexity going on under the hood. Talk about airing our dirty laundry here, but we are glad to report that everything is now fresh and clean. Event Add-ons now show as expected along with the correct order total.
ACME Sales (POS) | Advanced Sale Tiles
"The past is history. The future is a mystery. Today is a gift. That’s why it’s called the present."
While the verdict is out on who originally coined this phrase, it popped right into our minds when this bug introduced itself in our recent release history. When configuring a POS tile for “Advanced date X” instead of current date, the tile did not appear. What a mystery. The user would only see it if they navigated to the scheduled date. As such, we bring you a gift with this release - tiles for advanced sales now appear every day regardless of event start time.
ACME Sales (POS) | Ticket Capacity Counts for Member Sales
We first heard of this about a year ago, but gosh this was hard to reproduce, as it only seemed to happen when transacting as a member. We received reports that sometimes the capacities displayed on the event tiles were not accurate, even if you tapped to refresh. Turns out, our code was a little too fancy in how it cached information, and it went sideways at times. As always, once we could consistently reproduce the issue, our team could fix it, and fix they did. For the handful of you that have reported this issue to us, rest assured you can now trust the capacity displayed when transacting as a member!
ACME Sales (POS) | Crash Prevention
We hate crashes as much as you, and are always monitoring our logs to track when these happen. While we cannot always reproduce ourselves, we do have some Sherlock Holmes skills on our engineering team to deduce from the logs what went wrong and improve our code to prevent the crash. This release we targeted an occasional crash we saw happen after attempting to take a payment, often after a declined card error.
ACME Sales (POS) | Placeholder Values and Required Fields on Form
It was brought to our attention that when a placeholder value was configured for a field, the form incorrectly defaulted to the first value, rather than showing the placeholder value like online checkout (B2C). Not only does this defeat the purpose of a placeholder field, but it makes it tricky for your staff to keep track of which they've asked the guest about vs still need to ask. We've improved placeholder fields to now correctly show for the following field types:
- Text Field
- Text Area
- Select (single or multiple)
In addition, we buttoned up the display and functionality around required fields:
- Red asterisk now always shows if required.
- If a checkbox is required, validation now ensures it is selected in order to save the form.
As forms come with so many configuration options, please do let us know if you run across any other oddity at POS. We've tested these updates quite a bit, so hopefully all cases are now covered!
ACME Sales (POS) | Survey A – Z Alignment
1 + 1 = 3 and B = A, right? As you may have noticed, our POS Survey grouped countries under the wrong starting letter for awhile now. Somewhat harmless but a little pesky, and not in alignment with what Sesame Street taught us all! Now we correctly group countries with their corresponding start letter.
ACME Sales (POS) | App Logo Colors
A minor detail, but at some point we lost the different colored logos for production vs sandbox builds. With this release they are back! After you upgrade to 11.30.0, give it a bit and you should see the different logo colors:
- [Production] ACME Sales is dark blue with the ACME logo in full color.
- [Sandbox] POS-Sandbox is light blue with the ACME logo in blue.
We'll look to bring you the same update the next time we release Access Control (AC).
Email | Membership Cards Email for Gift Memberships
Kudos to the person that spotted this one, as most of us never noticed! When you receive the Membership Cards email for a gift membership, the venue logo was missing at top and the default footer was showing even when configured in Backoffice › Theme to be hidden or custom. All resolved now and good to go to respect your desired configuration (which is the same across all emails, this email just seemed to have a mind of its own!)
API | NPE Errors
At ACME we have a lot of acronyms, one of which you may have seen in an error message on a rare occasion: "NPE". This stands for "Null Pointer Exception" and frankly is pretty embarrassing to ever have you encounter. If you did, likely it's due to something being deleted and our code not handling it well. With this release, we've fixed up the most common NPE errors we see in our logs, so that you don't have to run into them. Now spotting one should be like finding a needle in a haystack, but still let our product support team know if you do!
New and Updated Knowledge Articles
We are continuously updating and adding new articles to our Knowledge-base in the ACME Support Portal. Below are some recently added or updated articles:
Note: To ensure Backoffice updates are as seamless as possible, we recommend performing a hard refresh of your internet browser after a release is deployed. In some cases, you may also need to reset your browser's data cache including any saved cookies and related browsing data. Please contact firstname.lastname@example.org if you experience any issues after a release.