In the second February Sprint, we were able to fix many bugs and bring Calenso a long way forward. Here is a shortlist of the most important improvements:

  • We now have the possibility to send you specific promotions (offers) in Calenso.
  • We have finalized our reseller programme. You can now register with us as a reseller. As soon as you bring us a customer, you will receive 30% of the monthly turnover. If the referred partner becomes a reseller again and receives money in the form of a commission, you will receive an additional 2% of their turnover. So if you have a large network, you can earn very good money with us. The reseller programme is described here.
  • In the widget, the widget parameters (for preselecting and filling the data) can now be passed as Base64 encoded parameters. This is helpful if customers for example should not see the raw data in the link directly. A detailed description can be found here. Many thanks to Hans Eisenring AG for financing this feature.
  • Two new Webhook event types were implemented: Information when a date or event is cancelled. You can find more information about this here.
  • We have further extended our API documentation. You can find the current status here.
  • We have finalized our bexio integration. You can read all about it in the following support article.
  • We have improved the integration page. It now describes how Calenso can be integrated with the following providers: Calenso booking page, own website, e-mail signature, WordPress, Jimdo, Wix, Google Booking, Facebook, Instagram.


TABLE OF CONTENTS


Calenso Backend/API

  • BRAIN-3286: Change default appointment templates for better UX
  • BRAIN-3312: Use Calenso Partner partnership_id in Autopilot
  • BRAIN-3352: Generate reseller program report every quarter / year with summary of payments
  • BRAIN-3373: Stripe one-time-payment does not properly sync customer & tax data
  • BRAIN-3379: Notifications are wrongly sorted
  • BRAIN-3393: Apply to all appointments/events on services should not be there when editing. Breaks backend logic.
  • BRAIN-3390: Deals API should support "main-deal" flag -> main-deal will be shown in subscriptions/upgrade
  • BRAIN-3395: Getting stripe cards throws exception when no stripe partner is connected
  • BRAIN-3404: Stripe description and card name is missing for new created subscriptions
  • BRAIN-3405: Implement API to retrieve all partnerships
  • BRAIN-3423: Save utm_source in case it is present during registration
  • BRAIN-3446: Support resource_name in $supportedPlaceholders
  • BRAIN-3425: Implement leads API in order to invite leads
  • BRAIN-3426: Show utm_source in create partner email notification
  • BRAIN-3427: Sync lead partner to Autopilot
  • BRAIN-3429: Deleting partner is not possible anymore
  • BRAIN-3431: Document lead API in swagger
  • BRAIN-3432: Document reseller API in swagger
  • BRAIN-3435: [EISENRING]: Implement new webhook: appointment.booking.cancellation, event.booking.cancellation
  • BRAIN-3437: Stripe webhook delivery issue
  • BRAIN-3439: Support Base64 parameter on bookingsite and pass it to the booking-web-component
  • BRAIN-3441: Create API to retrieve reseller payment reports (admin)
  • BRAIN-3443: Finish partnership API and document it using swagger
  • BRAIN-3445: Implement API to multiple edit is_paid_out status of reseller payments
  • BRAIN-3464: When signing up check if partner email exists in lead & close registration loop
  • BRAIN-3465: When adding new lead, check if email already exists in partners or worker table. If yes, throw exception and show it in frontend
  • BRAIN-3661: Set partner password after bexio Calenso account was created by OAuth API
  • BRAIN-3462: Login token must be able to add new bexio Auth in order to create Calenso accounts
  • BRAIN-3472: Duplicate bexio partners-settings are created during bexio-setup
  • BRAIN-3477: Sync autopilot when lead accepted invitation
  • BRAIN-3490: Add subscription_type_id to deals
  • BRAIN-3492: Links in Events ICS and Blocker are wrong
  • BRAIN-3494: Return specific JSON response for create partner API when called via bot
  • BRAIN-3495: Extend deals API: ability to define no flags, coupon end date, coupon code


Calenso UI

  • BRAIN-3251: Create Calenso partner from Bexio URL
  • BRAIN-3275: Create "deal and offer" section on startpage
  • BRAIN-3277: Create reseller dashboard
  • BRAIN-3288: User should be able to click somewhere to go to his booking page (currently only copy past works)
  • BRAIN-3347: After bexio was connected successfully, forward user to the online-payment settings page
  • BRAIN-3374: Internal booking widget does not work
  • BRAIN-3375: Implement email signature in integration-section
  • BRAIN-3376: Apply to all appointments/events on services should not be there when editing. Breaks backend logic.
  • BRAIN-3392: Show price information on billing detail subscription page
  • BRAIN-3400: Credit cards do not show no-elements component when there are not credit cards
  • BRAIN-3401: Build Issue
  • BRAIN-3402: If one stripe element is mounted then second stripe element is not mounted
  • BRAIN-3419: Add first-login parameter after registration for tracking
  • BRAIN-3422: Restructure profile navigation in settings
  • BRAIN-3430: Bexio Settings (ng-selects) are not properly pre-selected anymore
  • BRAIN-3438: Webhooks stats are not shown when they are 0
  • BRAIN-3451: Calio calendar connect api for exchange calendar_id must be user_id
  • BRAIN-3455: Add support for font_color on deals
  • BRAIN-3456: Invalid date is sent to backend when saving deals
  • BRAIN-3467: Ghost element table missing on reseller dashboard
  • BRAIN-3480: Add new tab to reseller-dashboard: Invitations
  • BRAIN-3486: Bugfixes deals slider
  • BRAIN-3491: Add support for subscription_type_id on deals
  • BRAIN-3498: If deal->no_flag == 1, do not show any red flags on the deal
  • BRAIN-3499: Deal can be limited by coupon_end_date. Show coupon_code and days until coupon expires (analog to other usecases)


Calenso Booking Widget

  • BRAIN-3226: Eisenring: Base64 support for all parameters in widget
  • BRAIN-3377: Widget is not bookable anymore if all-day-exceptions are null
  • BRAIN-3496: Debug missing events in MOIA event widget
  • BRAIN-3500: Preselect appointment services issue