{"id":3361,"date":"2026-02-10T11:13:07","date_gmt":"2026-02-10T03:13:07","guid":{"rendered":"https:\/\/safetalk.space\/blog\/?p=3361"},"modified":"2026-05-18T23:17:49","modified_gmt":"2026-05-18T15:17:49","slug":"how-to-create-a-repeating-session","status":"publish","type":"post","link":"https:\/\/safetalk.space\/blog\/how-to-create-a-repeating-session\/","title":{"rendered":"How to Create Repeat\/Recurring Sessions on SafeTalk"},"content":{"rendered":"<div data-post-content>\n<p>Scheduling regular appointments can be tedious and time-consuming. With SafeTalk\u2019s repeating sessions feature, you can create a full series of appointments in just a few clicks instead of manually creating every session one by one.<\/p>\n\n\n\n<p>Simply fill in the session details once, choose how often the sessions should repeat, and SafeTalk will handle the rest.<\/p>\n\n\n\n<p>You can create repeating sessions with a <strong>package attached<\/strong>, or as <strong>standalone sessions (without a package)<\/strong> depending on your workflow and billing setup.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Creating a Repeating Session<\/h2>\n\n\n\n<p>Repeating sessions can be created through three entry points:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"#via-calendar\" data-type=\"internal\" data-id=\"#via-calendar\">Calendar<\/a><\/strong><\/li>\n\n\n\n<li><strong><a href=\"#room-calendar\" data-type=\"internal\" data-id=\"#room-calendar\">Room Calendar<\/a><\/strong><\/li>\n\n\n\n<li class=\"text-custom-purple-500\"><strong><a href=\"#quick-create\" data-type=\"internal\" data-id=\"#quick-create\">Quick Create<\/a><\/strong><\/li>\n<\/ul>\n\n\n\n<p>Both options open the same session creation popup and follow the same workflow.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"via-calendar\">Creating a Repeating Session via Calendar<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>My Calendar<\/strong><\/li>\n\n\n\n<li>You can either\n<ul class=\"wp-block-list\">\n<li>Click anywhere in the calendar<\/li>\n\n\n\n<li>Select from your available booking slots shown in the calendar<\/li>\n\n\n\n<li>Or click the <strong>New Appointment<\/strong> button<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Fill in the session details:\n<ul class=\"wp-block-list\">\n<li>Client<\/li>\n\n\n\n<li>Service<\/li>\n\n\n\n<li>Date &amp; time<\/li>\n\n\n\n<li>Location<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click <strong>Advanced Options<\/strong><\/li>\n\n\n\n<li>Enable <strong>Repeating Session<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Once enabled, additional options will appear:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Repeat mode:\n<ul class=\"wp-block-list\">\n<li>Daily<\/li>\n\n\n\n<li>Weekly<\/li>\n\n\n\n<li>Bi-weekly<\/li>\n\n\n\n<li>Monthly<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Session limit options:\n<ul class=\"wp-block-list\">\n<li><strong>Limit sessions to current package<\/strong><\/li>\n\n\n\n<li>Or set a custom end date<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-video rounded-2xl-custom\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" autoplay controls loop muted src=\"https:\/\/safetalk.space\/blog\/wp-content\/uploads\/2026\/02\/repeating-session-create.mp4\" playsinline><\/video><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"session-preview\">Session Preview &amp; Availability<\/h2>\n\n\n\n<p>When repeating sessions are enabled, SafeTalk generates a full preview before creation.<\/p>\n\n\n\n<p>You will see:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Total number of sessions to be booked<\/li>\n\n\n\n<li>Number of available sessions<\/li>\n\n\n\n<li>A table containing:\n<ul class=\"wp-block-list\">\n<li>Session number<\/li>\n\n\n\n<li>Date<\/li>\n\n\n\n<li>Time<\/li>\n\n\n\n<li>Availability status<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>A <strong>Check Availability<\/strong> button is also available to revalidate all sessions before confirming. This ensures all slots are still valid before booking.<\/p>\n\n\n\n<figure class=\"wp-block-video rounded-2xl-custom\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" autoplay controls loop muted src=\"https:\/\/safetalk.space\/blog\/wp-content\/uploads\/2026\/02\/repeating-session-preview.mp4\" playsinline><\/video><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"edit-delete-session\">Editing or Removing Sessions<\/h2>\n\n\n\n<p>Each session in the preview table includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Edit<\/strong> (pencil icon)<\/li>\n\n\n\n<li><strong>Delete<\/strong><\/li>\n<\/ul>\n\n\n\n<p>You can:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Change date and\/or time if a slot is unavailable<\/li>\n\n\n\n<li>Remove specific sessions before confirming<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Important Note About the First Session<\/h4>\n\n\n\n<p>The first session cannot be edited from the preview table.<\/p>\n\n\n\n<p>To modify it, you must edit it directly from the original session form, as all subsequent sessions depend on it for calculation.<\/p>\n\n\n\n<figure class=\"wp-block-video rounded-2xl-custom\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" autoplay controls loop muted src=\"https:\/\/safetalk.space\/blog\/wp-content\/uploads\/2026\/02\/session-delete.mp4\" playsinline><\/video><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"limit-sessions-to-package\">Limit Sessions to Current Package<\/h2>\n\n\n\n<p>This option controls how far sessions are generated.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">If enabled<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sessions are limited to the current package only<\/li>\n\n\n\n<li>Example: a 6-session package will only generate 6 sessions<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">If disabled<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sessions continue until a selected end date<\/li>\n\n\n\n<li>SafeTalk will automatically assign additional packages and generate invoices if required<\/li>\n<\/ul>\n\n\n\n<p>Example:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>6-session package<\/li>\n\n\n\n<li>15 sessions generated total<\/li>\n\n\n\n<li>SafeTalk will allocate:\n<ul class=\"wp-block-list\">\n<li>3 packages total<\/li>\n\n\n\n<li>2 fully used (12 sessions)<\/li>\n\n\n\n<li>1 partially used (3 sessions remaining)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"things-to-consider\">Important Things to Consider<\/h2>\n\n\n\n<p>Repeating sessions are fully compatible with SafeTalk\u2019s billing and package system, but payment behaviour depends on your <strong>service payment settings<\/strong> and how the booking is created.<\/p>\n\n\n\n<p>This section applies when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A <strong>package is selected during booking<\/strong>, AND<\/li>\n\n\n\n<li><strong>Limit sessions to current package is unchecked<\/strong>, AND<\/li>\n\n\n\n<li>Repeating sessions are generated beyond the package limit using a custom end date<\/li>\n<\/ul>\n\n\n\n<p>If these conditions are not met, billing follows either standard session rules or package-limited behaviour.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-unpaid-sessions-are-handled\">How unpaid sessions are handled<\/h3>\n\n\n\n<p>If invoices are not paid by their due date, SafeTalk will apply the rule defined in your system settings.<\/p>\n\n\n\n<p>This is configured under your service settings and determines how SafeTalk handles unpaid appointments:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>None<\/strong>\n<ul class=\"wp-block-list\">\n<li>No automatic action is taken<\/li>\n\n\n\n<li>Sessions remain active even if unpaid<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Cancel<\/strong>\n<ul class=\"wp-block-list\">\n<li>Unpaid sessions will be automatically cancelled<\/li>\n\n\n\n<li>Future linked sessions may also be affected depending on package structure<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Delete<\/strong>\n<ul class=\"wp-block-list\">\n<li>Unpaid sessions will be permanently deleted<\/li>\n\n\n\n<li>This action cannot be reversed<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-video rounded-2xl-custom\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" autoplay controls loop muted src=\"https:\/\/safetalk.space\/blog\/wp-content\/uploads\/2026\/02\/auto-cancel-appointment.mp4\" playsinline><\/video><\/figure>\n\n\n\n<p>For full details on how these rules behave in practice, refer to:<br><a href=\"https:\/\/safetalk.space\/blog\/how-to-automatically-cancel-or-delete-unpaid-appointments-on-safetalk\/?utm_source=chatgpt.com\">How to Automatically Cancel or Delete Unpaid Appointments on SafeTalk<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-invoice-due-dates-work\">How invoice due dates work (Upon Package Purchase)<\/h3>\n\n\n\n<p>When <strong>Payment due type = Upon Package Purchase<\/strong>, the entire package is billed immediately at the time of booking, and all generated invoices follow the same due date rule.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Example scenario<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Payment due type: <strong>Upon Package Purchase<\/strong><\/li>\n\n\n\n<li>Payment due in: <strong>3 days<\/strong><\/li>\n\n\n\n<li>Package is selected during booking<\/li>\n\n\n\n<li>Repeating sessions are generated beyond the package limit<\/li>\n\n\n\n<li><strong>Limit sessions to current package is unchecked<\/strong><\/li>\n<\/ul>\n\n\n\n<p>You create the booking today (Day 0).<\/p>\n\n\n\n<p>In this case:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>All invoices created from the repeating sessions are generated immediately<\/li>\n\n\n\n<li>Every invoice shares the <strong>same exact due date<\/strong><\/li>\n\n\n\n<li>That due date is <strong>3 days from the booking time<\/strong><\/li>\n\n\n\n<li>This applies even if sessions are scheduled weeks or months into the future<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">What this means in practice<\/h4>\n\n\n\n<p>Even if your repeating sessions span a long period:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>All invoices expire together (3 days from booking)<\/li>\n\n\n\n<li>If unpaid, multiple future sessions may be affected at once<\/li>\n\n\n\n<li>This can impact all linked sessions depending on your automatic rules<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Why this matters for repeating sessions<\/h4>\n\n\n\n<p>When the above conditions are met:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Repeating sessions can generate a large number of future appointments<\/li>\n\n\n\n<li>All invoices may share the same payment deadline<\/li>\n\n\n\n<li>A single unpaid package can affect multiple future sessions<\/li>\n\n\n\n<li>This only occurs when sessions extend beyond the selected package limit<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"recommended-setup\">Recommended setup<\/h3>\n\n\n\n<p>To avoid unintended cancellations:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <strong>Upon Package Purchase<\/strong> only when immediate full-package billing is intended<\/li>\n\n\n\n<li>Be cautious when combining it with:\n<ul class=\"wp-block-list\">\n<li>Repeating sessions<\/li>\n\n\n\n<li>Custom end dates<\/li>\n\n\n\n<li>Unchecked \u201cLimit sessions to current package\u201d<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Consider <strong>Before Session Date<\/strong> or <strong>After Session Date<\/strong> for more flexible billing over long-term schedules<\/li>\n\n\n\n<li>Always review automatic unpaid appointment rules<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"room-calendar\">Creating a Repeating Session via Room Calendar<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Click on <strong>Management<\/strong> on the sidebar<\/li>\n\n\n\n<li>Select <strong>Rooms<\/strong> from the top navigation<\/li>\n\n\n\n<li>Click on <strong>Calendar Icon<\/strong> on desired room<\/li>\n\n\n\n<li>Open <strong>Create Sessions<\/strong> by either:\n<ul class=\"wp-block-list\">\n<li>Click on any available room slot<\/li>\n\n\n\n<li>Click on <strong>New Appointment<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Fill in the session details:\n<ul class=\"wp-block-list\">\n<li>Client<\/li>\n\n\n\n<li>Service<\/li>\n\n\n\n<li>Date &amp; time<\/li>\n\n\n\n<li>Location \/ Room<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click <strong>Advanced Options<\/strong><\/li>\n\n\n\n<li>Enable <strong>Repeating Session<\/strong><\/li>\n\n\n\n<li>Follow the same repeating session steps as above<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-video rounded-2xl-custom\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" autoplay controls loop muted src=\"https:\/\/safetalk.space\/blog\/wp-content\/uploads\/2026\/02\/repeating-session-room-calendar.mp4\" playsinline><\/video><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"quick-create\">Creating a Repeating Session via Quick Create<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open <strong>Quick Create<\/strong> using either:\n<ul class=\"wp-block-list\">\n<li>Click the <strong>\u2795 Plus button<\/strong> at the bottom right<\/li>\n\n\n\n<li><kbd>Cmd<\/kbd> + <kbd>K<\/kbd> (Mac) \/ <kbd>Ctrl<\/kbd> + <kbd>K<\/kbd> (Windows)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Select <strong>Quick Create<\/strong><\/li>\n\n\n\n<li>The session creation popup will open (same as calendar flow)<\/li>\n\n\n\n<li>Fill in the session details:\n<ul class=\"wp-block-list\">\n<li>Client<\/li>\n\n\n\n<li>Service<\/li>\n\n\n\n<li>Date &amp; time<\/li>\n\n\n\n<li>Location<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click <strong>Advanced Options<\/strong><\/li>\n\n\n\n<li>Enable <strong>Repeating Session<\/strong><\/li>\n\n\n\n<li>Follow the same repeating session steps as above<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-video rounded-2xl-custom\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" autoplay controls loop muted src=\"https:\/\/safetalk.space\/blog\/wp-content\/uploads\/2026\/02\/repeating-session-quick-create-1.mp4\" playsinline><\/video><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"final-note\">Final Note<\/h2>\n\n\n\n<p>Repeating sessions simplify long-term scheduling by automating session creation while still giving full control over availability, editing, and billing structure.<\/p>\n\n\n\n<p>SafeTalk allows flexible scheduling for both single bookings and structured recurring plans, while ensuring billing rules remain consistent and configurable per service setup.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Create recurring sessions in seconds and save time by scheduling multiple future appointments at once.<\/p>\n","protected":false},"author":4,"featured_media":3418,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41,19],"tags":[],"class_list":["post-3361","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-booking-scheduling","category-therapist-resources"],"_links":{"self":[{"href":"https:\/\/safetalk.space\/blog\/wp-json\/wp\/v2\/posts\/3361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/safetalk.space\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/safetalk.space\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/safetalk.space\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/safetalk.space\/blog\/wp-json\/wp\/v2\/comments?post=3361"}],"version-history":[{"count":76,"href":"https:\/\/safetalk.space\/blog\/wp-json\/wp\/v2\/posts\/3361\/revisions"}],"predecessor-version":[{"id":3871,"href":"https:\/\/safetalk.space\/blog\/wp-json\/wp\/v2\/posts\/3361\/revisions\/3871"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/safetalk.space\/blog\/wp-json\/wp\/v2\/media\/3418"}],"wp:attachment":[{"href":"https:\/\/safetalk.space\/blog\/wp-json\/wp\/v2\/media?parent=3361"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/safetalk.space\/blog\/wp-json\/wp\/v2\/categories?post=3361"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/safetalk.space\/blog\/wp-json\/wp\/v2\/tags?post=3361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}