Don’t use the word reschedule (2024)

tl;dr Don’t use the word reschedule. It’s ambiguous so people get confused. If you are moving an appointment it’s easier to treat it as a cancel and new appointment

This article won’t cause world peace, or make you a million dollars. If you are designing or building a scheduling system it will probably save you at least a few hours of arguments and confusion over what a reschedule is and how to handle it. So overall it will probably save you time, which makes it a better deal than most articles on the internet.

I wrote this article after the third time I had a 15 minute conversation explaining the different ways people use the word reschedule. If I have to explain something more than a few times it’s worth the effort to write down the explanation. In this case business owners, product managers and developers were all using the word reschedule but it was not properly part of our Ubiquitous Language . Everyone had a different idea of what it meant.

The word reschedule is too ambiguous to be used for anything where precision is required.

A human being can use reschedule in every day speech because in every day speech we don’t care about precision.

But if you need to speak precisely e.g. when programming a computer, looking at metrics, or designing a project, you need to define exactly what you mean. In every day speech a human being could reasonably utter the following sentences

“The 9:30 AM appointment is rescheduled to 9:45 AM.”
“The 9:30 AM appointment is rescheduled to 2:30 PM.”
“The 9:30 AM appointment is rescheduled. We haven’t decided when we’ll have it”

An appointment in these sentences is a meeting between (at least) two parties. Probably people. A tutor’s appointment, or an appointment to get your oil changed are the types of appointments I’m talking about. The three cases might be handled differently depending on what you care about.

Take the first case. If you have an appointment with you mechanic to get your oil changed at 9:30 and your mechanic finds out at 9:00 AM that the lift that he needs to put your car up on is going to be in use for the next 45 minutes the mechanic won’t call you to say they are running 15 minutes late.

The change in start time is so small that it is not worth informing you because it won’t change when you come in. However the mechanic may need to track when they started to work on your car for insurance or legal reasons, so they need to track the time change in their system. The change in start time is small enough that it is reasonable that only one party (the mechanic) know that the appointment has been moved.

The second case is different. Maybe the repair shop had someone call out sick or maybe the customer has a morning meeting that they can’t get out of. Either way the appointment start time has changed enough that both the mechanic and the customer need to know about it. For this type of reschedule both parties need to agree to the new time

If the two parties can’t agree on a new time to reschedule the appointment to this can lead to the third case. This case looks a lot like a cancellation. The only difference being that there is an intention to still have the appointment at some unspecified future time. In most cases though you can just treat them like a special form of cancellation. Even though a human would say that these are all “rescheduled” they are clearly different cases.

When you need to differentiate between the three cases you can call them delayed appointments, moved appointments, and cancelled appointments.

You need to call them different names because your software needs to handle them differently. Cancelled appointments are normally straightforward to handle. But with moved/delayed appointments you must also decide how to track the move/delay.

There are two ways commonly used to implement moving an appointment in software. You can update the time on the old appointment to the new time and (optionally) associate the old time with the history of the appointment. The other way to do it is to treat the old appointment as being cancelled and create a new appointment at the new time and add a link between them if needed.

An advantage of the former design is that you normally only care about the most up to date version of the appointment. The history of it being rescheduled is normally less used, mainly only for auditing. In addition from a DDD perspective if an appointment is an Entity, then the time of an appointment is just an attribute. Changing an attribute (start time) should not make a new entity (the appointment)

The advantage of treating a move as a cancel followed by a new appointment is that it is easier to implement and reason about. Every scheduling system already has the functionality for cancellations and adding an appointment. Moving an appointment is just combining the functionality. If you don’t need to track the history of an appointment it is a much simpler implementation. The downside is that if you want to measure cancellation then you need to distinguish between appointments that were “really” cancelled and appointments that were cancelled because they were moved.

Overall though if you don’t have another reason to track all the changes to an appointment it is generally a better idea to implement it using the second method. Besides being easier to implement it is easier to explain to non-technical people that “A move is cancel then a new appointment” than explaining your historical system

Don’t use the word reschedule (2024)
Top Articles
What Is a Regression Model? | IMSL by Perforce
Section 194NF: Understanding Income Tax for Business Trusts & Investment Funds
Katie Pavlich Bikini Photos
Citibank Branch Locations In Orlando Florida
Mopaga Game
Math Playground Protractor
Boggle Brain Busters Bonus Answers
15 Types of Pancake Recipes from Across the Globe | EUROSPAR NI
Boat Jumping Female Otezla Commercial Actress
Our Facility
Seafood Bucket Cajun Style Seafood Restaurant in South Salt Lake - Restaurant menu and reviews
My.doculivery.com/Crowncork
Craigslist Cars Nwi
Painting Jobs Craigslist
Nyuonsite
Les Rainwater Auto Sales
Shasta County Most Wanted 2022
Byui Calendar Fall 2023
Petco Vet Clinic Appointment
10 Fun Things to Do in Elk Grove, CA | Explore Elk Grove
Busted News Bowie County
Great Clips Grandview Station Marion Reviews
Japanese Mushrooms: 10 Popular Varieties and Simple Recipes - Japan Travel Guide MATCHA
Imouto Wa Gal Kawaii - Episode 2
Rural King Credit Card Minimum Credit Score
John Deere 44 Snowblower Parts Manual
30+ useful Dutch apps for new expats in the Netherlands
101 Lewman Way Jeffersonville In
The Creator Showtimes Near Baxter Avenue Theatres
Darknet Opsec Bible 2022
Chadrad Swap Shop
Fbsm Greenville Sc
24 slang words teens and Gen Zers are using in 2020, and what they really mean
Frostbite Blaster
Mississippi State baseball vs Virginia score, highlights: Bulldogs crumble in the ninth, season ends in NCAA regional
How to Play the G Chord on Guitar: A Comprehensive Guide - Breakthrough Guitar | Online Guitar Lessons
Free Robux Without Downloading Apps
4083519708
How are you feeling? Vocabulary & expressions to answer this common question!
Housing Intranet Unt
Bartow Qpublic
Torrid Rn Number Lookup
Stosh's Kolaches Photos
15 Best Places to Visit in the Northeast During Summer
The Bold and the Beautiful
Lightfoot 247
Elvis Costello announces King Of America & Other Realms
Craigslist Pets Lewiston Idaho
Powah: Automating the Energizing Orb - EnigmaticaModpacks/Enigmatica6 GitHub Wiki
Marion City Wide Garage Sale 2023
Latest Posts
Article information

Author: Rubie Ullrich

Last Updated:

Views: 6130

Rating: 4.1 / 5 (52 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Rubie Ullrich

Birthday: 1998-02-02

Address: 743 Stoltenberg Center, Genovevaville, NJ 59925-3119

Phone: +2202978377583

Job: Administration Engineer

Hobby: Surfing, Sailing, Listening to music, Web surfing, Kitesurfing, Geocaching, Backpacking

Introduction: My name is Rubie Ullrich, I am a enthusiastic, perfect, tender, vivacious, talented, famous, delightful person who loves writing and wants to share my knowledge and understanding with you.