Follow what changed in Saksı Kampüs, release by release.
All releasesLive sessions can be booked into a slot that has already started, called off while under way and held for review when the student never showed; website requests are pushed to Zoho CRM, blog posts can carry links, the billing form explains its errors, and the app pages lay out properly on phones and tablets.
A slot that has already started can be booked for another 15 minutes. A last-minute lesson agreed at 09:03 could not be opened for the 09:00 slot, since the picker dropped every hour whose start had passed. The slot now stays bookable for 15 minutes after it starts, keeping its nominal range (09:00-10:30) and its full credit reservation, and the same rule applies to reschedules. The Zoom meeting for an imminent lesson is created on the spot, so the first join link no longer comes up empty. A started slot is badged in the picker, and a range whose end has already passed cannot be booked at all.
A lesson that is already under way can be called off. A lesson entered as 60 minutes instead of 90 is usually noticed only after it starts, and from that moment there was no way out: an ongoing session accepted no change request, and the only remaining action was completing it at the wrong duration and billing the student. Privileged staff and the session’s own tutor can now cancel an ongoing lesson with a reason; the student’s reserved credit is released, no tutor earning is written, the live Zoom meeting is ended and the attendance record is closed cleanly. The lesson can be re-created with the right duration in the same slot. A tutor’s own cancel and reschedule requests are approved without the 12-hour approval window, but both now require a reason; students and guardians keep the window and the late-cancellation penalty. A cancellation notice can also reach the organization’s decision makers on request.
One-to-one lessons the tutor attended alone are held for coordinator review. Finalization looked only at whether the tutor showed up, so a tutor who stepped into the room and left closed the lesson as completed: the student lost their credit and the tutor earned a full payout for a lesson nobody taught. A one-to-one lesson the tutor attended with no student present now lands in a "Student No-Show" status, and the reservation and the earning wait until a person decides. Admins, organization admins and coordinators either complete it, which settles the credit as usual, or mark it as not held, which releases the credit. The organization’s decision makers are notified when a lesson enters the queue, and it shows with a red alert icon in the list and calendar and an orange status badge on the detail page. Group lessons are exempt.
Tutors can upload images (JPG, PNG, WEBP) alongside PDFs as lesson material.
Reschedule requests now show the schedule they replace. Approving a reschedule overwrote the session in place, so the old slot was gone the moment the request was decided and the history could only show the proposed side. The session’s current schedule is captured when a request is opened, and for admins, organization admins and coordinators the request banner and the request history on the session page render old and new side by side, with the requester’s role spelled out. The history runs newest first, and labels that fell back to Turkish in the English UI were fixed.
A closed join link says why it is closed. Instead of one generic refusal, the too-early, ended, cancelled, completed and not-held cases each show their own message naming the lesson schedule.
A mismatch in the credit ledger no longer strands a session. A session whose reservation did not match its duration could not be finalized at all: the credit consume failed, the transaction rolled back, the session stayed ongoing, and the worker retrying every minute swallowed the error, so no alert was raised and no tutor earning was written; manual completion hit the same guard. Finalization now settles what the credit actually holds and completes the session regardless, and the unapplied minutes are reported to operations instead of being taken out of the student’s balance. Sessions that cannot be finalized now raise an alert.
Blog posts can carry hyperlinks. The editor toolbar gained a link button; links default to nofollow, which can be dropped from the dialog for links back into the site. An address entered without a protocol, like "example.com", no longer resolves relative to the current page. The reading page and the editor now share one typography, where a link used to be indistinguishable from body text.
Lesson requests from the website are pushed to Zoho CRM as leads. The push runs from a background queue, the form’s answers are mapped onto their own CRM fields rather than one description blob, and the picked countries always arrive in Turkish. When the CRM credentials are missing the push is skipped and the request is still stored.
The country picker on consultancy requests was fixed and now takes several countries. The country was stored as the label the visitor’s page had rendered and read back as a translation key, so every request that picked Other and every request from the English site showed a raw key on the lesson requests screen. Countries are stored as codes now and translated at render time, and the existing rows were converted back from both languages’ labels. The contact page, the consultancy page, the in-app dialog and the admin edit screen share one country list, where four private copies had drifted apart.
The pay button says why the billing form blocks payment. The button stayed disabled until the form was valid, and the field errors were only rendered on submit, so buyers were left with a dead button and no hint about the bad field. The button is clickable now: submitting renders the errors, scrolls to the first one and blocks the charge, and the profile billing tab behaves the same way. Any 11-digit identity number is accepted: the TCKN checksum is no longer required, which also removed a bug that rejected genuinely valid numbers; the VKN checksum stays. A billing profile that loads after the buyer started typing no longer overwrites what they entered.
Adding a subscription to a student who already has one names the package and the status of the existing subscription instead of failing with an unknown error, and suggests editing that subscription.
The x axis of the metrics chart labels the previous period’s dates as well. Each tick carries the selected period’s bucket on top and the previous period’s bucket in parentheses below it, so the dashed reference line names the days it covers, and the tooltip repeats both.
Sign out always signs out. When the session was already gone server-side (an expired token, a sign-out elsewhere) or the request was dropped, the click did nothing beyond a misleading "please sign in" toast. The teardown and the redirect no longer depend on the server’s answer.
The app pages lay out properly on phones and tablets. The student and guardian dashboards carried a fixed-width side column, which squeezed the main column to a few pixels on a phone and turned every card into a sliver; on a tablet the same squeeze came back once the sidebar appeared, with a session card measuring 40 pixels. The installment options on the checkout page pushed the page sideways, and the card number field could not fit a full 19-digit number. The dashboards now measure their own box rather than the viewport, the checkout stacks on a phone, and the top bar on the notifications page no longer runs off-screen below 1280 pixels. Desktop rendering is unchanged.
Switching the language no longer leaves the sidebar on the old one; it used to take a second toggle before the menu followed.
Twin question generation picks the subject profile from the curriculum path. A path like "AP > Biology > Chemistry of Life" was searched as one flat string, so the word "chemistry" in the unit sent an AP Biology run down the chemistry profile: the biology-specific transformation rules never ran and the twins read like rewordings of the originals. The path is now walked from root to leaf, the course above the unit decides, and the glossary is picked along the same path.
Get detailed information about our programs.
Get in Touch