Hi folks, we’ve got an update for you that improves how Karma handles payment schedules, and fixes a bunch of bugs. 

Payment schedules no longer regenerate themselves when you change values like the trip balance date. If you want to give bookings a payments schedule, or make changes to all bookings schedules at once, you will be using the Trip Master Schedule

The Trip Master Schedule is generated (by you) on the trip page based off of the Payment Scheduler fields. This schedule:

  • Serves as a template from which new bookings create their schedule
  • A command center to bulk modify all bookings schedules. Think of this master schedule as a puppeteer. Once it is Pushed to bookings, any changes to it also change the related booking schedules.

What has been changed

  • Trip “monthly amount” - Is now a combination of “periodic amount”, “payment period unit”, and “payment period count”. These fields can be set in the trip Edit modal, or the Payment Scheduler Edit modal
  • Monthly Payments are now called Periodic Payments 
  • Inactive payments are gone. If you want to inactivate a payment, hit the ‘remove’ button to delete it.
  • Changing “balance date”, “deposit deadline”, “monthly (now ‘periodic') amount” - won’t regenerate bookings schedules.
  • New bookings on ‘Presale’ trips will only get deposit payments. They get a full schedule when you “push” the Trip Master Schedule when converted to 'Active'
  • Balance payment amount no longer contains the cost of missed payments. The balance is now located at the top of the bookings payment module. 

What has been added

  • Trip payment module which displays the Trip Master Schedule
  • “Generate Schedule” and “Push Schedule” buttons on the trip Payment Scheduler module 
  • A flexible ‘payment period’. Now instead of just 1 month, you can set an arbitrary period for recurring payments. The image below shows the settings that create $100 payments every 2 weeks

How to use it

Convert a trip to Active, and give bookings a payment schedule

In order for new or existing bookings to have a full payment schedule (and not just the deposit that they get when they book) you must do three things on the trip page: 1) Generate a trip master schedule, 2) Customize the resulting schedule as desired, 3) Push the schedule

  1. Generate
  • Ensure you have the following fields filled out “deposit deadline”, “deposit amount”, “periodic amount”, “payment period unit”, “payment period count”, and “balance date”. This can be done in the Trip Overview, or Payment Scheduler module.
  • Click “Generate Schedule” button on the Payment Schedule module header
  • This will populate the Payments module. This is your Master Schedule. The master schedule is A) a template from with we create the booking schedule, B) a control center to make global changes to all booking schedules that we created from the Master schedule in part.

2) Customize (optional)

  • You can add and remove payments from your schedule, as long as you adhere to the rules of schedule validity (See below)
  • You can change the values used in step 1 to regenerate the master schedule as many times as you like

3) Push

  • Click “Push Schedule” button on the Payment Schedule module header
  • This does two things: 1) creates an equivalent schedule (definition below) on existing bookings, 2) allows new bookings to get a full (and equivalent) schedule when they are created.
  • This is a one time operation! Pushing a schedule removes all non-deposit payments from a booking and regenerates them. To maintain data integrity we cannot allow this to happen as it would remove past or paid payments.

Make changes to all booking schedules

If the trip Master Schedule is pushed out to its bookings, any changes you make to it will also change the booking schedules in the same way. In the image below we have pushed the balance payment back to September. The bookings balance payments are also automatically pushed back as well, because they have a relationship to the trip’s balance payment.

Customize a booking’s schedule

This is mostly the same with a few differences:

  • We no long inactivate payments, just go ahead and delete them.
  • Editing a periodic payment automatically removes its relationship to the trip schedule and converts it to custom. This means changes to the equivalent payment on the Master Schedule will never change this payment. The image below shows the booking’s June payment getting moved to the 15th
  • Because we need to keep a good record of history, editing past payments is not allowed

More info and details

Schedule Validity and Rules

  • A non-custom payment can be scheduled no closer than 16 days before the balance date.
  • The first payment must start one <trip period> (or multiple of) after the date of the bookings creation/deposit, or on the day that the trip was launched, whichever was later.
  • Periodic payments should fall on the same day of the month each month; to the closest approximation of the trip period. Such that the day of the month that the payment falls on takes higher priority over the number of days (the period) between payments. In the case of a payment falling outside of the range of the month (ie months w 30, or 28, days when the payment date is the 31st) the payment date is squeezed earlier.
  • The sum of deposit, periodic payments, custom payments, and balance payment must be equal to the trip price for that booking.
  • A payments unpaid amount will always show the current amount due, regardless of when transactions were processed (ie if there is Missed payment in June, but a transaction in July, June's payment will be update to Paid, while July's shows as Missed).

Payment Statuses 

- Upcoming: The payment date has not yet passed AND this payment has not been paid in full. When this payment’s date arrives the payment processor will attempt to fulfill this payment by charging the card associated with the booking

- Tried Once: The payment processor has attempted to charge this card and failed, it will try one more time, and mark the payment as Missed if unsuccessful and Paid if successful

- Missed: Payments that have been partially paid are considered missed

- Paid: This payment has been paid in full (regardless of date)

Equivalent Schedule

A booking has an equivalent schedule when

  • It has the same balance payment as the master schedule
  • It has all the same periodic payments (excluding payments that occurred before the booking was created) based on the date the booking was created.

Features that are coming soon

  • Changing all bookings balance dates from the trip after the schedule has been pushed
  • Trip swap (If moving a booking from one trip to another, they will no longer have any periodic payments. Watch for the next release for this update)

Bugs this release fixes

  • Incorrect Current Due vs Total Due
  • Passengers being charged when they have overpaid.
  • Search listview often shows incorrect values for Current Due, Amount Paid and Balance Due
  • Sort Bookings by $ amounts often leaves bookings listed out of order 
  • Bookings who pay in full at time of deposit show incorrect current and balance due.
  • Discounts applied to bookings that have a total value greater than or equal to their Total Price break the payment schedule, bookings get charged again and always show as having a current due. 
  • Incorrect values for payment statuses 
  • Payments not charged on payment date
  • Error updating users
  • Unable to remove segments from Swap


Payment schedules no longer regenerate themselves when you change values like the trip balance date. If you want to give bookings a payments schedule, or make changes to all bookings schedules at once, you will be using the Trip Master Schedule. 

Did this answer your question?