February 2nd, 2019
- deprecating booking attribute for
flexibility
(first announced in early 2018 to only those that are using our API. Migration guide: https://docs.google.com/document/d/1CPaeOI6qbzV1GO7rA6I1pM4thBrG1vK45F-UVpONBVk/edit?usp=sharing)
- Quickbooks: Migrate to Oauth 2
- Special Tax Rate for Customer: tax rate not applied when task creates next booking
- Upgrade Stripe to current version
- Create Location: concurrent jobs and teams
- Multi-Location: When disabled, do not show the Location tag on the Active Bookings page
- Quote details modal doesn’t show address info
- Froala: Special Characters in SMS template
- Cancellation Fee modal: typo
December 14th, 2018
- Upgrade to latest Stripe
- View Billing History
- Liquid tag: remove Revenue line item from {{ booking_changes }} tag
- Create issue
- Saved Booking Draft Quote: track which Staff user created it
- Fix saving of premium booking form designer with changes in extras table
- Carpet Form Designer: Accordion edit Column and Row fields disappear when switching Service Category
- Multi-Location: Can’t see list of Locations when Feature is disabled or not on plan
- Check all Email fields to not allow invalid email and handle error
- Show warning to users related to “stripe.js v3 will no longer support IE9”
October 13th, 2018
- json.SyntaxError: invalid character ‘<‘ looking for beginning of value Create issue
- Add Customer ID to bookings and customers export
- Do not allow Staff to manually send emails if they do not have the related feature on their plan
- Zapier: Add Customer ID
- Extend existing Charge/Hold API endpoint with flag to trigger failed CC email
- View Saved Quote Modal: Only show properties that we allow to be saved during quote creation
- Unhandled error using Save and Send Message
- Edit Booking: Wrong Service Date set in Date field causes issues with saving a Completed Booking
- Form Designer: if there are validation errors, scroll to the field that has the problem
- Charges page: make sending failed CC email optional
- Time Tracking Logs: Add columns for Distance Value and Distance Unit
- Email Template changes: related to when “Redeem this Gift Card” link that was sent to recipient was broken
- Time Tracking Reports: Difference in Time Reported vs Time Credited is show as red “-0mins”
- Quote: Add recurring booking’s Next Booking Price to the saved Quote
- QuickBooks: Do not sync charges that were put on hold and then released
- Charges page: Disable Sync to QB and Link to QB options for charges that were put on hold and then released
August 18th, 2018
- Export Bookings: Cancelled Bookings filtered by Service Date and Cancellation Date
- Pay Teams Calculation: Do not include Tip of Cancelled Booking with Late Cancellation Fee
- Download CSV: set cookies to expire after 1 year
- Team’s Invitation Reply: show actual team reply even if staff already rejected the team
- Pay Teams Calculation: Do not include Tip of Cancelled Booking with Late Cancellation Fee
- Increase Mailgun retry limits
- Support Rating Feedback Email: Add Booking’s Frequency to the message
- Teams Payment Summary: few teams figures missed from total
- Tags: create unique constraint on
tag_id
, taggable_id
and taggable_type
- Upgrade Stripe library
- Liquid tag: Remove “Old Value” from {{ booking_changes }} in preview mode
- Editor: Upgrade to new version 2.8.0
- Update ng-rollbar lib
- Fix “TypeError: recreateService is not a function”
- Pay Teams: Main page is requesting summary for All teams when filter on page is only for Active teams
- Fix “ReferenceError: Stripe is not defined”
- Typo in Designer: “SMS Remainder Settings”
- 403 Response Error Page: Improve message based on Custom Error from backend
- Client Settings Change History: allow admin to see this on Subdomain tab
- Cannot read property ‘subject’ of undefined
July 7th, 2018
- Create Zapier triggers for when team(s) are assigned/unassigned
- Quotes: Share Quote Email
- Team Payments: Add Standard Wage Adjustment based on Base Amount for each booking
- Recurring Bookings: “Duplicate” Forecasted bookings being displayed
- Change History: Track service category changes made to a service
- Quotes: endpoint for staff API should be extended with
quote_uuid
- Reset booking’s
charge_failed
when payment method changed from stripe to something else
- duplicate key value violates unique constraint “invitations_team_id_booking_id_key”
- Optimize audit_context creation
- Fix “TypeError: undefined is not an object (evaluating ‘service.availableTeams.assigned’)”
- Emojis in Rating Text causes CSV to export column values in wrong order
- Quotes: Pass
quote_uuId
to back end when creating booking from saved quote
- Sandbox tab: Server error “Not Found” is displayed if no Sandbox exists
- Teams: add View History option to main profile options
- Tags: Track Change History of when tags are linked/unlinked
- Staff role changed notification via Push notifications
- Popout Form: Submitting the form does not scroll to missing required field value in Safari
- Fix “ReferenceError: Stripe is not defined”
- Check for empty email subject and contents
- Stripe timeout: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
- Deleting staff and teams: checked linked > has_created_bookings
- Email Templates: minor issues
- HTML Email Templates: Remove primary_text_color from several places
- Bookings: Add DB column and CSV column for Created By
- Failed Charge/Hold Emails: Send when the failure happens from a manual attempt
May 28th, 2018
- GDPR related delete features
- Zapier: Add triggers for when Saved Quote is created
- Email and SMS team as soon as they are un/assigned a booking
- SMS Templates: Booking Rating and Happy Rating Follow-up
- Discount code: allow remove number of uses restriction
- Liquid renderer panics when key is not found in the map
- Printing Schedules: remove restrictions on CanDeliver for Print
- Stripe: refresh charge before Refunding to avoid stale state
- Fix unsafe rendering of extras options in booking form designer
- Fix uploading of customer avatar
- Rename Sandbox Access tab to API
- Active Bookings on mobile UI – add sort filter
- Pricing parameter ranges: Cannot Save Duration
- Profile pic: Can’t upload staff profile pic
- Gift Card Form: not rendering same bg as the Default Booking widget
- Booking Form Designer: Cannot save changes to booking summary header
- Booking Form Widgets: Scroll to missing required field value does not work on iOS Safari
- Discount Codes: Issues with removing values when editing a code
- pq: duplicate key value violates unique constraint “index_form_settings_on_code”
- Deleted Customers Log: always showing 0 giftcards
- Discount Code Form: Can’t save percentage amounts with decimals + make body shorter and scrollable
- Quote form designer: custom background color is not rendered correctly
- Email Templates: Team Availability emails do not show correct time format specified in Subdomain
- Team Rating Feedback Email Template: change content
- Bookings list for team API: sorting does not work
April 27th, 2018
- Time Tracking Logs: update the assigned teams hours on booking when user “approves” log
- Allow Notes and Comments to be formatted in Email notifications
- Discount codes: New Restriction Options for booking discount codes
- Block Customers to prevent them from Seeing Available Spots and Booking Appointment
- Company Name for Customer
- Include Bookings outside of your normal spots against your Availability
- Referral Rewards: Change rule to allow rewards to be combined with Frequency Discount
- Pay Teams: Add option to set payment as Draft and to Delete Draft – update this doc, link to doc
- Send Schedule: minor changes
- Booking Form: Bring back the old Price Adjustment Recurring Checkbox
- Zapier: Notify the Customer Updated trigger when customer’s tags change
- Spots Settings > Daily: use
modal-lg
for Teams Needed/Jobs Scheduled modal
- Team Permissions: Add “View Booking’s Final Price” and other edits
- Dashboard: Add proper comma formatting and 2 decimal places to the amounts
- Add help icons for different types of notes and comments
- Manage Customer Addresses: New Address is not added unless it is set to Default Address
- Tag Enhancements: Display order
- Scheduler pages: After bookings are refreshed, the keyword filter is lost
- Customers page: Display Name set to Email address when no First Name value
- Cancelled Bookings: Remove overflow: hidden
- Setup Wizard: Add button state to “Launch My Account” button
- Daily Spots Settings: Show Location label for Bookings in Teams Needed modal
- New Team Permission: View Booking’s Final Price
- Customer Profile: Saving Phone causes error “0.label – 0.label: String length must be greater than or equal to 1”
- Time Tracking Log Export changes
- delete customer function does not remove records from payment info table
- Link customer with Stripe Customer ID: remove spaces from Stripe email before email validation
- Advanced_search_for_teams: add availability_details
- Time Tracking Log: Add Base Amount column to CSV
- Check for and skip empty/blank rows in input CSV
- Handle error responses in gdm.GetDistance and gdm.GetDistanceWithCache
- Pricing Parameter Ranges: Return a range label to indicate which range was selected
- Send client “welcome email” in a separate transaction
- investigate: duplicate key value violates unique constraint “index_business_hours_on_location_and_date”
- pq: duplicate key value violates unique constraint “index_pending_charges_on_pending_date”
- SMS notifications default value: deprecate client setting SMS Notifications, use system field default value
- Customer Import: Enhancements + Column Mapping
- Smart Scheduler: Dragging Recurring Booking to 2nd team but then cancelling action
- Scheduler: not warned about “next booking” needs to be created when editing the template booking
- Time Tracking Log: add help icon and fix CSV request
- Can’t find variable: fieldset
- Service Category: Archive+Create New Service after Price change does not add the new service to the category
- Pricing Parameters: Hide View History button on create New Pricing Parameter form
- Scheduled Tasks: rename to “Automated Tasks”
- Multi-Locations: new location is not added to table immediately after modal closes
- Customer Profile: Strange output in Referral Rewards section
- Multi-Location: Cannot read property ‘parentNode’ of null
- Subdomain tab: Cant save “max time each team can work per booking”
- Daily Spots in Team mode: Bookings scheduled modal errors
- Add page’s Title into the html title tag of the page
- Request Time Off shows server error for invalid date range
- ReferenceError: reloadFrequency is not defined
- TypeError: Cannot read property ‘stripe’ of undefined
- Remove
hidden-xs
from help icons
- Customer import attempts to create customers with duplicate email addresses
- Stripe returns UTC that is in the future
- Time Tracking Logs: add has_saved_team_payments for booking
- pq: duplicate key value violates unique constraint “time_trackings_booking_id_team_id_key”
- duplicate key value violates unique constraint “invitations_team_id_booking_id_key”
- Bookings for Spots Settings selected without from/to date
- CSS: Remove margin-top from checkbox, radiobuttons etc
- Premium Form Designer: Content Area editor’s formatting icons not showing
- Scheduler: Changing Team assignments does not save properly for future bookings
- Team Invitation: Team’s invitation is being rejected when staff makes non-invite related change to the booking
- Service Category: Issues with services and “No Category” selected
March 2018
- Multi-Location – Sync bookings to Location
- Pricing Parameters should support ranges
- Save a Booking as a Quote
- Allow service date and time to be pre-loaded into booking form widgets via querystring
- Pre-Select Service Categories
- Add Team’s Phone to liquid tags for customer emails
- if_modified_func doesn’t restore search_path if nothing was audited
- Google Calendar: googleapi: Error 403: Forbidden, forbidden
- Update vendored dependencies
- Custom Fields in Prem Form Designer: when adding new Checkbox or RadioButton List for first time, the new fields aren’t saved
- Qty-based Extras on Premium Form: changing value from 3 back to 0 can cause unhandled error
- Add own URL shortening service
- Not redirect after Save Booking because of error: Cannot read property ‘share’ of undefined
- Cannot read property ‘with_fee’ of undefined
- Fixed on Feb 2 9AM EST: Scheduler: When dragging Booking to new time or assigning team, the Price Adjustment is removed
- Server error changing Team’s Default Availability
- Fixed on Feb 2 9AM EST: Price Adjustment not copied over when using Book this Again
- Show Team’s Full Address in their Profile
- Service Categories: Separate Archived vs Active Services on Edit Service Category form services list
- Froala Editor: SMS content renders as HTML
- Manage Addresses: If customer does not have addresses, disable the Manage Addresses link
- Multi-Location: Clicking multiple times to edit a Location causes multiple modals to open
- Time Tracking Logs: add Cancelled label next to booking and tooltip explaining how to remove cancelled booking from list
- Book this Again page: Frequency is read-only if trying to reschedule from First Booking Exception
- Team login: View Booking Details modal can’t scroll on iOS Safari
- Cannot read property
hourly
of null
- Change message and prevent selecting of code when “Premium Booking Forms feature is not available on current plan”
- Save Recurring Booking: DateTime/Frequency changed modal New Dates section is confusing
- Notify client when email could not be delivered to address
- A way to cache distance between rounded lat/lon origin and destination
- Booking SMS notification: validation for system field and default value
- Invite Teams: Make asynchronous
- Scheduler: add support for Cancel with Late Fee
- Froala Editor SMS: chars are being escaped in SMS Preview and delivered SMS
- Default Form: “Don’t worry text…” text displayed at bottom of form but no way to hide it in settings
- Embedded Premium Form: If “No Spots Available” selected and you submit form, widget doesn’t scroll to location of error
- Booking Form: Unchecking SMS Reminder checkbox causes checkbox to disappear completely
- Reschedule via Cancel Modal: Add more descriptive error for user to add required custom field value *
January 2018
- Add Multi-step Recurring Booking Save modal to Scheduler
- Cleaning Booking Form: iOS Safari scrolls to bottom when list of Service Times is clicked
- Moved SMS opt-in “default” setting from Subdomain tab to Form Designer
- Add Send Confirm Account email option to Customer, Staff and Team profiles
- Business Hours for Holidays
- Booking Extras Validation: do not allow non-quantity-based extra qty be equal to 0
- Report Carthook errors: “Cart already marked …”
- Email template
staff/request_for_time_off_submitted
using deprecated liquid tags
- Send email alerts about Twilio errors
- Re-send confirmation email to unconfirmed team, customer or staff user
- Add advanced date format version of
booking.service_date
liquid tag
- Stripe error: Charge XXXXXX has already been captured
- Spots Change History: Add Support for Business Hours
- Subdomain tab: Forgetting to set time unit causes error
- When there are a lot of teams on scheduler day view, the availability is not displayed for the last team in the list
- Cannot assign to read only property ‘length’ of function ‘function Resource(value){shallowClearAndCopy(value||{},this)}’
- Test Stripe keys to see if they are valid before saving values
- TypeError: service.invitations is undefined
- Daily Spots: Day is Closed in Max settings but is not displayed as Closed in Daily Settings
- Run time exceptions on Customers page
- Error adding Extra to Service
- undefined is not an object (evaluating ‘iframe[0].contentWindow’)
- Use tag property to ensure only one browser notification is displayed when multiple browsers/tabs opened
- Email Editor: do not escape the content that is inside Liquid tags
- Add improved explanation for why Discount Code fields are disabled
- Catch exceptions on creation of notifications on Android
- Handle null values in date\datetime custom fields
- Double-clicking on day event in Team Availability calendar opens two modals
- Display Staff and Customer Notes fully on Booking Details Modal
- Active Bookings does not load complete list of bookings after the real-time update refreshes the list
- Email Preferences for Staff loaded twice
- Fix requesting of permissions for browser notifications in Safari
- Forecasted Booking Details modal: Only call Change History endpoint when Changes tab is clicked
- Remove frontend CSV validation during import of customers
- If booking is completed, show reason why Frequency cannot be changed
- Discount Codes page: show bookings/gift cards that used the code
- Email Editor: Disable ability to Upload Image File
- Customer Profile: frequency displayed on booking lists is not the Frequency Name
- Cannot read property ‘_avast_submit’ of undefined
- [ErrorInterceptor] responseError: (406): account does not support Stripe
- Liquid tag
team_average_rating
not rendered in real email
- Stripe: Platform access may have been revoked.
- Update Email Template content: use
booking.comments_text
in Booking Comment Added
- Team Payment emails: send email when status changed to PAID
- staff/import: duplicate key value violates unique constraint “idx_users_on_email”
- parsing time “2018-02-29”: day out of range
- Create/update tag: extend with possibility to pass changes for tagged items
- googl error: code 403, message: Rate Limit Exceeded, errors: <nil>
- Deprecate
forecasted_id
, it is duplicate for forecasted_from_booking
->id
- Add QuickBooks Customer ID to customer import
- Customer Import: Enhancements + Column Mapping
- Add ability to Send Messages to View Booking page
- Manual Service Date: default the Time to be same open time as day of the week
- booking.card.validate is not a function
- Quickbooks Mass Sync: Server errors not displayed at all to user
- Scheduler: Remember Day/Week/Month view setting
- Handle CloudFront 502 errors
- Server error when adding a new Location with zip codes that contain spacesFailed to create Location: postcodes.0 – postcodes.0: String length must be less than or equal to 10
- Give user option to update upcoming bookings when they change address/phone on customer profile
- Tax label in booking form should match the Tax label from the Booking Form Widget
- Cannot read property ‘validate’ of undefined
- Quickbooks error while renewing tokens: code 270, response: OAuth Token rejected
November 2017
- Email alerts when cards are declined during Manual and Automated Charge/Hold Task
- Support minutes for Arrival Window
- Give Customer option to Reschedule Booking if they try to Cancel it
- Add Reschedule Button next to each non-Completed booking on Bookings History page
- Migrate Credit Card fields to Stripe Elements
- Move link to Scheduler
- Allow Staff to add new Credit Card for existing Customer via Booking Form
- Add additional filters to Active Bookings page
- Give user option to unassign from upcoming bookings when Archiving a Team
- Add the Discount Code used to the Booking Export
- Add Frequency of Next Booking to Customer export
- Remove lowercase styles from each Extra’s name on the Premium Form
- Add disclaimer about availability to Booking’s Change History when Location is changed
- Charges list on Customer Profile tab shows “unpaid balance” warning if booking’s Total is paid in multiple charges
- Prevent User from scheduling any Task after 23:40-00:00
- Server error setting 0 days as your cancellation policy
- Impossible to delete Customer Notes from Customer Profile
- “Team may not view comments” warning should not be displayed
- Save Changes button in Turn Sales Tax feature On/Off modal does not work
- Add button loading state to OK button in Charge card modal
- Froala Email Editor: Disable ability to Upload Image File
- Froala editor for SMS
- Friendly error for Invalid URL on Referral Program Url setting
- Friendly messages for Display Order errors
- Add Company Phone to Subdomain settings
- Session.currentUser is undefined
- Add Recalculate function to Sales Tax Record and modify Change History display
- Some growl messages do not close when X icon clicked
- TypeError: null is not an object (evaluating ‘booking.location.id’)
- If
text_message_reminder
is true, check the SMS checkbox on Staff Booking Form by default
- Allow Preview Email data to load cancelled booking data
- Strange symbol in Credit Card field when using backspace key in FF
- Failed to construct ‘WebSocket’: The URL ‘undefined’ is invalid
- Always send auth info in WS ping requests for authenticated users
- Fix backend error interceptors
- card object is not cleared from stripe_token
- Gift Card submit button does not match Default Form styles
- SMS field centered on smaller devices
- Do not see SMS checkbox on Customer Booking Form
- Cannot read property ‘confirmation_required’ of undefined
- null is not an object (evaluating ‘cacheKey.indexOf’)
- Stripe error: “type”:”card_error”
- Server error “preheader: String length must be greater than or equal to 1” previewing master template
- Date difference calculated incorrectly when period includes daylight saving time
- Update stored credit card info if Customer deletes CC or does not have CC
- pq: numeric field overflow
- Do not accept task “scheduled_at” in 23:45 – 00:00 interval
- Add Argentina Peso ARS to currency list
- Bug: if booking not assigned and customer provides feedback we are sending feedback email to all teams
- When Team is created, send them Welcome email
- Update updated_at only if some record fields were changed
- Set maximum limit for re-ordering and update ordering endpoints (99999999)
- Return duration for service/pp/extra in Services_for_booking public endpoint
- last_date_updated value on Daily Spots is wrong
- Unlockable fixed spot with date-specific flexible spot
- Main spots table does not get updated with new value for “Available Teams”
- Edit Staff Schedule html template causes issues with liquid tags in real schedule email
September 2017
- Liquid tag to see which User Cancelled a booking
- Add Total Active Bookings and Total Cancelled Bookings to Customer Export
- Add columns to booking export: Booking ID and Customer Full Name
- Allow staff to search for customer records based on Stripe ID
- Disable days on Booking Form Datepicker that do not have Availability
- Backend initiated push notifications
- Premium Booking Form as popout Widget
- Edit Future Bookings – Multi-Step Save modal
- Implement Two Factor Authentication
- Adding Notes to a Team’s Availability Calendar
- Allow Teams to be excluded from Spot calculations when in team mode
- Set custom spot values when Spots Settings is in Team mode
- Move Enable Sales Tax setting to main Sales Taxes page
- Incorrect url results in white page of nothing
- Add preview data for Sales Tax to liquid templates
- Hide Discount code warning about not being able to combine discount and Frequency
- Cannot read property ‘options’ of undefined
- Keep selected date range the same on Pay Team details page if you switch to different team
- Wrong Endpoints are queried on pages with infinite scroll paging
- UI changes to Customer Home “Next Booking”
- Enhancements to Final Price liquid code tag in email templates
- Change discount code error message from “Sorry, this code is no longer active” to “Sorry, this code cannot be redeemed.”
- Add location policy validation to create/update booking
- Add support for Intercom “identity verification”
- Return Label or Placeholder text when Custom Field required value is not present so it can be displayed in form validation errors
- Assign teams modal: Hide Update Duration section when viewing Invited Teams tab
- Cannot read property ‘digest’ of undefined
- Cannot create Team Payment for percentage-based wage, only Draft option is available
- When Sales Tax record is edited, refresh the main sales taxes table
- History of changes for booking: return friendly description for SMS sent event
- Make labels on the Send Schedule modal more narrow
- Remove link from Booking Service Address in Booking Details modal
- Scheduler horizontal view: cannot drag assigned booking to another team (would change service time accidentally) – fix deployed Aug 23, 2017
- Scheduler: Dragging and Dropping a Forecasted booking causes the template booking’s date to change – deployed Aug 4, 2017
- TypeError: Cannot read property ‘trim’ of null
- Edit Future Booking: Show friendly error for “booking – first recurring policy” when cancelling forecasted booking
- Edit Booking Form “Save Changes” button state text after click
- Add meta html tag to prevent indexes from crawling the booking forms and main page (was causing L27 to be ranked in Google…in some cases higher than the business’ website) – deployed Aug 18, 2017
- Change `text-success` color to #00a651
- See estimate of team hours for the week on the Team Payments page before the bookings are completed
- If discount code cannot be applied, show error message underneath Discount field
- [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use ‘track by’ expression to specify unique keys. Repeater: team in ctrl.availableTeams.assigned | orderBy:’title’ track by team.team_id
- Unable to get property ‘toFixed’ of undefined or null reference (IE Edge)
- Unterminated quote at columns 106-107
- TypeError: oldFrequency is undefined
- Display Twilio settings error: “Text Messages cannot be sent from your account because you have not set up your Twilio integration. Please set up Twilio in your account settings.”
- Teams for booking queried for the wrong date
- Scheduler: Any booking that is assigned to an archived Team is not displayed in Hor/Vert view
- Bookings with no ratings are being exported with a value of 0
- February not being returned in Dashboard data
- Edit Future Bookings – Create Forecasted Bookings submit button allows multiple clicks and creates duplicate bookings (deployed Aug 6, 2017)
- Edit Future Bookings – Do not show Recurring Changes modal when changing one-time frequency to recurring frequency
July 2017
- Starting time is not loaded for Shift when Changing Availability for team for Specific Date
- Cannot read property ‘start’ of undefined
- Give option to Staff to Send Non-Credit Card Invoice when Marking Booking as Paid
- Save button for Stripe trans_id remains disabled even after value is entered
- Customer Profile does not load charges: Cannot read property ‘code’ of undefined
- Scheduler: Scroll bar prevents paging on Team availability
- Change Team Availability Modal: hide Apply To button if only one date is selected
- Changing Specific time slot Availability for one Team on Spots Settings changes default availability for other teams
- Saving Changes on Extra creates a brand new identical extra
- You have reached maximum request limit.”,”status”:429
undefined is not an object (evaluating ‘model.availabilitiesByTeam[team.id].data.availabilitiesByDates[date][0].dayoff’)\
- Missing instance data for this datepicker
- Team Availabilities and New Scheduler page do not show availability for specific dates if default availability is not set up
- Location lookup displays “prevent booking” message on Staff Booking form too soon
- New Scheduler: Enhancements to Calendar Normal view
- Minor Enhancements after refreshing Stripe charges on Charges and Gift Cards Sold page
- Display Duration value in Change log as hours and minutes
- Email Preferences for Staff loaded twice
null is not an object (evaluating ‘bookingService.service.id’)
- Last Name field placeholder text renders asterisk that cannot be removed by user
- Add line breaks for Staff/Customer Notes when rendering liquid tags
- GET endpoints with `payment_method`: deprecate `payment_method`, add `payment_method_info`
- Remove {{ from }} and {{ to }} from Email preview, add {{ time_off_from }} and {{ time_off_to }}
- Booking Invitation Reply Received notification is missing booking ID
June 2017
- Add Location, Team has Key and Team requested to bookings export columns
- Tip amounts on Team Payment details page different by .01
- Track the date that a Stripe charge is captured (not just when Charge was first created i.e. place on hold)
- Mailgun forward: also check “recipient” when looking for client support address to forward to
- Mailgun bounce handling: ignore “Content-Type isn’t multipart/form-data”
- Dont log exception: “transport is closing”
- 10812 <nil>: bug in account status alerts calculation for core settings endpoint
sql: no rows in result set
- Handle 429 “You have reached maximum request limit” error
- Don’t load GA and GTM twice on Form Designer
- Give option to Staff to Send Non-Credit Card Invoice when Marking Booking as Paid
- Hide Success messages 2 seconds after transaction is successful on Charge Customers page
- Spelling error on Hourly Wages report
- scheduler: Bootstrap tooltip does not always disappear
- Remove content about Team and Staff Payouts from Stripe tab
- Add info tooltip for Site Color
- Hide Old Customize Form Fields nav links
- Stop using `charged` and use `charged_amount` instead
- Infinite scroll on Emails Log does not work when browser viewport is very tall
- Allow Staff to edit comment text of Team and Customer booking comments
- Assign Teams modal: show more helpful message if 0 teams are found
- Scheduler List View: Server error when trying to assign bookings that belong to more than one location
- Tip field does not allow value of 0
- If user forgets to add http:// or https:// to Company URL, add it for them
- Enhanced Booking Comments
- Ask for Cancellation Reason when Customer cancels
- Allow Frequencies and Discount Codes to be eligible only for certain Services and Extras
- Ability to Combine Discount Code and Frequency Discount
- QuickBooks: replace email in the Display Name with user_id
- Enhancements to Create Location Wizard
- Remove “Discount: applied:” line item from team_info liquid tag
- Add limit/offset for history of Unsubscriptions
- Request 50 records of Change History and replace infinite scroll with manual paging
- Change description for customer/booking_cancellation email template
- Team API: update booking details endpoint to return data in regular format
- Make client schema names fixed
- Team Permissions: change update endpoint to not overwrite setting if not passed
- Endpoint for grouping teams in Assign Teams function
- Cannot add new Pricing Parameter via Edit Service page
- Add archived label next to archived Pricing Parameters on Edit Service page
- Don’t show archived teams in “Teams Available” window when in Team Availability mode.
- Assign Teams Modal: Remember collapsed/expanded state of Available and Unavailable panels
- pq: duplicate key value violates unique constraint “availabilities_dayoff_unique”
- Remove “Discount: applied:” line item from info_for_team liquid tag
- Disabled BOOKING UPDATED BY CUSTOMER email is still being sent
- Spots Settings: add a “Select All” checkbox to the top of the “Apply to” menu
- Add user email length constraint
- pq: duplicate key value violates unique constraint “index_pending_charges_on_pending_date”
- Do not send booking notifications to Archived Teams
- Allow passing of empty value for Service/Extra icon
- Renaming references to “Customer Comment” to “Customer Note”
- Extend assign teams API to change booking duration
- List of Team Availabilities for a Date Period
- Update Scheduler page to get Team Availabilities in one call in endpoint
- Change API to allow update Customer Profile note without changing other customer attributes
- Issue with UTF-8 validation on Import Customers page
- Disable UTF-8 validation for Customer Import
- Add unique client and client_schema IDs
- Timezone issue with date pickers on Sync Quickbooks modal
- Make “feature is not active” message more descriptive
- Add Location name to Spots Settings History Modal
- New Scheduler – Add Hours and Workers info to List view
- “Teams Available” window: too many backend calls
- Daily Spots settings Teams Available modal shows teams that don’t belong to a Location
- Re-Book Last Service does not work if Multi-Location feature was used for original booking but since been disabled
- Time zone issue with Expiration Date on Discounts table
- If you change Service Time via Scheduler, the Price Adjustment amount is removed from the booking
- Unable to Change Time of Recurring Booking: booking date was 2017-05-08T12:00:00, not 2017-05-08T23:00:00
- extra is undefined
- Contents of discount Popover spill outside of container
- Cannot read property ‘flexibility’ of undefined
- New Scheduler: Team Availability for Tomorrow is not displayed for GMT -7:00
- Change wording of Sales Tax notice on Subdomain tab
- Fix typo on Step 5 of Setup Wizard
- When you save changes to an existing Frequency, its display order is changed to 0
- Error trying to Book Again: team (102) cannot be assigned to the booking
- null is not an object (evaluating ‘$scope.$parent.$parent.bookingCount=data.count’)
- Enhancements to Create Location Wizard
- Search: change limit, offset to offset, limit
- Add limit/offset for history of Unsubscriptions
- Request 50 records of Change History and replace infinite scroll with manual paging
- Next recurring booking not created when booking linked to redeemed giftcard
- Import customers with multiple addresses
- Link email logs to the related Booking’s Change History modal
- Add new columns for Teams Earnings to the Booking Download: Team Earnings Amount and Team Earnings Summary
- Deauthorize Google Calendar and send notification email on “Invalid calendar” errors
- Ordering for extras always returned as 0 in services helper
- Incorrect number of days returned for spot because of DST
- {{ service_date_was value }} passed to TEAM BOOKING RESCHEDULED NOTIFICATION is wrong
- Add missing “schedule_date” to preview data
- team.title, booking.rating_text, booking.rating_comment not rendered for Rating Feedback email
- Value for liquid tag service_date_was is incorrect
- Sort User’s Email and SMS Preferences by Name
- Add new column for Date Created to the Customer download
- Price Adjustment Amount field always tries to set value to positive
- Team Profile does not always show wages records even if Team has them
- Javascript not being escaped properly on Future Booking modal on active bookings page
- Display Unpaid Balance for credit card bookings on Customer profile Charges tab
- Re-Book last service modal opens when you click Enter key in any field
- Extras are displayed in wrong Display Order on staff and customer portal booking form
- Team payment page: tries to infinite refresh
- Browser Back button functionality acting strange
- New-Scheduler: Team column on Horizontal View is too wide
- Unhandled error trying to send Manual Confirmation email to different email that is unsubscribed
- Forecasted recurring booking’s details modal does not show accurate price
- Back button does not do anything on Gift Card Widget page
- When user is redirected to different page in customer portal, they are not scrolled back to the top
- Show message in customer and team portal to user to reload the app if new version of the web app was deployed
- Info and Success growl messages in team portal should disappear when you visit another page or after 3 seconds
- Cannot create default availabilities in team portal with all days as ‘day off’ (on setup availability page)
- Add filter to Active Bookings page to hide Completed Bookings
- Allow Staff to use Book this Again at any time
- Allow Carpet form accordion panel to show Pricing Parameters , Workers and Hours
- Change Account Owner Info section on Subdomain to be a dropdown list like in Monitor Profile
- Minor Changes to Customer Import modal
- Show message to user to reload the browser if new version of Launch27 was deployed
- JS error: Cannot read property ‘id’ of undefined
- undefined is not an object (evaluating ‘settings.address.show_city’)
- Change Discount Code Percentage validation error
- Team Profile makes multiple calls to bookings endpoint when scrolling
- Change Profile Pic buttons
- JS Error: Cannot read property ‘google_analytics_id’ of undefined
- Profile Pic not rendering properly for browsers with pixel ratio >= 2
- Remove profile pics from list of Customers, Teams, Staff
- Changes Log on Scheduler Booking Details modal does not use correct time format/zone for the Service time
- If uploaded profile pic is too big, show max size in the error message
- Add explanation for “Display this Service to Staff only” option on Edit Service form
- Due amount on Payment Details page is not including the Tip (was including it in actual payment sent to team, but not in the read-only data displayed on the Payment Details summary section)
- Make Re-Book Last Service button orange on Booking Form
- JS error: onSpotChanged/onSpotFlexibilityChanged: undefined is not an object and unable to set property of undefined
- Chrome scrolling bug causes Active Bookings infinite scroll continues to make calls to the API
- Changes History does not show log for each Extra that is Removed
- Show error to user if a Customer import is already in progress
- Booking Details Modal is missing Month from Title in the team login
- TypeError: historyEndpoint is not a function and Random }} next to amount of Refunded Cancelled Booking on Charges page
- Edit Cancelled Booking page does not render custom dropdown field option text properly
- Infinite Scroll issues in Chrome causing too many API calls
- Charges History button is sometimes calling the wrong endpoint
- Expression ‘{id: ctrl.booking.id}’ used with directive ‘suiChangeReport’ is non-assignable!
- Add Team name to Booking Changes History log
- Add status indicator to Changes Log modal
- Warn user if currently connected QuickBooks Deposit account is not available anymore
- Change wording of “spot has been taken” error message on booking form widgets
- Display Growl Error Messages as relative positioning on Form widgets
- Date and DateTime field labels need more bottom padding on booking form widgets
- JS Error in Customer portal: ReferenceError: Can’t find variable: fieldset
- Add “Create Booking” button to Customer Profile
- Mark as Paid modal has amount 0 when there is a Late Cancellation Fee
- “Enter some text…” placeholder is not visible on Premium Form Designer paragraphs
- Optimize endpoint calls to make Premium booking form widget load faster
- Export Team Payment Data
- Profile Pics for Teams, Customers and Staff
- Render Descriptions for Extras on the Premium Booking forms –
- Add assigned team(s) to the email sent to Staff when a Customer leaves feedback
- Import Customers asynchronously to prevent timeouts when there are a lot of records
- Add booking digest to bookings search
- Changes QuickBooks SalesReceipts and RefundReceipts to include Service name in line item descriptions
- Bookings export: renamed “Amount Paid” to “Final Amount” as the name was misleading and really represented the booking’s final amount; added new columns for “Amount Paid by Customer” and “Amount Owed by the Customer”
- Book this Again form loads the customer’s default address instead of the Booking’s address in the customer login
- Client’s Google Analytics Tracker not being added correctly each time Booking/Gift Card Form Widgets loaded
- undefined is not an object (evaluating ‘__gCrWeb.autofill.extractForms’)
- Booking Summary amounts are inaccurate when Email value not decoded from querystring
- URL to view Bookings Details modal
- Cannot read property ‘opener’ of undefined
- Clicking Add to Address Book for new customer on Booking Form does not work
- Change validation of Website Url field to require http://
- hide the Mark as Paid button for non-cc bookings if outstanding amount is $0
- Email log looks like it has duplicate entries
- Show async customer import message to customer
- Add Refresh button to Daily Spots
- Add View History button to Edit Service, Extra and PP pages
- Add Service/Extra/PP name to Booking Changes History log
- Overcharged on-stripe booking not displayed as overcharged
- Add address fields to Team Edit Contact Info modal
- Scheduler: Cannot read property ‘data’ of undefined
- undefined is not an object (evaluating ‘model.settings.features.multiple_locations’)
- Remember the selected Columns of Exported data so user does not have to select again later
- Show Count on Customers, Staff and Teams pages
- Add support for Company Website URL Setting
- Point the Logo Link to the Company URL Setting
- Completely blocking off a Time Slot
- Customizable Data Export for Booking and Customer Data
- Allow to set Default Spots by Day
- Support for Multiple Addresses
- Scheduled Task that emails Support if there are Unassigned Bookings for Tomorrow
- Add Launch27 company address to Client Invoices
- Bookings missing from Calendar Day view when team has more than 100 bookings for month
- Move Growl messages a little lower down the page
- Change Server error message on carpet form when no Service is selected
- Gift Card widget’s Thank You modal backdrop does not appear immediately after submit button is clicked
- Login issues on iOS Safari Private Mode related to localStorage
- Add label to indicate if this is the first booking in a recurring series
- Growl success message that’s displayed in Setup Wizard after code is sent to developer is misaligned
- Create Location wizard shows hourly service attributes even when service is not Hourly
- Pass date, from & to params to the Active Bookings page
- toState.data.nextState is not a function
- Ask User to enter Timezone and Currency during Client Setup Wizard
- Split gcal sync worker in two
- Allow refund amount less than $0.5
- Replace booking_url with client.website_url in GIFTCARD RECIPIENT CONFIRMATION email template
- Improve performance of free-text search sql queries
- Display ‘-X jobs available’ on Daily Spots page in red instead of green
- Add More button should only add 1 row instead of 3 rows when editing a list field on the Add/Edit Custom Field page
- Previewing an SMS template does not render line breaks properly
- When adding new Custom Quote Field, the field is added to the top of the form
- Display error when using Save and Send Message modal if selected email template is disabled
- Customer portal booking form: Change “spot has been taken” error message to say “The time you chose is not available any more. Please choose a new time.” instead
- mailgunForward: invalid memory address or nil pointer dereference
- Add Send Invoice option for non-CC bookings on Charges page
- JS error on Welcome page after cancelling your only booking
- Remove Requried field asterisk from Discount Code field for new accounts
- Custom Fields that are hidden on tenant forms are still displayed on the Staff Forms
- Disabled button feature from the Login page does not always work
- Display asterisks for required fields on the Premium Form
- Change Warning message in Change Email modal for Staff users to: “Changing the Staff’s email will change their account status to ‘Unconfirmed’. They must confirm their account again to log into their account. Please make sure that the New Email is a valid email that they can access to confirm their account.”
- Payment Date issue with marking Non-CC Bookings as paid that is related to timezones
- Make Team Profile same layout and styles as Customer Profile
- Clicking ENTER key on Subdomain tab opens the Company Logo file upload modal
- Premium Form custom field heading visible even if there are no visible fields
- Quote Form email field does not show client side validation when email is in wrong format
- Rounding Error in UnPaid Balance of non-CC booking (too many decimal places displayed instead of rounding to two decimal places)
- Javascript error: Booking cleaning form: Illegal constructor
- Subdomain page does not scroll to validation errors on submit
- Issue with Charges page not displaying Stripe API key errors
- Cannot create booking for existing Customer that is missing First and Last Name
- Minor changes to how ID’s and timestamps are passed to Zapier for global app review process
- is_new_customer should be false after first booking is completed
- Show Other Months in Service Date Datepicker on Customer Booking form
Copyright 2020
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.Accept Read More Privacy & Cookies Policy