{"pullRequests":[{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10255","title":"Send letters to the client's contact person","state":"closed","number":10255,"created_at":"2026-09-22T13:18:03Z","repo_name":"Kaddio Application","merged_at":"2026-09-25T07:05:42Z","body":"## Summary\n- Hosts can pick a client's contact person as letter recipient (grouped under Kontaktpersoner).\n- Email, chat, and signing links go to that person; the letter stays on the client's journal.\n- Recipient identity is stored as `recipientUserId` so the postal address stays just an address.\n\nFixes #9000\n\n## Test plan\n- [ ] Mark a relation as contact person on a client profile\n- [ ] Create a letter and confirm the contact person appears under Kontaktpersoner\n- [ ] Confirm send dialogs and the Skicka menu show the contact person's name\n- [ ] Send via Kaddio Kommunikation and verify the chat is with the contact person\n- [ ] Send via email and verify it goes to the contact person\n- [ ] Sending without a contact person still targets the journal client\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">You can now select the client's registered contact person as the recipient of letters in the journal. The letter can be sent by post, through the contact person's chat in Kaddio, or via email. The letter remains stored in the client's journal. No setup is needed beyond marking a relationship as a contact person on the client's profile.</p>","translations":{"en":{"title":"Send letters to the client's contact person","body_html":"<p dir=\"auto\">You can now select the client's registered contact person as the recipient of letters in the journal. The letter can be sent by post, through the contact person's chat in Kaddio, or via email. The letter remains stored in the client's journal. No setup is needed beyond marking a relationship as a contact person on the client's profile.</p>"},"sv":{"title":"Skicka brev till klientens kontaktperson","body_html":"<p dir=\"auto\">Välj klientens registrerade kontaktperson som mottagare av brev i journalen. Brevet kan skickas via post, via kontaktpersonens chatt i Kaddio eller via epost till personen. Brevet ligger kvar i klientens journal. Ingen inställning behövs utöver att markera en relation som kontaktperson på klientens profil.</p>"},"es":{"title":"Enviar cartas al contacto del cliente","body_html":"<p dir=\"auto\">Ahora puedes seleccionar al contacto registrado del cliente como destinatario de las cartas en el historial. La carta puede enviarse por correo postal, a través del chat del contacto en Kaddio o por correo electrónico. La carta queda guardada en el historial del cliente. No se requiere ninguna configuración adicional, basta con marcar una relación como contacto en el perfil del cliente.</p>"},"no":{"title":"Send brev til klientens kontaktperson","body_html":"<p dir=\"auto\">Velg klientens registrerte kontaktperson som mottaker av brev i journalen. Brevet kan sendes med post, via kontaktpersonens chat i Kaddio eller på e-post. Brevet blir liggende i klientens journal. Ingen innstilling trengs utover å markere en relasjon som kontaktperson på klientens profil.</p>"},"dk":{"title":"Send breve til klientens kontaktperson","body_html":"<p dir=\"auto\">Vælg klientens registrerede kontaktperson som modtager af breve i journalen. Brevet kan sendes med post, via kontaktpersonens chat i Kaddio eller på e-mail. Brevet forbliver gemt i klientens journal. Der kræves ingen opsætning ud over at markere en relation som kontaktperson på klientens profil.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10241","title":"Restrict the calendar so practitioners only see their own schedule","state":"closed","number":10241,"created_at":"2026-09-22T08:34:16Z","repo_name":"Kaddio Application","merged_at":"2026-09-23T12:28:29Z","body":"## Summary\n- Adds a third Sekretess → Kalender option (`OWN_SCHEDULE`) so hosts only see their own activities and bookings.\n- Applies the current host as an attendee filter on top of date, location, and any other attendee filter. Admins still see everything.\n- Covers the new query behavior in booking app-tests; `DEFAULT` still lets hosts see other hosts' bookings.\n\n## Test plan\n- [ ] As admin, open Sekretess and select `$HostP ser endast sitt eget schema`, then save.\n- [ ] Log in as a non-admin host: calendar shows only own activities/bookings; other hosts' bookings are hidden.\n- [ ] With that setting on, filter by a client: only events shared with that client appear.\n- [ ] As admin, confirm the calendar still shows all events.\n- [ ] Switch back to `DEFAULT` and confirm other hosts' bookings are visible again to a non-admin host.\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">Administrators can enable this option under <em>Settings &gt; Privacy</em>. Once activated, practitioners will only see their own events in the calendar. Administrators continue to see everyone's events. Filtering by client in the calendar works as usual and shows the events involving both the practitioner and the client.</p>","translations":{"en":{"title":"Restrict the calendar so practitioners only see their own schedule","body_html":"<p dir=\"auto\">Administrators can enable this option under <em>Settings &gt; Privacy</em>. Once activated, practitioners will only see their own events in the calendar. Administrators continue to see everyone's events. Filtering by client in the calendar works as usual and shows the events involving both the practitioner and the client.</p>"},"sv":{"title":"Begränsa kalendern så att behandlare bara ser sitt eget schema","body_html":"<p dir=\"auto\">Administratörer aktiverar valet under <em>Inställningar &gt; Sekretess</em>. När aktiverad ser behandlare bara sina egna händelser i kalendern. Administratörer ser fortsatt allas händelser.  Filtrering på klient i kalendern fungerar som vanligt och visar de händelser som rör både behandlaren och klienten.</p>"},"es":{"title":"Limita el calendario para que los profesionales solo vean su propia agenda","body_html":"<p dir=\"auto\">Los administradores pueden activar esta opción en <em>Configuración &gt; Privacidad</em>. Una vez activada, los profesionales solo verán sus propios eventos en el calendario. Los administradores seguirán viendo los eventos de todos. El filtrado por cliente en el calendario funciona con normalidad y muestra los eventos que involucran tanto al profesional como al cliente.</p>"},"no":{"title":"Begrens kalenderen slik at behandlere kun ser sin egen timeplan","body_html":"<p dir=\"auto\">Administratorer aktiverer valget under <em>Innstillinger &gt; Personvern</em>. Når det er aktivert, ser behandlere kun sine egne hendelser i kalenderen. Administratorer ser fortsatt alles hendelser. Filtrering på klient i kalenderen fungerer som vanlig og viser hendelsene som gjelder både behandleren og klienten.</p>"},"dk":{"title":"Begræns kalenderen, så behandlere kun ser deres eget skema","body_html":"<p dir=\"auto\">Administratorer aktiverer valget under <em>Indstillinger &gt; Privatliv</em>. Når det er aktiveret, ser behandlere kun deres egne begivenheder i kalenderen. Administratorer ser fortsat alles begivenheder. Filtrering på klient i kalenderen fungerer som normalt og viser de begivenheder, der vedrører både behandleren og klienten.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10087","title":"Fresh look for the login page and the option to add your own logo (from September 28)","state":"closed","number":10087,"created_at":"2026-08-31T12:55:23Z","repo_name":"Kaddio Application","merged_at":"2026-09-23T08:07:51Z","body":"## Summary\n- Public login, demo login, and password flows use a 50/50 split: booking/case promo on the left, existing form on the right.\n- Transparent public header on auth routes (language + login only); org name and left nav stay on booking and case pages.\n- Login form is a `<login-form>` element instead of the old attribute directive; demo `Receptförnyelse` is public so it shows on the logged-out promo.\n\n## Test plan\n- [ ] `/login` shows photo + promo card on the left and the usual login form on the right (stacked on mobile).\n- [ ] Next free time, **Boka**, and public case cards (including Receptförnyelse in demo) work and link to booking/cases.\n- [ ] `/login-demo` uses the same split; host and client cards stack in one column.\n- [ ] Forgot/reset/enroll/logged-out also use the split; `/booking` and public case pages still show the full public navbar.\n- [ ] Header is transparent on login with body-colored semibold 14px labels; Logga in is primary-flat.\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">The public login page now welcomes visitors with a split view: the login form on one side, and an inviting image along with any shortcuts to online booking and contact forms on the other. Clinics with Branding can also choose to display their own logo on the page.</p>","translations":{"en":{"title":"Fresh look for the login page and the option to add your own logo (from September 28)","body_html":"<p dir=\"auto\">The public login page now welcomes visitors with a split view: the login form on one side, and an inviting image along with any shortcuts to online booking and contact forms on the other. Clinics with Branding can also choose to display their own logo on the page.</p>"},"sv":{"title":"Ny design på inloggningssidan och möjlighet till egen logotyp (från 28 september)","body_html":"<p dir=\"auto\">Den publika inloggningssidan möter besökaren i en delad vy: inloggningsformuläret på ena sidan, en trevlig bild och eventuella genvägar till tidsbokning och kontaktformulär på andra sidan. Kliniker med Profilering kan även välja att visa sin egen logotyp på sidan.</p>"},"es":{"title":"Nuevo diseño de la página de inicio de sesión y opción de logotipo personalizado (a partir del 28 de septiembre)","body_html":"<p dir=\"auto\">La página pública de inicio de sesión recibe a los visitantes con una vista dividida: el formulario de acceso a un lado y, al otro, una imagen atractiva junto con posibles accesos directos a la reserva de citas y al formulario de contacto. Las clínicas con Personalización de marca también pueden mostrar su propio logotipo en la página.</p>"},"no":{"title":"Ny design på innloggingssiden og mulighet for egen logo (fra 28. september)","body_html":"<p dir=\"auto\">Den offentlige innloggingssiden møter besøkende med en delt visning: innloggingsskjemaet på den ene siden, og et fint bilde sammen med eventuelle snarveier til timebestilling og kontaktskjema på den andre. Klinikker med Profilering kan også velge å vise sin egen logo på siden.</p>"},"dk":{"title":"Nyt design på login-siden og mulighed for eget logo (fra 28. september)","body_html":"<p dir=\"auto\">Den offentlige login-side møder besøgende med en delt visning: login-formularen på den ene side, og et indbydende billede samt eventuelle genveje til tidsbestilling og kontaktformular på den anden. Klinikker med Profilering kan desuden vælge at vise deres eget logo på siden.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10256","title":"Add city to SMS booking confirmations (from Sept 28)","state":"closed","number":10256,"created_at":"2026-09-22T13:23:13Z","repo_name":"Kaddio Application","merged_at":"2026-09-23T06:01:27Z","body":"## Summary\n- Adds a `$city` SMS variable that prints the booking place town (empty for video visits), without changing `$address`.\n- Lists `$city` in the SMS variable table next to `$address`.\n- Fixes #9809\n\n## Test plan\n- [ ] Open Inställningar → Tidsbokning → Bekräftelser and confirm `$city` appears for orgs with places\n- [ ] Put `$address, $city` in the confirmation SMS template and send a confirmation for a physical place — street and town both appear\n- [ ] Send a confirmation for a video booking — `$city` is empty\n- [ ] Existing templates that only use `$address` still show street only\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">A new variable, $city, lets you display the city alongside the street address in confirmation SMS. Simply add $city to your templates under <em>Booking Settings &gt; Confirmations.</em> For video appointments, the variable is left empty, and existing templates using $address will continue to work exactly as before.</p>","translations":{"en":{"title":"Add city to SMS booking confirmations (from Sept 28)","body_html":"<p dir=\"auto\">A new variable, $city, lets you display the city alongside the street address in confirmation SMS. Simply add $city to your templates under <em>Booking Settings &gt; Confirmations.</em> For video appointments, the variable is left empty, and existing templates using $address will continue to work exactly as before.</p>"},"sv":{"title":"Lägg till ort i bokningsbekräftelser via SMS (från 28 sept)","body_html":"<p dir=\"auto\">En ny variabel, $city, gör att du kan visa orten i bekräftelse-SMS vid sidan av gatuadressen. Lägg till $city i dina mallar under <em>Inställningar för Tidsbokning &gt; Bekräftelser.</em> Vid videobesök lämnas variabeln tom, och befintliga mallar med $address fungerar precis som tidigare.</p>"},"es":{"title":"Añade la ciudad a las confirmaciones de reserva por SMS (a partir del 28 de septiembre)","body_html":"<p dir=\"auto\">Una nueva variable, $city, te permite mostrar la ciudad junto a la dirección en los SMS de confirmación. Solo tienes que añadir $city a tus plantillas en <em>Configuración de Reservas &gt; Confirmaciones.</em> En las visitas por vídeo, la variable se deja vacía, y las plantillas existentes con $address seguirán funcionando exactamente como antes.</p>"},"no":{"title":"Legg til sted i bookingbekreftelser via SMS (fra 28. sept)","body_html":"<p dir=\"auto\">En ny variabel, $city, gjør at du kan vise stedet i bekreftelses-SMS ved siden av gateadressen. Legg til $city i malene dine under <em>Innstillinger for Timebooking &gt; Bekreftelser.</em> Ved videokonsultasjoner blir variabelen stående tom, og eksisterende maler med $address fungerer akkurat som før.</p>"},"dk":{"title":"Tilføj by i bookingbekræftelser via SMS (fra 28. sept)","body_html":"<p dir=\"auto\">En ny variabel, $city, gør det muligt at vise byen i bekræftelses-SMS ved siden af gadeadressen. Tilføj $city til dine skabeloner under <em>Indstillinger for Tidsbestilling &gt; Bekræftelser.</em> Ved videokonsultationer efterlades variablen tom, og eksisterende skabeloner med $address fungerer præcis som før.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10243","title":"Send messages to all clients on a specific waiting list (from 28 Sept)","state":"closed","number":10243,"created_at":"2026-09-22T08:40:10Z","repo_name":"Kaddio Application","merged_at":"2026-09-22T12:04:07Z","body":"## Summary\n- Add waiting lists as a CRM campaign criterion so admins can send to clients currently on selected lists.\n- Matching ignores empty selection (same as hosts/booking types), other-org lists, and clients who only appear in waiting-list history.\n- Campaign preview, manual send, and recurring send all use the same filter.\n\n## Test plan\n- [ ] Open a CRM campaign and confirm **Väntelistor** appears under urvalskriterier.\n- [ ] Leave it empty, save, and preview: recipients are not limited to waiting lists.\n- [ ] Select one waiting list, save, and preview: only current members of that list appear.\n- [ ] Select two lists: members of either list appear; people only on a third list do not.\n- [ ] Clients removed from a list (history only) do not appear.\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">In the Smart Messages feature, you can now use a specific waiting list as a selection criterion for choosing which clients to include. Only clients currently on the selected list will be included — those who have been removed are not part of the mailing.</p>","translations":{"en":{"title":"Send messages to all clients on a specific waiting list (from 28 Sept)","body_html":"<p dir=\"auto\">In the Smart Messages feature, you can now use a specific waiting list as a selection criterion for choosing which clients to include. Only clients currently on the selected list will be included — those who have been removed are not part of the mailing.</p>"},"sv":{"title":"Gör utskick till alla klienter på en viss väntelista (från 28 sept)","body_html":"<p dir=\"auto\">I funktionen Smarta utskick går det att använda en viss väntlista som urvalskriterie för vilka klienter som ska väljas. Endast klienter som just nu står på en vald lista tas med — de som tagits bort ingår inte.</p>"},"es":{"title":"Envía mensajes a todos los clientes de una lista de espera específica (desde el 28 de septiembre)","body_html":"<p dir=\"auto\">En la función Mensajes inteligentes ya puedes utilizar una lista de espera concreta como criterio de selección para elegir a qué clientes incluir. Solo se incluirán los clientes que estén actualmente en la lista seleccionada — quienes hayan sido eliminados no formarán parte del envío.</p>"},"no":{"title":"Send utsendelser til alle klienter på en bestemt venteliste (fra 28. sept)","body_html":"<p dir=\"auto\">I funksjonen Smarte utsendelser kan du nå bruke en bestemt venteliste som utvalgskriterium for hvilke klienter som skal velges. Kun klienter som står på den valgte listen akkurat nå blir inkludert — de som er fjernet, tas ikke med.</p>"},"dk":{"title":"Send udsendelser til alle klienter på en bestemt venteliste (fra 28. sept)","body_html":"<p dir=\"auto\">I funktionen Smarte udsendelser kan du nu bruge en bestemt venteliste som udvælgelseskriterium for, hvilke klienter der skal vælges. Kun klienter, der aktuelt står på den valgte liste, bliver inkluderet — dem, der er fjernet, kommer ikke med.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10242","title":"Queue date set automatically on waiting lists (from Sept 28)","state":"closed","number":10242,"created_at":"2026-09-22T08:39:02Z","repo_name":"Kaddio Application","merged_at":"2026-09-22T11:16:32Z","body":"## Summary\n- When a client is added to a waiting list, Ködatum (`promisedDate`) now defaults to the current time, matching Tillagd.\n- Covers both manual add (`wl.addClientToList`) and last-minute signup.\n- Existing add-client app-test asserts Ködatum is set and matches the added timestamp.\n\n## Test plan\n- [ ] Open a waiting list, add a client, and confirm Ködatum is today\n- [ ] Clear or change Ködatum and save — the override should stick\n- [ ] Add the active client from the waiting-lists overview and confirm Ködatum is set\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">When you add a client to a waiting list, the Queue date is automatically filled in with today's date.</p>","translations":{"en":{"title":"Queue date set automatically on waiting lists (from Sept 28)","body_html":"<p dir=\"auto\">When you add a client to a waiting list, the Queue date is automatically filled in with today's date.</p>"},"sv":{"title":"Ködatum sätts automatiskt på väntelistor (från 28 sept)","body_html":"<p dir=\"auto\">När du lägger till en klient på en väntelista fylls Ködatum automatiskt i med dagens datum.</p>"},"es":{"title":"La fecha de cola se establece automáticamente en las listas de espera (a partir del 28 de septiembre)","body_html":"<p dir=\"auto\">Cuando añades un cliente a una lista de espera, la fecha de cola se completa automáticamente con la fecha de hoy.</p>"},"no":{"title":"Kødato settes automatisk på ventelister (fra 28. sept)","body_html":"<p dir=\"auto\">Når du legger til en klient på en venteliste, fylles Kødato automatisk inn med dagens dato.</p>"},"dk":{"title":"Kødato sættes automatisk på ventelister (fra 28. sept)","body_html":"<p dir=\"auto\">Når du tilføjer en klient til en venteliste, udfyldes Kødato automatisk med dagens dato.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10240","title":"Click next to calendar events to add parallel events (from Sept 28)","state":"closed","number":10240,"created_at":"2026-09-22T08:25:57Z","repo_name":"Kaddio Application","merged_at":"2026-09-22T11:03:29Z","body":"## Summary\n- Staff time-grid calendars now keep a 12% right gutter so you can click next to an existing event and start a new booking in an already-filled slot (Clinic Buddy-style).\n- The client calendar stays tight (`1px`) so public booking views do not show unused empty space.\n\nFixes #9511.\n\n## Test plan\n- [ ] Open a staff calendar day/week view with overlapping or full-width events\n- [ ] Confirm there is clickable empty space on the right of events\n- [ ] Click that gutter and confirm a new booking starts for that time\n- [ ] Confirm existing events are still clickable\n- [ ] Open the client calendar and confirm events still fill the column as before\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">Events in the calendar no longer take up the full width of their column, making it easier to quickly add new events alongside existing ones.</p>","translations":{"en":{"title":"Click next to calendar events to add parallel events (from Sept 28)","body_html":"<p dir=\"auto\">Events in the calendar no longer take up the full width of their column, making it easier to quickly add new events alongside existing ones.</p>"},"sv":{"title":"Möjligt att klicka bredvid händelser i kalendern för att lägga till parallella händelser (från 28 sept)","body_html":"<p dir=\"auto\">I kalendern fyller inte händelser ut kolumnens bredd helt, vilket gör det enklare att snabbt lägga till nya händelser bredvid befintliga händelser.</p>"},"es":{"title":"Ahora puedes hacer clic junto a los eventos del calendario para añadir eventos paralelos (desde el 28 de septiembre)","body_html":"<p dir=\"auto\">En el calendario, los eventos ya no ocupan todo el ancho de la columna, lo que facilita añadir rápidamente nuevos eventos junto a los ya existentes.</p>"},"no":{"title":"Klikk ved siden av hendelser i kalenderen for å legge til parallelle hendelser (fra 28. september)","body_html":"<p dir=\"auto\">I kalenderen fyller ikke hendelsene ut hele bredden på kolonnen, noe som gjør det enklere å raskt legge til nye hendelser ved siden av eksisterende.</p>"},"dk":{"title":"Klik ved siden af begivenheder i kalenderen for at tilføje parallelle begivenheder (fra 28. september)","body_html":"<p dir=\"auto\">I kalenderen udfylder begivenheder ikke længere hele kolonnens bredde, hvilket gør det nemmere hurtigt at tilføje nye begivenheder ved siden af eksisterende.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10016","title":"Weekly view in client booking","state":"closed","number":10016,"created_at":"2026-08-24T06:19:22Z","repo_name":"Kaddio Application","merged_at":"2026-09-17T09:26:00Z","body":"## Summary\n- Add an org setting (`defaultClientCalView`: standard / week / month) so clientCal in the public time picker can show a week or month grid instead of the day list.\n- Keep the same time pills, one calendar per place when places apply, and the booking type name as a day header when no type is selected.\n- Honor hide weekends, put dates in week-view column headers, and make pills full column width.\n\n## Test plan\n- [ ] In Bokning settings, set **Kalendervy i klientbokningen** to Standard, Vecka, and Månad and confirm the public pick-time UI matches.\n- [ ] With hide weekends on, week and month grids omit Saturday and Sunday.\n- [ ] With multiple places, each place has its own calendar.\n- [ ] With no booking type selected, the type name appears in each day; with a type selected it does not.\n- [ ] Prev/next moves by week or month; empty days still offer the jump-to-next-available action.\n- [ ] Default (list) view still behaves as before.\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">Under Booking Settings, you can now choose between the standard daily list view and the new weekly view via Calendar view in client booking.</p>","translations":{"en":{"title":"Weekly view in client booking","body_html":"<p dir=\"auto\">Under Booking Settings, you can now choose between the standard daily list view and the new weekly view via Calendar view in client booking.</p>"},"sv":{"title":"Veckovy i klientbokningen","body_html":"<p dir=\"auto\">Under Bokningsinställningar kan du välja mellan standardvyn med daglista och den nya veckovyn via Kalendervy i klientbokningen.</p>"},"es":{"title":"Vista semanal en la reserva de clientes","body_html":"<p dir=\"auto\">En Configuración de reservas, puedes elegir entre la vista estándar con lista diaria y la nueva vista semanal a través de Vista de calendario en la reserva de clientes.</p>"},"no":{"title":"Ukesvisning i klientbookingen","body_html":"<p dir=\"auto\">Under Bookinginnstillinger kan du velge mellom standardvisningen med dagsliste og den nye ukesvisningen via Kalendervisning i klientbookingen.</p>"},"dk":{"title":"Ugevisning i klientbookingen","body_html":"<p dir=\"auto\">Under Bookingindstillinger kan du vælge mellem standardvisningen med dagsliste og den nye ugevisning via Kalendervisning i klientbookingen.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10167","title":"Calendar now highlights client time within the full booking length","state":"closed","number":10167,"created_at":"2026-09-11T08:40:39Z","repo_name":"Kaddio Application","merged_at":"2026-09-17T08:40:31Z","body":"## Summary\n- Darken the calendar booking block from `clientLength` (tid med klient) to the event end so leftover slot time is visible.\n- Applies to standalone bookings and bookings inside arbetstid in week/day/timeline views (not month/list).\n- Overlay only shows when the booking type has a shorter `clientLength` than the actual slot.\n\n## Test plan\n- [ ] Open the host calendar week or day view.\n- [ ] Find or create a booking whose type has `clientLength` shorter than `length` (e.g. 45 vs 60 min).\n- [ ] Confirm the bottom portion of the event is slightly darker gray.\n- [ ] Confirm bookings without `clientLength` look unchanged.\n- [ ] Spot-check a booking inside arbetstid (sub-event) and the timeline view.\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">When a booking type has a shorter client time than the total booking length, the lower part of the event is shaded in a slightly darker tone in the week, day, and timeline views. This makes it easy to see where the time with the client ends and the buffer for documentation or preparation begins.</p>","translations":{"en":{"title":"Calendar now highlights client time within the full booking length","body_html":"<p dir=\"auto\">When a booking type has a shorter client time than the total booking length, the lower part of the event is shaded in a slightly darker tone in the week, day, and timeline views. This makes it easy to see where the time with the client ends and the buffer for documentation or preparation begins.</p>"},"sv":{"title":"I kalendern markeras tid med klient ut, i förhållande till hela bokningens längd","body_html":"<p dir=\"auto\">När en bokningstyp har en kortare tid med klient än hela bokningens längd markeras den nedre delen av händelsen i en något mörkare ton i vecko-, dag- och tidslinjevyerna. Det blir tydligt var tiden med klienten slutar och där bufferten för dokumentation eller förberedelse tar vid.</p>"},"es":{"title":"El calendario destaca el tiempo con el cliente dentro de la duración total de la reserva","body_html":"<p dir=\"auto\">Cuando un tipo de reserva tiene un tiempo con el cliente más corto que la duración total de la reserva, la parte inferior del evento se muestra en un tono ligeramente más oscuro en las vistas de semana, día y línea de tiempo. Así resulta fácil ver dónde termina el tiempo con el cliente y comienza el margen para documentación o preparación.</p>"},"no":{"title":"Kalenderen viser tid med klient i forhold til hele bookingens lengde","body_html":"<p dir=\"auto\">Når en bookingtype har kortere tid med klient enn hele bookingens lengde, markeres den nedre delen av hendelsen i en litt mørkere tone i uke-, dag- og tidslinjevisningen. Det blir tydelig hvor tiden med klienten slutter og bufferen for dokumentasjon eller forberedelse tar over.</p>"},"dk":{"title":"Kalenderen viser tid med klient i forhold til hele bookingens længde","body_html":"<p dir=\"auto\">Når en bookingtype har kortere tid med klient end hele bookingens længde, markeres den nederste del af begivenheden i en lidt mørkere tone i uge-, dag- og tidslinjevisningerne. Det bliver tydeligt, hvor tiden med klienten slutter, og bufferen til dokumentation eller forberedelse begynder.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10170","title":"Voice transcription now shows clearer error messages","state":"closed","number":10170,"created_at":"2026-09-11T10:01:10Z","repo_name":"Kaddio Application","merged_at":"2026-09-11T12:07:28Z","body":null,"body_html":"<p dir=\"auto\">When voice recording fails to start, Kaddio now displays the actual reason instead of a generic message.</p>\n<p dir=\"auto\">Inside the Journal, transcription errors are surfaced directly from your browser or microphone, so it's easier to understand what went wrong and how to fix it. Recording also checks upfront whether your browser supports a compatible audio format, preventing silent failures. No action is needed.</p>","translations":{"en":{"title":"Voice transcription now shows clearer error messages","body_html":"<p dir=\"auto\">When voice recording fails to start, Kaddio now displays the actual reason instead of a generic message.</p>\n<p dir=\"auto\">Inside the Journal, transcription errors are surfaced directly from your browser or microphone, so it's easier to understand what went wrong and how to fix it. Recording also checks upfront whether your browser supports a compatible audio format, preventing silent failures. No action is needed.</p>"},"sv":{"title":"Röstinspelning visar nu tydligare felmeddelanden","body_html":"<p dir=\"auto\">När en röstinspelning inte kan starta visar Kaddio nu den faktiska orsaken istället för ett generellt meddelande.</p>\n<p dir=\"auto\">I journalen visas felmeddelanden direkt från webbläsaren eller mikrofonen, vilket gör det enklare att förstå vad som gick fel och hur det kan åtgärdas. Inspelningen kontrollerar också i förväg att webbläsaren har stöd för ett kompatibelt ljudformat, så att fel upptäcks tidigare. Ingen åtgärd krävs.</p>"},"es":{"title":"La transcripción de voz ahora muestra errores más claros","body_html":"<p dir=\"auto\">Cuando una grabación de voz no puede iniciarse, Kaddio muestra el motivo real en lugar de un mensaje genérico.</p>\n<p dir=\"auto\">En el Diario, los errores de transcripción se muestran directamente desde el navegador o el micrófono, lo que facilita entender qué ocurrió y cómo resolverlo. Además, la grabación verifica de antemano si el navegador admite un formato de audio compatible. No se requiere ninguna acción.</p>"},"no":{"title":"Taleopptak viser nå tydeligere feilmeldinger","body_html":"<p dir=\"auto\">Når et taleopptak ikke kan starte, viser Kaddio nå den faktiske årsaken i stedet for en generell melding.</p>\n<p dir=\"auto\">I journalen vises feilmeldinger direkte fra nettleseren eller mikrofonen, slik at det blir enklere å forstå hva som gikk galt og hvordan det kan løses. Opptaket sjekker også på forhånd om nettleseren støtter et kompatibelt lydformat. Ingen handling kreves.</p>"},"dk":{"title":"Taleoptagelse viser nu tydeligere fejlmeddelelser","body_html":"<p dir=\"auto\">Når en taleoptagelse ikke kan starte, viser Kaddio nu den faktiske årsag i stedet for en generel besked.</p>\n<p dir=\"auto\">I journalen vises fejlmeddelelser direkte fra browseren eller mikrofonen, så det bliver lettere at forstå, hvad der gik galt, og hvordan det kan løses. Optagelsen tjekker også på forhånd, om browseren understøtter et kompatibelt lydformat. Ingen handling er nødvendig.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10171","title":"Voice recording in Journal is now more reliable","state":"closed","number":10171,"created_at":"2026-09-11T10:30:56Z","repo_name":"Kaddio Application","merged_at":"2026-09-11T12:06:49Z","body":"Logisk bugfix. Låg risk.","body_html":"<p dir=\"auto\">Voice recording in Journal now starts more reliably, avoiding a rare timing issue when beginning a session.</p>\n<p dir=\"auto\">This small fix ensures the recorder responds correctly the moment you press start, so you can focus on your client instead of the tool. No action needed.</p>","translations":{"en":{"title":"Voice recording in Journal is now more reliable","body_html":"<p dir=\"auto\">Voice recording in Journal now starts more reliably, avoiding a rare timing issue when beginning a session.</p>\n<p dir=\"auto\">This small fix ensures the recorder responds correctly the moment you press start, so you can focus on your client instead of the tool. No action needed.</p>"},"sv":{"title":"Röstinspelning i journalen fungerar nu mer tillförlitligt","body_html":"<p dir=\"auto\">Röstinspelningen i journalen startar nu mer tillförlitligt och undviker ett sällsynt tidsproblem när en session påbörjas.</p>\n<p dir=\"auto\">Den lilla justeringen gör att inspelaren svarar korrekt i samma stund du trycker på start, så du kan fokusera på klienten i stället för verktyget. Ingen åtgärd krävs.</p>"},"es":{"title":"La grabación de voz en el historial ahora es más fiable","body_html":"<p dir=\"auto\">La grabación de voz en el historial clínico se inicia con mayor fiabilidad, evitando un problema puntual de sincronización al comenzar una sesión.</p>\n<p dir=\"auto\">Este pequeño ajuste garantiza que la grabadora responda correctamente al pulsar iniciar, para que puedas centrarte en el paciente y no en la herramienta. No requiere ninguna acción.</p>"},"no":{"title":"Taleopptak i journalen fungerer nå mer pålitelig","body_html":"<p dir=\"auto\">Taleopptak i journalen starter nå mer pålitelig og unngår et sjeldent tidsproblem når en økt påbegynnes.</p>\n<p dir=\"auto\">Denne lille justeringen sørger for at opptakeren reagerer riktig i det øyeblikket du trykker start, slik at du kan fokusere på klienten fremfor verktøyet. Ingen handling nødvendig.</p>"},"dk":{"title":"Stemmeoptagelse i journalen er nu mere pålidelig","body_html":"<p dir=\"auto\">Stemmeoptagelse i journalen starter nu mere pålideligt og undgår et sjældent timing-problem, når en session påbegyndes.</p>\n<p dir=\"auto\">Denne lille justering sikrer, at optageren reagerer korrekt, i det øjeblik du trykker start, så du kan fokusere på klienten frem for værktøjet. Ingen handling påkrævet.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10135","title":"More Försäkringskassan forms available in the journal","state":"closed","number":10135,"created_at":"2026-09-08T12:45:28Z","repo_name":"Kaddio Application","merged_at":"2026-09-11T06:57:31Z","body":"## Summary\n- Adds the official Försäkringskassan forms requested in #10093: 7472, 7426, 7801, 7802, and **7427** (current replacement for 7447).\n- Each form has a Svelte editor, XFA/AcroForm mapping, and a fillable PDF template so orgs can activate them under Journal → Officiella blanketter.\n\n## Test plan\n- [ ] Activate the new forms in Journal settings → Officiella blanketter\n- [ ] Create each form from a client journal and confirm prefilled name/personnummer/host\n- [ ] Fill a few fields, lock, and download PDF; open in an external PDF reader\n- [ ] Confirm 7804 sjukintyg still exports as before\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">In addition to the existing medical certificate (7804), Kaddio now supports form 7472 (temporary parental benefit), 7426 (seriously ill child), 7427 (child aged 12–15), 7801 (activity compensation for reduced work capacity) and 7802 (activity compensation for extended schooling). The forms are pre-filled with the client's name, personal identity number and care provider details, and can be locked and downloaded as a ready-made PDF.</p>\n<p dir=\"auto\">Activate the forms you wish to use under Journal Settings → Official forms.</p>","translations":{"en":{"title":"More Försäkringskassan forms available in the journal","body_html":"<p dir=\"auto\">In addition to the existing medical certificate (7804), Kaddio now supports form 7472 (temporary parental benefit), 7426 (seriously ill child), 7427 (child aged 12–15), 7801 (activity compensation for reduced work capacity) and 7802 (activity compensation for extended schooling). The forms are pre-filled with the client's name, personal identity number and care provider details, and can be locked and downloaded as a ready-made PDF.</p>\n<p dir=\"auto\">Activate the forms you wish to use under Journal Settings → Official forms.</p>"},"sv":{"title":"Fler blanketter från Försäkringskassan finns i journalen","body_html":"<p dir=\"auto\">Utöver det befintliga sjukintyget (7804) stödjer Kaddio nu blankett 7472 (tillfällig föräldrapenning), 7426 (allvarligt sjukt barn), 7427 (barn 12–15 år), 7801 (aktivitetsersättning vid nedsatt arbetsförmåga) och 7802 (aktivitetsersättning vid förlängd skolgång). Blanketterna förifylls med klientens namn, personnummer och vårdgivaruppgifter, och kan låsas och laddas ner som en färdig PDF.</p>\n<p dir=\"auto\">Aktivera de blanketter ni vill använda under Inställningar för Journal → Officiella blanketter.</p>"},"es":{"title":"Más formularios de Försäkringskassan disponibles en el historial","body_html":"<p dir=\"auto\">Además del certificado médico existente (7804), Kaddio ahora admite los formularios 7472 (subsidio parental temporal), 7426 (niño gravemente enfermo), 7427 (niños de 12 a 15 años), 7801 (compensación por actividad en caso de capacidad laboral reducida) y 7802 (compensación por actividad durante escolarización prolongada). Los formularios se rellenan automáticamente con el nombre del cliente, el número de identificación personal y los datos del proveedor de atención, y pueden bloquearse y descargarse como un PDF listo para usar.</p>\n<p dir=\"auto\">Active los formularios que desee utilizar en Configuración del historial → Formularios oficiales.</p>"},"no":{"title":"Flere blanketter fra Försäkringskassan finnes i journalen","body_html":"<p dir=\"auto\">I tillegg til den eksisterende sykmeldingen (7804) støtter Kaddio nå blankett 7472 (midlertidig foreldrepenger), 7426 (alvorlig sykt barn), 7427 (barn 12–15 år), 7801 (aktivitetsstønad ved nedsatt arbeidsevne) og 7802 (aktivitetsstønad ved forlenget skolegang). Blankettene fylles ut på forhånd med klientens navn, personnummer og opplysninger om helsepersonell, og kan låses og lastes ned som en ferdig PDF.</p>\n<p dir=\"auto\">Aktiver de blankettene dere ønsker å bruke under Innstillinger for Journal → Offisielle blanketter.</p>"},"dk":{"title":"Flere blanketter fra Försäkringskassan findes i journalen","body_html":"<p dir=\"auto\">Ud over den eksisterende sygemelding (7804) understøtter Kaddio nu blanket 7472 (midlertidig forældreydelse), 7426 (alvorligt sygt barn), 7427 (barn 12–15 år), 7801 (aktivitetsydelse ved nedsat arbejdsevne) og 7802 (aktivitetsydelse ved forlænget skolegang). Blanketterne udfyldes på forhånd med klientens navn, personnummer og oplysninger om sundhedsudbyder, og kan låses og downloades som en færdig PDF.</p>\n<p dir=\"auto\">Aktivér de blanketter, I ønsker at bruge, under Indstillinger for Journal → Officielle blanketter.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10115","title":"Busy group activities now block members' available times","state":"closed","number":10115,"created_at":"2026-09-03T12:49:11Z","repo_name":"Kaddio Application","merged_at":"2026-09-10T13:55:04Z","body":"## Summary\n- Busy calendar activities with a **group** as attendee now occupy those members’ free times (same as adding them as individuals).\n- `allLinkedHostIdsOnEvent` expands calendar-group attendees to member hosts; free-time matching also treats groups the host belongs to as blocking attendee ids.\n- Fixes https://github.com/kaddio/kaddio/issues/10107\n\n## Test plan\n- [ ] Create a busy activity with a group (e.g. Kontoret) as participant and confirm members’ lediga tider are blocked\n- [ ] Confirm a non-busy group activity does not block\n- [ ] Confirm adding a host as an individual attendee still blocks\n- [ ] `MOCHA_GREP=\"booking algebra org group\" npm run testonce`\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">When you add a group to a busy calendar activity, all members' available times are automatically blocked. Activities that aren't marked as busy won't affect availability. No action required.</p>","translations":{"en":{"title":"Busy group activities now block members' available times","body_html":"<p dir=\"auto\">When you add a group to a busy calendar activity, all members' available times are automatically blocked. Activities that aren't marked as busy won't affect availability. No action required.</p>"},"sv":{"title":"Upptagna gruppaktiviteter blockerar nu medlemmarnas lediga tider","body_html":"<p dir=\"auto\">När du lägger till en grupp i en upptagen kalenderaktivitet blockeras automatiskt alla medlemmars lediga tider. Aktiviteter som inte är markerade som upptagna påverkar inte tillgängligheten. Ingen åtgärd krävs.</p>"},"es":{"title":"Las actividades grupales ocupadas ahora bloquean la disponibilidad de los miembros","body_html":"<p dir=\"auto\">Cuando añades un grupo a una actividad de calendario marcada como ocupada, se bloquean automáticamente los horarios disponibles de todos sus miembros. Las actividades que no estén marcadas como ocupadas no afectarán a la disponibilidad. No se requiere ninguna acción.</p>"},"no":{"title":"Opptatte gruppeaktiviteter blokkerer nå medlemmenes ledige tider","body_html":"<p dir=\"auto\">Når du legger til en gruppe i en opptatt kalenderaktivitet, blokkeres automatisk alle medlemmenes ledige tider. Aktiviteter som ikke er merket som opptatte, påvirker ikke tilgjengeligheten. Ingen handling kreves.</p>"},"dk":{"title":"Optagede gruppeaktiviteter blokerer nu medlemmernes ledige tider","body_html":"<p dir=\"auto\">Når du tilføjer en gruppe til en optaget kalenderaktivitet, blokeres alle medlemmernes ledige tider automatisk. Aktiviteter, der ikke er markeret som optagede, påvirker ikke tilgængeligheden. Ingen handling er nødvendig.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9775","title":"Last-minute waiting lists can now be set up per location","state":"closed","number":9775,"created_at":"2026-06-24T20:41:53Z","repo_name":"Kaddio Application","merged_at":"2026-09-04T10:21:47Z","body":null,"body_html":"<p dir=\"auto\">Clinics with multiple locations can now create separate last-minute waiting lists for each place.</p>\n<p dir=\"auto\">In Booking, when a client signs up to be notified about last-minute openings, they'll only be alerted for the location they're interested in. This means fewer irrelevant messages for clients and better matches when a slot suddenly frees up.</p>\n<p dir=\"auto\">If your clinic operates from more than one location, you can now add a last-minute waiting list per booking type and place directly from the waiting list overview.</p>","translations":{"en":{"title":"Last-minute waiting lists can now be set up per location","body_html":"<p dir=\"auto\">Clinics with multiple locations can now create separate last-minute waiting lists for each place.</p>\n<p dir=\"auto\">In Booking, when a client signs up to be notified about last-minute openings, they'll only be alerted for the location they're interested in. This means fewer irrelevant messages for clients and better matches when a slot suddenly frees up.</p>\n<p dir=\"auto\">If your clinic operates from more than one location, you can now add a last-minute waiting list per booking type and place directly from the waiting list overview.</p>"},"sv":{"title":"Sista minuten-väntelistor kan nu skapas per plats","body_html":"<p dir=\"auto\">Kliniker med flera platser kan nu skapa separata sista minuten-väntelistor för varje plats.</p>\n<p dir=\"auto\">I Bokning får klienter som anmäler sig till sista minuten-erbjudanden bara notiser för den plats de är intresserade av. Det ger färre irrelevanta meddelanden och bättre träffar när en tid plötsligt blir ledig.</p>\n<p dir=\"auto\">Om kliniken har flera platser kan en sista minuten-väntelista skapas per bokningstyp och plats direkt från väntelisteöversikten.</p>"},"es":{"title":"Las listas de espera de última hora ahora se pueden crear por ubicación","body_html":"<p dir=\"auto\">Las clínicas con varias ubicaciones ya pueden crear listas de espera de última hora separadas para cada lugar.</p>\n<p dir=\"auto\">En Reservas, los clientes que se apuntan para recibir avisos de huecos de última hora solo serán notificados sobre la ubicación que les interesa. Esto reduce los mensajes irrelevantes y mejora la coincidencia cuando queda un hueco libre.</p>\n<p dir=\"auto\">Si tu clínica opera en más de un lugar, ahora puedes añadir una lista de espera de última hora por tipo de reserva y ubicación desde la vista general de listas de espera.</p>"},"no":{"title":"Sist-minuttet-ventelister kan nå opprettes per sted","body_html":"<p dir=\"auto\">Klinikker med flere steder kan nå opprette egne sist-minuttet-ventelister for hvert sted.</p>\n<p dir=\"auto\">I Booking får klienter som melder seg på sist-minuttet-varsler bare beskjed om det stedet de er interessert i. Det gir færre irrelevante meldinger og bedre treff når en time plutselig blir ledig.</p>\n<p dir=\"auto\">Har klinikken flere steder, kan en sist-minuttet-venteliste opprettes per bookingtype og sted direkte fra ventelisteoversikten.</p>"},"dk":{"title":"Sidste-øjebliks-ventelister kan nu oprettes pr. sted","body_html":"<p dir=\"auto\">Klinikker med flere adresser kan nu oprette separate sidste-øjebliks-ventelister for hvert sted.</p>\n<p dir=\"auto\">I Booking får klienter, der tilmelder sig sidste-øjebliks-varsler, kun besked om det sted, de er interesserede i. Det giver færre irrelevante beskeder og bedre match, når en tid pludselig bliver ledig.</p>\n<p dir=\"auto\">Hvis klinikken har flere adresser, kan en sidste-øjebliks-venteliste oprettes pr. bookingtype og sted direkte fra ventelisteoversigten.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10109","title":"More filters in the Day &gt; Table calendar view","state":"closed","number":10109,"created_at":"2026-09-03T09:21:06Z","repo_name":"Kaddio Application","merged_at":"2026-09-04T07:05:17Z","body":"Adds status filters to Dag > Tabell under Visa:\r\n\r\n- Avbokade: bookings cancelled by the patient\r\n- Inställda: bookings cancelled by the practitioner, including cancelled group sessions\r\n- Uteblivna besök: no-show visits\r\n\r\nAll filters are enabled by default to preserve the existing behavior.\r\n\r\nÅterkoppla till \r\npatrik.otteberg@nimm.se\r\n","body_html":"<p dir=\"auto\">Go to Day &gt; Table and use the Show menu to toggle Cancelled, Rescheduled and No-show appointments. All filters are enabled by default, so nothing changes unless you choose to adjust them yourself.</p>","translations":{"en":{"title":"More filters in the Day &gt; Table calendar view","body_html":"<p dir=\"auto\">Go to Day &gt; Table and use the Show menu to toggle Cancelled, Rescheduled and No-show appointments. All filters are enabled by default, so nothing changes unless you choose to adjust them yourself.</p>"},"sv":{"title":"Fler filter i kalendervyn Dag &gt; Tabell","body_html":"<p dir=\"auto\">Gå till Dag &gt; Tabell och använd menyn Visa för att växla Avbokade, Inställda och Uteblivna besök. Alla filter är påslagna som standard, så inget förändras om du inte själv väljer det.</p>"},"es":{"title":"Más filtros en la vista de calendario Día &gt; Tabla","body_html":"<p dir=\"auto\">Ve a Día &gt; Tabla y utiliza el menú Mostrar para alternar las citas Canceladas, Reprogramadas y No presentadas. Todos los filtros están activados por defecto, así que nada cambiará a menos que tú decidas ajustarlos.</p>"},"no":{"title":"Flere filtre i kalendervisningen Dag &gt; Tabell","body_html":"<p dir=\"auto\">Gå til Dag &gt; Tabell og bruk Vis-menyen for å veksle mellom Avbestilte, Ombookede og Uteblitte besøk. Alle filtre er slått på som standard, så ingenting endres med mindre du selv velger det.</p>"},"dk":{"title":"Flere filtre i kalendervisningen Dag &gt; Tabel","body_html":"<p dir=\"auto\">Gå til Dag &gt; Tabel og brug Vis-menuen til at skifte mellem Afbestilte, Ombookede og Udeblevne besøg. Alle filtre er slået til som standard, så intet ændres, medmindre du selv vælger det.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10009","title":"New relation type for adult children","state":"closed","number":10009,"created_at":"2026-08-21T09:44:13Z","repo_name":"Kaddio Application","merged_at":"2026-09-03T07:40:22Z","body":"För fallet där vårdnadshavare inte fungerar utan det är förälder till vuxet barn så att säga - tänker jag rätt? Eller ska `child` återanvändas på något sätt?","body_html":"<p dir=\"auto\">You can now link a client to a parent or adult child, making family connections clearer when guardianship no longer applies.</p>\n<p dir=\"auto\">This new relation type sits alongside existing options like partner and guardian, and can be enabled per organization. It's especially helpful when documenting care that involves adult family members.</p>","translations":{"en":{"title":"New relation type for adult children","body_html":"<p dir=\"auto\">You can now link a client to a parent or adult child, making family connections clearer when guardianship no longer applies.</p>\n<p dir=\"auto\">This new relation type sits alongside existing options like partner and guardian, and can be enabled per organization. It's especially helpful when documenting care that involves adult family members.</p>"},"sv":{"title":"Ny relation för vuxna barn","body_html":"<p dir=\"auto\">Nu går det att koppla en klient till en förälder eller ett vuxet barn – perfekt när vårdnadshavare inte längre passar.</p>\n<p dir=\"auto\">Den nya relationstypen finns tillsammans med befintliga alternativ som partner och vårdnadshavare, och kan aktiveras per organisation. Särskilt användbart vid vård som involverar vuxna familjemedlemmar.</p>"},"es":{"title":"Nueva relación para hijos adultos","body_html":"<p dir=\"auto\">Ahora puedes vincular a un cliente con un padre o un hijo adulto, aclarando los lazos familiares cuando la tutela ya no aplica.</p>\n<p dir=\"auto\">Este nuevo tipo de relación se suma a opciones existentes como pareja o tutor legal, y puede activarse por organización. Muy útil al documentar atención que involucra a familiares adultos.</p>"},"no":{"title":"Ny relasjon for voksne barn","body_html":"<p dir=\"auto\">Du kan nå knytte en klient til en forelder eller et voksent barn, noe som gjør familierelasjoner tydeligere når vergemål ikke passer.</p>\n<p dir=\"auto\">Den nye relasjonstypen finnes ved siden av eksisterende valg som partner og verge, og kan aktiveres per organisasjon. Særlig nyttig når du dokumenterer omsorg som involverer voksne familiemedlemmer.</p>"},"dk":{"title":"Ny relation for voksne børn","body_html":"<p dir=\"auto\">Du kan nu forbinde en klient med en forælder eller et voksent barn – ideelt når værgemål ikke længere passer.</p>\n<p dir=\"auto\">Den nye relationstype findes sammen med eksisterende valg som partner og værge, og kan aktiveres pr. organisation. Særligt nyttigt ved dokumentation af pleje, der involverer voksne familiemedlemmer.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9996","title":"Practitioners can now be granted permission to unsign journal entries","state":"closed","number":9996,"created_at":"2026-08-20T12:44:16Z","repo_name":"Kaddio Application","merged_at":"2026-08-28T11:27:15Z","body":"Önskemål från F4L\r\n\r\nIntroduce a new option to permit hosts to unsign contacts, enhancing the existing permissions model. This change includes updates to the schema, method authorization checks, and the user interface.","body_html":"<p dir=\"auto\">Unlocking signed journal entries is no longer limited to administrators. Clinics can now delegate this permission to specific practitioners.</p>\n<p dir=\"auto\">In the Journal module, a new permission group called Unlock signing lets you decide exactly who can reopen signed and locked contacts when unsigning is enabled for your organization. By default, existing administrators keep their access, so no action is needed unless you want to extend the permission to other practitioners.</p>","translations":{"en":{"title":"Practitioners can now be granted permission to unsign journal entries","body_html":"<p dir=\"auto\">Unlocking signed journal entries is no longer limited to administrators. Clinics can now delegate this permission to specific practitioners.</p>\n<p dir=\"auto\">In the Journal module, a new permission group called Unlock signing lets you decide exactly who can reopen signed and locked contacts when unsigning is enabled for your organization. By default, existing administrators keep their access, so no action is needed unless you want to extend the permission to other practitioners.</p>"},"sv":{"title":"Behandlare kan nu få behörighet att låsa upp signerade kontakter","body_html":"<p dir=\"auto\">Att låsa upp signerade journalkontakter är inte längre begränsat till administratörer. Kliniker kan nu ge behörigheten till utvalda behandlare.</p>\n<p dir=\"auto\">I journalmodulen finns en ny behörighetsgrupp, Lås upp signering, där ni styr exakt vilka användare som får låsa upp signerade och låsta kontakter när upplåsning är tillåten i organisationen. Befintliga administratörer behåller sin åtkomst, så ingen åtgärd krävs om ni inte vill utöka behörigheten till fler.</p>"},"es":{"title":"Los profesionales ya pueden recibir permiso para desbloquear entradas firmadas","body_html":"<p dir=\"auto\">Desbloquear entradas firmadas en la historia clínica ya no está limitado a los administradores. Las clínicas pueden delegar este permiso a…</p>\n<p dir=\"auto\">En el módulo de Historia clínica, un nuevo grupo de permisos llamado Desbloquear firma permite decidir con precisión quién puede reabrir contactos firmados y bloqueados cuando esta opción está activada. Los administradores actuales conservan su acceso, por lo que no se requiere ninguna acción salvo que quieran ampliar el permiso a otros profesionales.</p>"},"no":{"title":"Behandlere kan nå få tillatelse til å låse opp signerte journalkontakter","body_html":"<p dir=\"auto\">Å låse opp signerte journalkontakter er ikke lenger forbeholdt administratorer. Klinikker kan nå gi tillatelsen til utvalgte behandlere.</p>\n<p dir=\"auto\">I journalmodulen finnes en ny tilgangsgruppe, Lås opp signering, der dere bestemmer nøyaktig hvem som kan åpne signerte og låste kontakter når opplåsing er tillatt i organisasjonen. Eksisterende administratorer beholder sin tilgang, så ingen handling er nødvendig med mindre dere ønsker å utvide tillatelsen til flere.</p>"},"dk":{"title":"Behandlere kan nu få tilladelse til at låse signerede journalkontakter op","body_html":"<p dir=\"auto\">At låse signerede journalkontakter op er ikke længere forbeholdt administratorer. Klinikker kan nu tildele rettigheden til udvalgte behandlere.</p>\n<p dir=\"auto\">I journalmodulet findes en ny rettighedsgruppe, Lås signering op, hvor I styrer præcis, hvem der må genåbne signerede og låste kontakter, når oplåsning er tilladt i organisationen. Eksisterende administratorer beholder deres adgang, så der kræves ingen handling, medmindre I ønsker at udvide rettigheden til flere.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10011","title":"Försäkringskassan forms in the journal","state":"closed","number":10011,"created_at":"2026-08-21T10:13:26Z","repo_name":"Kaddio Application","merged_at":"2026-08-27T13:11:07Z","body":"## Summary\n- Adds blankett definitions and instances so hosts can prepare Försäkringskassan forms from a client journal.\n- Introduces `/blankett/:id` for editing, PDF preview/download, and sending the blankett as real mail.\n- Includes a sjukintyg form plus a generic fallback form, with unit and app tests for the new methods.\n\n## Test plan\n- [ ] From a client journal, create a blankett and confirm it appears as a journal item.\n- [ ] Open `/blankett/:id`, edit fields, and save.\n- [ ] Preview and download the PDF (`Visa PDF` / `Ladda ner PDF`).\n- [ ] Send the blankett as real mail and confirm it is marked as sent.\n- [ ] Confirm unauthorized users cannot open or mutate another org’s blankett.\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">Prepare Försäkringskassan forms directly from a client's journal, preview the PDF, and send it as physical mail — all in one place.</p>\n<p dir=\"auto\">The first form available is the medical certificate for sickness benefit (Läkarintyg för sjukpenning, FK 7804). Patient details and recent diagnoses are prefilled from the journal, so less time is spent on paperwork.</p>\n<p dir=\"auto\">Once ready, the form can be locked, downloaded as PDF, or sent as real mail straight to Försäkringskassan's inläsningscentral. Available in the Journal module once activated for your organization.</p>","translations":{"en":{"title":"Försäkringskassan forms in the journal","body_html":"<p dir=\"auto\">Prepare Försäkringskassan forms directly from a client's journal, preview the PDF, and send it as physical mail — all in one place.</p>\n<p dir=\"auto\">The first form available is the medical certificate for sickness benefit (Läkarintyg för sjukpenning, FK 7804). Patient details and recent diagnoses are prefilled from the journal, so less time is spent on paperwork.</p>\n<p dir=\"auto\">Once ready, the form can be locked, downloaded as PDF, or sent as real mail straight to Försäkringskassan's inläsningscentral. Available in the Journal module once activated for your organization.</p>"},"sv":{"title":"Försäkringskassans blanketter i journalen","body_html":"<p dir=\"auto\">Förbered Försäkringskassans blanketter direkt från klientens journal, förhandsgranska PDF:en och skicka den som brev — allt på ett ställe.</p>\n<p dir=\"auto\">Första blanketten som stöds är Läkarintyg för sjukpenning (FK 7804). Patientuppgifter och senaste diagnoser förifylls från journalen, vilket sparar tid i administrationen.</p>\n<p dir=\"auto\">Blanketten kan låsas, laddas ner som PDF eller skickas som riktigt brev direkt till Försäkringskassans inläsningscentral. Finns i journalmodulen när funktionen aktiverats för organisationen.</p>"},"es":{"title":"Formularios de Försäkringskassan en el historial","body_html":"<p dir=\"auto\">Prepara los formularios de Försäkringskassan directamente desde el historial del cliente, previsualiza el PDF y envíalo por correo postal en un…</p>\n<p dir=\"auto\">El primer formulario disponible es el certificado médico para la prestación por enfermedad (Läkarintyg för sjukpenning, FK 7804). Los datos del paciente y los diagnósticos recientes se rellenan automáticamente desde el historial.</p>\n<p dir=\"auto\">El formulario puede bloquearse, descargarse como PDF o enviarse por correo postal directamente al centro de recepción de Försäkringskassan. Disponible en el módulo de Historial una vez activado para tu organización.</p>"},"no":{"title":"Försäkringskassan-skjemaer i journalen","body_html":"<p dir=\"auto\">Forbered Försäkringskassans skjemaer direkte fra klientens journal, forhåndsvis PDF-en og send den som fysisk post — alt på ett sted.</p>\n<p dir=\"auto\">Første skjema som støttes er legeerklæringen for sykepenger (Läkarintyg för sjukpenning, FK 7804). Pasientopplysninger og nylige diagnoser fylles inn automatisk fra journalen.</p>\n<p dir=\"auto\">Skjemaet kan låses, lastes ned som PDF eller sendes som ekte brev direkte til Försäkringskassans mottakssentral. Finnes i journalmodulen når funksjonen er aktivert for organisasjonen.</p>"},"dk":{"title":"Försäkringskassan-blanketter i journalen","body_html":"<p dir=\"auto\">Forbered Försäkringskassans blanketter direkte fra klientens journal, se PDF'en og send den som fysisk brev — det hele ét sted.</p>\n<p dir=\"auto\">Den første understøttede blanket er lægeerklæringen for sygedagpenge (Läkarintyg för sjukpenning, FK 7804). Patientoplysninger og seneste diagnoser udfyldes automatisk fra journalen.</p>\n<p dir=\"auto\">Blanketten kan låses, hentes som PDF eller sendes som rigtigt brev direkte til Försäkringskassans indlæsningscentral. Findes i journalmodulet, når funktionen er aktiveret for organisationen.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10022","title":"Rooms now sorted alphabetically in the calendar and on bookings","state":"closed","number":10022,"created_at":"2026-08-24T19:08:08Z","repo_name":"Kaddio Application","merged_at":"2026-08-27T12:20:55Z","body":"Problem\r\nKolumnerna i Rum vertikalt saknar sortering, upplevs otydligt.\r\nListan över rum på bokningar saknar sortering (förutom på plats), upplevs otydligt.\r\nVid filtrering på plats i vyn Rum vertikalt visas inga rum\r\n\r\nMeddelat av petra@pusselfamiljen.se\r\n\r\n**Löser**\r\nAtt kolumnerna sorteras på bokstavsordning\r\nAtt listan över rum på bokningar sorteras i bokstavsordning per plats.\r\nRum vertikalt kan filtreras på plats\r\n\r\n(testar flöde direkt från Intercom till PR)","body_html":"<p dir=\"auto\">In the calendar, rooms are grouped by location and listed in alphabetical order, with \"No room\" always shown last. The Rooms vertical view can also be filtered by location, making it easy to focus on a single practice.</p>","translations":{"en":{"title":"Rooms now sorted alphabetically in the calendar and on bookings","body_html":"<p dir=\"auto\">In the calendar, rooms are grouped by location and listed in alphabetical order, with \"No room\" always shown last. The Rooms vertical view can also be filtered by location, making it easy to focus on a single practice.</p>"},"sv":{"title":"Rum sorteras i bokstavsordning i kalendern och på bokningar","body_html":"<p dir=\"auto\">I kalendern grupperas rummen per plats och listas i bokstavsordning, med \"Inget rum\" alltid sist. Vyn Rum vertikalt går dessutom att filtrera på plats för att fokusera på en enskild mottagning.</p>"},"es":{"title":"Las salas se ordenan alfabéticamente en el calendario y en las reservas","body_html":"<p dir=\"auto\">En el calendario, las salas se agrupan por ubicación y se muestran en orden alfabético, con \"Sin sala\" siempre al final. La vista Salas en vertical también se puede filtrar por ubicación para centrarte en un solo centro.</p>"},"no":{"title":"Rom sorteres alfabetisk i kalenderen og på bookinger","body_html":"<p dir=\"auto\">I kalenderen grupperes rommene etter sted og listes i alfabetisk rekkefølge, med \"Ingen rom\" alltid sist. Visningen Rom vertikalt kan i tillegg filtreres på sted, slik at du enkelt kan fokusere på én enkelt mottakelse.</p>"},"dk":{"title":"Rum sorteres alfabetisk i kalenderen og på bookinger","body_html":"<p dir=\"auto\">I kalenderen grupperes rummene efter lokation og vises i alfabetisk rækkefølge, med \"Intet rum\" altid til sidst. Visningen Rum lodret kan desuden filtreres på lokation, så du let kan fokusere på én enkelt klinik.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10044","title":"Let practitioners see all groups in the organization, even ones they're not part of","state":"closed","number":10044,"created_at":"2026-08-27T07:44:09Z","repo_name":"Kaddio Application","merged_at":"2026-08-27T11:40:23Z","body":"## Summary\n- Adds org setting `showGroupsWithoutMembershipForHosts` under Inställningar → Sekretess in a new Grupper fieldset.\n- When enabled, non-admin hosts receive all non-chat groups from the `groups` publication, not only groups they belong to. Admins and supervisors still always see all groups; clients still see none.\n- Default remains off, so existing orgs keep membership-scoped group lists.\n\n## Test plan\n- [ ] As admin, open Inställningar → Sekretess and confirm the Grupper fieldset and checkbox save.\n- [ ] As a non-admin host, with the setting off, confirm groups you are not a member of do not appear under Grupper.\n- [ ] Enable the setting, reload as the same host, and confirm those groups appear.\n- [ ] Confirm a client still cannot see org groups.\n- [ ] Confirm admins still see all groups regardless of the setting.\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">You'll find the new setting under Settings → Privacy, and it's turned off by default — so nothing changes for existing organizations. Administrators and supervisors still see every group, and clients never see the organization's groups.</p>","translations":{"en":{"title":"Let practitioners see all groups in the organization, even ones they're not part of","body_html":"<p dir=\"auto\">You'll find the new setting under Settings → Privacy, and it's turned off by default — so nothing changes for existing organizations. Administrators and supervisors still see every group, and clients never see the organization's groups.</p>"},"sv":{"title":"Tillåt behandlare att se alla grupper i organisationen, även de de inte är medlemmar i.","body_html":"<p dir=\"auto\">Inställningen finns under Inställningar → Sekretess och är avstängd som standard, så inget ändras för befintliga organisationer. Administratörer och handledare ser fortsatt alla grupper, och klienter ser aldrig organisationens grupper.</p>"},"es":{"title":"Permite que los profesionales vean todos los grupos de la organización, incluso aquellos a los que no pertenecen","body_html":"<p dir=\"auto\">Encontrarás la nueva opción en Configuración → Privacidad, y está desactivada por defecto, así que nada cambia para las organizaciones existentes. Los administradores y supervisores seguirán viendo todos los grupos, y los clientes nunca ven los grupos de la organización.</p>"},"no":{"title":"La behandlere se alle grupper i organisasjonen, også de de ikke er medlem av","body_html":"<p dir=\"auto\">Innstillingen finner du under Innstillinger → Personvern, og den er avslått som standard – så ingenting endres for eksisterende organisasjoner. Administratorer og veiledere ser fortsatt alle grupper, og klienter ser aldri organisasjonens grupper.</p>"},"dk":{"title":"Lad behandlere se alle grupper i organisationen, også dem de ikke er medlem af","body_html":"<p dir=\"auto\">Indstillingen finder du under Indstillinger → Privatliv, og den er slået fra som standard – så intet ændres for eksisterende organisationer. Administratorer og supervisorer ser fortsat alle grupper, og klienter ser aldrig organisationens grupper.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10037","title":"New layout on overview pages for clearer guidance on what needs attention","state":"closed","number":10037,"created_at":"2026-08-26T08:03:25Z","repo_name":"Kaddio Application","merged_at":"2026-08-27T11:39:45Z","body":"## Summary\n- Restyle dash-bricks as bordered white cards on a gray page, with stronger glyphs for action vs empty/info states.\n- Split the host dashboard into a two-column work area and news aside; restyle inbox, bookings, forms, and cases as kd-items.\n- Pack the client dashboard with a masonry layout, move Ny bokning into the bookings header, and tighten the changelog to five expandable titles.\n\n## Test plan\n- [ ] Host dashboard: greeting/date outside cards, work column vs news aside at `lg`, no extra gap from dash-brick margins\n- [ ] Att ta hand om: action glyphs when counts > 0; empty forms/letters still visible\n- [ ] Idag/Imorgon: times in item icons; Anslut navigates as a link (`btn-primary-flat`, not `kd-button`)\n- [ ] Client dashboard: masonry packs cards without holes from ~992px; identity/journal lock stay in the flow\n- [ ] Aktuella bokningar: Ny bokning in the header; rows use host avatar or user glyph; Avboka / Anslut\n- [ ] Formulär and Ärenden: kd-item lists; empty Ärenden state when `org.hasCases`\n- [ ] Nytt i Kaddio: five titles, expand inline, Visa changelog / Visa fler nyheter opens the full changelog\n- [ ] Isolated view shell still uses the near-white body background\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">The overview pages in Kaddio have been given a cleaner and more focused look, with clear cards that highlight what needs your attention today. None of the content has changed — only the appearance.</p>\n<p dir=\"auto\">The practitioner's overview page is now sorted so that items requiring action appear at the top. Messages from Kaddio about updates and events are clearly displayed in the right-hand column. Logged-in clients will also enjoy a more pleasant and clearer experience, with pending items shown at the top. The new layout is also visible in the patient overview and the journal overview.</p>","translations":{"en":{"title":"New layout on overview pages for clearer guidance on what needs attention","body_html":"<p dir=\"auto\">The overview pages in Kaddio have been given a cleaner and more focused look, with clear cards that highlight what needs your attention today. None of the content has changed — only the appearance.</p>\n<p dir=\"auto\">The practitioner's overview page is now sorted so that items requiring action appear at the top. Messages from Kaddio about updates and events are clearly displayed in the right-hand column. Logged-in clients will also enjoy a more pleasant and clearer experience, with pending items shown at the top. The new layout is also visible in the patient overview and the journal overview.</p>"},"sv":{"title":"Ny layout på översiktssidor för tydligare hjälp med vad som behöver hanteras","body_html":"<p dir=\"auto\">Översiktssidorna i Kaddio har fått renare och mer fokuserat utseende med tydliga kort som lyfter fram det som behöver din uppmärksamhet idag. Inget av innehållet har förändrats, bara utseendet.</p>\n<p dir=\"auto\">Behandlarens översiktssida är sorterad så att det som behöver hanteras ligger överst. Meddelanden från Kaddio om uppdateringar och händelser syns tydligt i högerspalten. Även för inloggade klienter blir upplevelsen trevligare och tydligare med det som behöver hanteras högst upp. Den nya layouten syns också i patientöversikten och journalöversikten.</p>"},"es":{"title":"Nuevo diseño en las páginas de resumen para ver con más claridad lo que requiere atención","body_html":"<p dir=\"auto\">Las páginas de resumen de Kaddio ahora tienen un aspecto más limpio y enfocado, con tarjetas claras que destacan lo que necesita tu atención hoy. El contenido no ha cambiado, solo la apariencia.</p>\n<p dir=\"auto\">La página de resumen del profesional está ordenada de manera que lo que requiere gestión aparece en la parte superior. Los mensajes de Kaddio sobre actualizaciones y eventos se muestran claramente en la columna derecha. Los clientes que inician sesión también disfrutarán de una experiencia más agradable y clara, con las tareas pendientes destacadas en la parte superior. El nuevo diseño también está presente en la vista general del paciente y en la vista general del historial clínico.</p>"},"no":{"title":"Ny layout på oversiktssider for tydeligere oversikt over hva som må håndteres","body_html":"<p dir=\"auto\">Oversiktssidene i Kaddio har fått et renere og mer fokusert utseende, med tydelige kort som løfter frem det som trenger din oppmerksomhet i dag. Innholdet er uendret – kun utseendet er nytt.</p>\n<p dir=\"auto\">Behandlerens oversiktsside er sortert slik at det som må håndteres ligger øverst. Meldinger fra Kaddio om oppdateringer og hendelser vises tydelig i høyre kolonne. Også for innloggede klienter blir opplevelsen hyggeligere og tydeligere, med det som må håndteres øverst. Den nye layouten vises også i pasientoversikten og journaloversikten.</p>"},"dk":{"title":"Nyt layout på oversigtssider for tydeligere overblik over, hvad der skal håndteres","body_html":"<p dir=\"auto\">Oversigtssiderne i Kaddio har fået et renere og mere fokuseret udseende med tydelige kort, der fremhæver det, som kræver din opmærksomhed i dag. Indholdet er uændret – kun udseendet er nyt.</p>\n<p dir=\"auto\">Behandlerens oversigtsside er sorteret, så det, der skal håndteres, ligger øverst. Beskeder fra Kaddio om opdateringer og begivenheder vises tydeligt i højre kolonne. Også for loggede klienter bliver oplevelsen rarere og mere overskuelig, med det, der skal håndteres, øverst. Det nye layout ses også i patientoversigten og journaloversigten.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10045","title":"Switch practitioner when rescheduling from the calendar","state":"closed","number":10045,"created_at":"2026-08-27T08:20:29Z","repo_name":"Kaddio Application","merged_at":"2026-08-27T11:25:15Z","body":"## Summary\n- The calendar header filters are hidden during reschedule, so the host filter stayed locked to the original booking.\n- The reschedule bar now includes the same attendee filter (and extra-host picker) as the header, so you can change who you are looking at while ombokning.\n\n## Test plan\n- [x] Open a booking in CalCtrl and choose Omboka\n- [x] Confirm the original host is selected in the reschedule bar\n- [x] Change the attendee filter to another host and confirm that host's calendar/free times load\n- [x] Add an extra host and confirm both calendars are visible\n- [x] Complete or cancel reschedule and confirm filters restore as before\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">Previously, the calendar was locked to the original practitioner during rescheduling. Now the same filters available in the calendar header are also in the rescheduling bar, so you can easily view another practitioner's available times or several calendars at once before picking a new slot.</p>","translations":{"en":{"title":"Switch practitioner when rescheduling from the calendar","body_html":"<p dir=\"auto\">Previously, the calendar was locked to the original practitioner during rescheduling. Now the same filters available in the calendar header are also in the rescheduling bar, so you can easily view another practitioner's available times or several calendars at once before picking a new slot.</p>"},"sv":{"title":"Byt behandlare vid ombokning från kalendern","body_html":"<p dir=\"auto\">Tidigare var kalendern låst till den ursprungliga behandlaren under ombokning. Nu finns samma filter i ombokningsraden som i kalenderns rubrik, så du enkelt kan se en annan behandlares lediga tider eller flera kalendrar samtidigt innan du väljer en ny tid.</p>"},"es":{"title":"Cambia de profesional al reprogramar desde el calendario","body_html":"<p dir=\"auto\">Antes, el calendario quedaba fijado al profesional original durante la reprogramación. Ahora encontrarás los mismos filtros en la barra de reprogramación que en la cabecera del calendario, para que puedas consultar fácilmente las horas libres de otro profesional o ver varios calendarios a la vez antes de elegir un nuevo horario.</p>"},"no":{"title":"Bytt behandler ved ombooking fra kalenderen","body_html":"<p dir=\"auto\">Tidligere var kalenderen låst til den opprinnelige behandleren under ombooking. Nå finner du de samme filtrene i ombookingsraden som i kalenderens topptekst, slik at du enkelt kan se en annen behandlers ledige tider eller flere kalendere samtidig før du velger en ny tid.</p>"},"dk":{"title":"Skift behandler ved ombooking fra kalenderen","body_html":"<p dir=\"auto\">Tidligere var kalenderen låst til den oprindelige behandler under ombooking. Nu finder du de samme filtre i ombookingsrækken som i kalenderens overskrift, så du nemt kan se en anden behandlers ledige tider eller flere kalendere på samme tid, inden du vælger en ny tid.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10047","title":"Hide empty activity columns in the calendar's daily views","state":"closed","number":10047,"created_at":"2026-08-27T08:32:20Z","repo_name":"Kaddio Application","merged_at":"2026-08-27T09:26:32Z","body":"## Summary\n- In **$HostP vertikalt** (day host time grid), the shared **Aktiviteter** (`cal`) column is now hidden when it has nothing to show.\n- This follows the existing **Visa $hostP utan bokningar** setting (`calSettingsHideEmptyHosts`): empty practitioner columns and an empty cal column are treated the same.\n- Single-host aktiviteter still belong in that host’s column, so they do not keep the shared cal lane visible.\n\n## Test plan\n- [x] Open calendar → Dag → **$HostP vertikalt** on a day with bookings but no shared aktiviteter / unassigned bookings. Confirm the **Aktiviteter** column is gone (setting off, which is the default).\n- [x] Enable **Visa $hostP utan bokningar**. Confirm empty host columns and an empty **Aktiviteter** column both reappear.\n- [x] On a day with a shared aktivitet (or a booking without a host), confirm **Aktiviteter** stays visible even with the setting off.\n- [x] Confirm a single-host aktivitet still appears in that host’s column and does not force the cal column to show.\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">Empty practitioner columns and an empty Activities column are now handled the same way, following your existing setting for showing practitioners without bookings. As soon as there's a shared activity or a booking without a practitioner, the column automatically reappears.</p>","translations":{"en":{"title":"Hide empty activity columns in the calendar's daily views","body_html":"<p dir=\"auto\">Empty practitioner columns and an empty Activities column are now handled the same way, following your existing setting for showing practitioners without bookings. As soon as there's a shared activity or a booking without a practitioner, the column automatically reappears.</p>"},"sv":{"title":"Dölj tomma kolumner för aktiviteter i dagsvyerna i kalendern","body_html":"<p dir=\"auto\">Tomma behandlarkolumner och en tom Aktiviteter-kolumn hanteras på samma sätt och följer din befintliga inställning för att visa behandlare utan bokningar. Så fort det finns en delad aktivitet eller en bokning utan behandlare visas kolumnen igen automatiskt.</p>"},"es":{"title":"Ocultar columnas de actividades vacías en las vistas diarias del calendario","body_html":"<p dir=\"auto\">Las columnas de terapeutas vacías y la columna de Actividades vacía se gestionan de la misma manera y siguen tu configuración actual para mostrar terapeutas sin reservas. En cuanto haya una actividad compartida o una reserva sin terapeuta, la columna vuelve a aparecer automáticamente.</p>"},"no":{"title":"Skjul tomme aktivitetskolonner i dagsvisningene i kalenderen","body_html":"<p dir=\"auto\">Tomme behandlerkolonner og en tom Aktiviteter-kolonne håndteres på samme måte og følger din eksisterende innstilling for å vise behandlere uten bookinger. Så snart det finnes en delt aktivitet eller en booking uten behandler, vises kolonnen igjen automatisk.</p>"},"dk":{"title":"Skjul tomme aktivitetskolonner i kalenderens dagsvisninger","body_html":"<p dir=\"auto\">Tomme behandlerkolonner og en tom Aktiviteter-kolonne håndteres på samme måde og følger din eksisterende indstilling for at vise behandlere uden bookinger. Så snart der er en delt aktivitet eller en booking uden behandler, vises kolonnen automatisk igen.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9941","title":"Reliable online booking","state":"closed","number":9941,"created_at":"2026-08-14T05:57:38Z","repo_name":"Kaddio Application","merged_at":"2026-08-27T06:36:59Z","body":"Problem\r\nTjänster visas inte i klientbokningen om vi inte får valutakursinfo. \r\n\r\nLösning\r\n- Visa tjänster oavsett kontakt\r\n- Ej kunna välja andra valutor om kurs saknas","body_html":"<p dir=\"auto\">Online booking now shows your services even when currency exchange rates are temporarily unavailable.</p>\n<p dir=\"auto\">Previously, the client booking view could appear empty if exchange rate information was missing. Services are now always visible, and clients can book in your clinic's default currency. Other currencies are shown as unavailable until exchange rates are back in place.</p>","translations":{"en":{"title":"Reliable online booking","body_html":"<p dir=\"auto\">Online booking now shows your services even when currency exchange rates are temporarily unavailable.</p>\n<p dir=\"auto\">Previously, the client booking view could appear empty if exchange rate information was missing. Services are now always visible, and clients can book in your clinic's default currency. Other currencies are shown as unavailable until exchange rates are back in place.</p>"},"sv":{"title":"Klientbokningen visar dina tjänster även när valutakurser tillfälligt saknas.","body_html":"<p dir=\"auto\">Tidigare kunde bokningsvyn se tom ut om valutakursinformation saknades. Tjänster syns nu alltid, och klienter kan boka i klinikens standardvaluta. Andra valutor visas som otillgängliga tills kurserna är på plats igen.</p>"},"es":{"title":"Reserva de clientes fiable","body_html":"<p dir=\"auto\">La reserva online muestra ahora tus servicios incluso cuando los tipos de cambio no están disponibles temporalmente.</p>\n<p dir=\"auto\">Antes, la vista de reserva podía aparecer vacía si faltaba información de tipos de cambio. Los servicios se muestran siempre, y los clientes pueden reservar en la moneda predeterminada de la clínica. Otras monedas aparecen como no disponibles hasta que los tipos de cambio vuelvan a estar activos.</p>"},"no":{"title":"Pålitelig klientbooking","body_html":"<p dir=\"auto\">Klientbookingen viser nå tjenestene dine også når valutakurser midlertidig mangler.</p>\n<p dir=\"auto\">Tidligere kunne bookingvisningen se tom ut hvis valutakursinformasjon manglet. Tjenester vises nå alltid, og klienter kan booke i klinikkens standardvaluta. Andre valutaer vises som utilgjengelige inntil kursene er på plass igjen.</p>"},"dk":{"title":"Pålidelig klientbooking","body_html":"<p dir=\"auto\">Klientbookingen viser nu dine ydelser, selv når valutakurser midlertidigt mangler.</p>\n<p dir=\"auto\">Tidligere kunne bookingvisningen se tom ud, hvis valutakursinformation manglede. Ydelser vises nu altid, og klienter kan booke i klinikkens standardvaluta. Andre valutaer vises som utilgængelige, indtil kurserne er tilbage.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/10040","title":"Smoother AI transcription","state":"closed","number":10040,"created_at":"2026-08-26T18:45:18Z","repo_name":"Kaddio Application","merged_at":"2026-08-26T19:02:32Z","body":null,"body_html":"<p dir=\"auto\">AI transcription in the Journal now handles edge cases more gracefully, so recordings flow into notes without unexpected interruptions.</p>\n<p dir=\"auto\">This fix improves stability when working with contact types that have no note types attached, ensuring the AI assistant responds reliably every time. No action needed.</p>","translations":{"en":{"title":"Smoother AI transcription","body_html":"<p dir=\"auto\">AI transcription in the Journal now handles edge cases more gracefully, so recordings flow into notes without unexpected interruptions.</p>\n<p dir=\"auto\">This fix improves stability when working with contact types that have no note types attached, ensuring the AI assistant responds reliably every time. No action needed.</p>"},"sv":{"title":"Stabilare AI-transkribering","body_html":"<p dir=\"auto\">AI-transkribering i journalen hanterar nu specialfall smidigare, så att inspelningar blir till anteckningar utan oväntade avbrott.</p>\n<p dir=\"auto\">Stabiliteten förbättras när kontakttyper saknar kopplade anteckningstyper, och AI-assistenten svarar pålitligt varje gång. Ingen åtgärd krävs.</p>"},"es":{"title":"Transcripción con IA más estable","body_html":"<p dir=\"auto\">La transcripción con IA en la historia clínica ahora gestiona mejor los casos especiales, para que las grabaciones se conviertan en notas sin…</p>\n<p dir=\"auto\">La estabilidad mejora cuando los tipos de contacto no tienen tipos de nota asociados, y el asistente de IA responde de forma fiable. No requiere ninguna acción.</p>"},"no":{"title":"Mer stabil AI-transkribering","body_html":"<p dir=\"auto\">AI-transkribering i journalen håndterer nå spesialtilfeller mer smidig, slik at opptak blir til notater uten uventede avbrudd.</p>\n<p dir=\"auto\">Stabiliteten forbedres når kontakttyper mangler tilknyttede notattyper, og AI-assistenten svarer pålitelig hver gang. Ingen handling nødvendig.</p>"},"dk":{"title":"Mere stabil AI-transskribering","body_html":"<p dir=\"auto\">AI-transskribering i journalen håndterer nu særlige tilfælde mere smidigt, så optagelser bliver til notater uden uventede afbrydelser.</p>\n<p dir=\"auto\">Stabiliteten forbedres, når kontakttyper ikke har tilknyttede notattyper, og AI-assistenten svarer pålideligt hver gang. Ingen handling nødvendig.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9939","title":"Smarter AI journal handling","state":"closed","number":9939,"created_at":"2026-08-13T18:21:22Z","repo_name":"Kaddio Application","merged_at":"2026-08-21T06:50:24Z","body":null,"body_html":"<p dir=\"auto\">The AI assistant now skips drawings and file attachments when working with journal notes, keeping generated text focused on written content.</p>\n<p dir=\"auto\">This means AI features in the Journal module — like transcription and summaries — will no longer risk overwriting images or files with text. Practitioners get cleaner, more reliable results without any changes to their workflow.</p>","translations":{"en":{"title":"Smarter AI journal handling","body_html":"<p dir=\"auto\">The AI assistant now skips drawings and file attachments when working with journal notes, keeping generated text focused on written content.</p>\n<p dir=\"auto\">This means AI features in the Journal module — like transcription and summaries — will no longer risk overwriting images or files with text. Practitioners get cleaner, more reliable results without any changes to their workflow.</p>"},"sv":{"title":"Smartare AI i journalen","body_html":"<p dir=\"auto\">AI-assistenten hoppar över ritningar och bifogade filer när den arbetar med journalanteckningar, så att genererad text håller sig till skrivet…</p>\n<p dir=\"auto\">Det innebär att AI-funktioner i Journalmodulen – som transkribering och sammanfattningar – inte längre riskerar att skriva över bilder eller filer med text. Behandlare får renare och mer tillförlitliga resultat utan att behöva ändra sitt arbetssätt.</p>"},"es":{"title":"IA más precisa en la historia clínica","body_html":"<p dir=\"auto\">El asistente de IA ahora omite dibujos y archivos adjuntos al trabajar con notas clínicas, manteniendo el texto generado centrado en el contenido…</p>\n<p dir=\"auto\">Esto significa que funciones como la transcripción y los resúmenes en el módulo Historia Clínica ya no corren el riesgo de sobrescribir imágenes o archivos con texto. Los profesionales obtienen resultados más limpios y fiables sin cambiar su forma de trabajar.</p>"},"no":{"title":"Smartere AI i journalen","body_html":"<p dir=\"auto\">AI-assistenten hopper nå over tegninger og vedlagte filer når den jobber med journalnotater, slik at generert tekst holder seg til skriftlig innhold.</p>\n<p dir=\"auto\">Det betyr at AI-funksjoner i Journal-modulen – som transkribering og oppsummeringer – ikke lenger risikerer å overskrive bilder eller filer med tekst. Behandlere får renere og mer pålitelige resultater uten å endre arbeidsflyten.</p>"},"dk":{"title":"Smartere AI i journalen","body_html":"<p dir=\"auto\">AI-assistenten springer nu tegninger og vedhæftede filer over, når den arbejder med journalnotater, så genereret tekst holder sig til skriftligt…</p>\n<p dir=\"auto\">Det betyder, at AI-funktioner i Journal-modulet – som transskription og opsummeringer – ikke længere risikerer at overskrive billeder eller filer med tekst. Behandlere får renere og mere pålidelige resultater uden at ændre deres arbejdsgang.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9993","title":"Activities land in the right column","state":"closed","number":9993,"created_at":"2026-08-20T09:37:09Z","repo_name":"Kaddio Application","merged_at":"2026-08-20T14:15:32Z","body":"## Summary\n- In Behandlare vertikalt, an aktivitet with only one host attendee now shows in that host's column instead of Aktiviteter.\n- Creating an aktivitet in a host lane assigns that host as the attendee so it stays in the column you clicked.\n- The Aktiviteter column is no longer treated as a host id, which was crashing place lookup (`defaultPlaceId`).\n\n## Test plan\n- [ ] Open **Dag → Behandlare vertikalt**.\n- [ ] An aktivitet with a single host attendee appears in that host's lane.\n- [ ] An aktivitet with several attendees (or a non-host) stays in **Aktiviteter**.\n- [ ] Click a host lane, create **Aktivitet** — it lands in that host's lane.\n- [ ] Click the **Aktiviteter** column and create an aktivitet — no `defaultPlaceId` error.\n- [ ] With \"hide empty hosts\" on, a host whose only event that day is such an aktivitet still has a column.\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">In the Practitioner vertical day view, an activity with a single practitioner now appears in that practitioner's column instead of the shared…</p>\n<p dir=\"auto\">When you click a practitioner's column to create an activity, it stays right where you clicked. Activities with several attendees continue to live in the Activities column, keeping the calendar tidy and easy to scan.</p>\n<p dir=\"auto\">This is part of the Booking module and works automatically — no setup needed.</p>","translations":{"en":{"title":"Activities land in the right column","body_html":"<p dir=\"auto\">In the Practitioner vertical day view, an activity with a single practitioner now appears in that practitioner's column instead of the shared…</p>\n<p dir=\"auto\">When you click a practitioner's column to create an activity, it stays right where you clicked. Activities with several attendees continue to live in the Activities column, keeping the calendar tidy and easy to scan.</p>\n<p dir=\"auto\">This is part of the Booking module and works automatically — no setup needed.</p>"},"sv":{"title":"Aktiviteter hamnar i rätt kolumn","body_html":"<p dir=\"auto\">I dagsvyn Behandlare vertikalt visas en aktivitet med endast en behandlare i den behandlarens kolumn istället för i den gemensamma…</p>\n<p dir=\"auto\">När du klickar i en behandlares kolumn för att skapa en aktivitet stannar den där du klickade. Aktiviteter med flera deltagare ligger kvar i Aktiviteter-kolumnen, så kalendern blir enklare att överblicka.</p>\n<p dir=\"auto\">Förändringen är en del av Bokning och fungerar automatiskt — inget behöver ställas in.</p>"},"es":{"title":"Las actividades en la columna correcta","body_html":"<p dir=\"auto\">En la vista diaria vertical por profesional, una actividad con un solo profesional aparece ahora en la columna de ese profesional en lugar de en la…</p>\n<p dir=\"auto\">Al hacer clic en la columna de un profesional para crear una actividad, esta se queda justo donde has hecho clic. Las actividades con varios participantes siguen mostrándose en la columna Actividades, manteniendo el calendario claro y fácil de leer.</p>\n<p dir=\"auto\">Forma parte del módulo de Reservas y funciona de forma automática, sin configuración.</p>"},"no":{"title":"Aktiviteter havner i riktig kolonne","body_html":"<p dir=\"auto\">I dagsvisningen Behandler vertikalt vises en aktivitet med bare én behandler i denne behandlerens kolonne i stedet for i den felles…</p>\n<p dir=\"auto\">Når du klikker i en behandlers kolonne for å opprette en aktivitet, blir den liggende der du klikket. Aktiviteter med flere deltakere ligger fortsatt i Aktiviteter-kolonnen, slik at kalenderen blir enklere å få oversikt over.</p>\n<p dir=\"auto\">Endringen er en del av Booking og fungerer automatisk — ingen oppsett kreves.</p>"},"dk":{"title":"Aktiviteter i den rigtige kolonne","body_html":"<p dir=\"auto\">I dagsvisningen Behandler vertikalt vises en aktivitet med kun én behandler i denne behandlers kolonne i stedet for i den fælles Aktiviteter-kolonne.</p>\n<p dir=\"auto\">Når du klikker i en behandlers kolonne for at oprette en aktivitet, bliver den liggende, hvor du klikkede. Aktiviteter med flere deltagere bliver stadig vist i Aktiviteter-kolonnen, så kalenderen er nem at overskue.</p>\n<p dir=\"auto\">Ændringen er en del af Booking og virker automatisk — ingen opsætning nødvendig.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9948","title":"Reporting tool now shows rebooking history and original booking details","state":"closed","number":9948,"created_at":"2026-08-14T11:17:44Z","repo_name":"Kaddio Application","merged_at":"2026-08-20T11:11:26Z","body":null,"body_html":"<p dir=\"auto\">Booking reports now display the full trail whenever an appointment is rescheduled, making it easy to see where a booking originated and where it was moved.</p>","translations":{"en":{"title":"Reporting tool now shows rebooking history and original booking details","body_html":"<p dir=\"auto\">Booking reports now display the full trail whenever an appointment is rescheduled, making it easy to see where a booking originated and where it was moved.</p>"},"sv":{"title":"Rapportverktyget visar information om ombokningar och den ursprungliga bokningen","body_html":"<p dir=\"auto\">Bokningsrapporter visar nu hela spåret när en tid bokas om, så att det är enkelt att se var en bokning kommer ifrån och vart den flyttades.</p>"},"es":{"title":"La herramienta de informes muestra información sobre las reprogramaciones y la reserva original","body_html":"<p dir=\"auto\">Los informes de reservas muestran ahora el recorrido completo cuando se reprograma una cita, para que puedas ver fácilmente de dónde proviene una reserva y a dónde se movió.</p>"},"no":{"title":"Rapportverktøyet viser informasjon om ombookinger og den opprinnelige bookingen","body_html":"<p dir=\"auto\">Bookingrapporter viser nå hele sporet når en time bookes om, slik at det er enkelt å se hvor en booking kommer fra og hvor den ble flyttet.</p>"},"dk":{"title":"Rapportværktøjet viser information om ombookinger og den oprindelige booking","body_html":"<p dir=\"auto\">Bookingrapporter viser nu hele forløbet, når en tid bliver ombooket, så det er nemt at se, hvor en booking kommer fra, og hvor den blev flyttet hen.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9871","title":"Smoother filtering in Journal","state":"closed","number":9871,"created_at":"2026-07-23T10:49:29Z","repo_name":"Kaddio Application","merged_at":"2026-08-20T11:00:07Z","body":"Nu blir det enklare att filtrera i översikt Journal (/contacts)","body_html":"<p dir=\"auto\">The filter menu in the Journal overview now stays open while you make your selections.</p>\n<p dir=\"auto\">Apply multiple filters in one go without the menu closing after every click — a small tweak that makes finding the right contacts noticeably faster.</p>","translations":{"en":{"title":"Smoother filtering in Journal","body_html":"<p dir=\"auto\">The filter menu in the Journal overview now stays open while you make your selections.</p>\n<p dir=\"auto\">Apply multiple filters in one go without the menu closing after every click — a small tweak that makes finding the right contacts noticeably faster.</p>"},"sv":{"title":"Smidigare filtrering i Journal","body_html":"<p dir=\"auto\">Filtermenyn i journalöversikten stannar öppen medan du gör dina val.</p>\n<p dir=\"auto\">Välj flera filter i följd utan att menyn stängs efter varje klick — en liten justering som gör det märkbart snabbare att hitta rätt kontakter.</p>"},"es":{"title":"Filtrado más fluido en Journal","body_html":"<p dir=\"auto\">El menú de filtros en la vista general de Journal ahora permanece abierto mientras haces tus selecciones.</p>\n<p dir=\"auto\">Aplica varios filtros seguidos sin que el menú se cierre tras cada clic — un pequeño ajuste que hace mucho más rápido encontrar los contactos correctos.</p>"},"no":{"title":"Enklere filtrering i Journal","body_html":"<p dir=\"auto\">Filtermenyen i journaloversikten holder seg åpen mens du gjør valgene dine.</p>\n<p dir=\"auto\">Velg flere filtre etter hverandre uten at menyen lukkes ved hvert klikk — en liten forbedring som gjør det raskere å finne de rette kontaktene.</p>"},"dk":{"title":"Nemmere filtrering i Journal","body_html":"<p dir=\"auto\">Filtermenuen i journaloversigten forbliver nu åben, mens du foretager dine valg.</p>\n<p dir=\"auto\">Vælg flere filtre i træk uden at menuen lukker efter hvert klik — en lille justering, der gør det mærkbart hurtigere at finde de rigtige kontakter.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9863","title":"Smoother Peppol e-invoicing","state":"closed","number":9863,"created_at":"2026-07-21T09:20:31Z","repo_name":"Kaddio Application","merged_at":"2026-08-20T08:22:00Z","body":"Löser typ alla våra problem med e-faktura.","body_html":"<p dir=\"auto\">Sending invoices via Peppol is now more reliable, with clearer guidance when something needs attention.</p>\n<p dir=\"auto\">In Invoicing, Kaddio now validates payment details, VAT numbers and organisation numbers against the official Peppol rules for Sweden, Denmark and Norway before an invoice is sent. Cross-border invoices between the Nordic countries are handled correctly, and the right payment method — Bankgiro, Plusgiro or IBAN/BIC — is picked automatically based on where the invoice is going.</p>\n<p dir=\"auto\">If anything is missing or incorrect, you'll see a clear warning explaining what to fix, so fewer invoices get rejected by the receiver.</p>","translations":{"en":{"title":"Smoother Peppol e-invoicing","body_html":"<p dir=\"auto\">Sending invoices via Peppol is now more reliable, with clearer guidance when something needs attention.</p>\n<p dir=\"auto\">In Invoicing, Kaddio now validates payment details, VAT numbers and organisation numbers against the official Peppol rules for Sweden, Denmark and Norway before an invoice is sent. Cross-border invoices between the Nordic countries are handled correctly, and the right payment method — Bankgiro, Plusgiro or IBAN/BIC — is picked automatically based on where the invoice is going.</p>\n<p dir=\"auto\">If anything is missing or incorrect, you'll see a clear warning explaining what to fix, so fewer invoices get rejected by the receiver.</p>"},"sv":{"title":"Smidigare e-faktura via Peppol","body_html":"<p dir=\"auto\">Att skicka fakturor via Peppol är nu mer pålitligt, med tydligare vägledning när något behöver justeras.</p>\n<p dir=\"auto\">I Fakturering kontrollerar Kaddio betaluppgifter, momsnummer och organisationsnummer mot Peppols officiella regler för Sverige, Danmark och Norge innan fakturan skickas. Fakturor mellan de nordiska länderna hanteras korrekt, och rätt betalsätt — Bankgiro, Plusgiro eller IBAN/BIC — väljs automatiskt utifrån mottagarens land.</p>\n<p dir=\"auto\">Om något saknas eller är felaktigt visas en tydlig varning med vad som behöver rättas, så att färre fakturor avvisas av mottagaren.</p>"},"es":{"title":"Facturación Peppol más fluida","body_html":"<p dir=\"auto\">Enviar facturas por Peppol es ahora más fiable, con avisos claros cuando algo requiere atención.</p>\n<p dir=\"auto\">En el módulo de Facturación, Kaddio valida los datos de pago, el número de IVA y el número de organización según las reglas oficiales de Peppol para Suecia, Dinamarca y Noruega antes de enviar la factura. Las facturas transfronterizas entre países nórdicos se gestionan correctamente, y el método de pago adecuado — Bankgiro, Plusgiro o IBAN/BIC — se elige automáticamente según el destino.</p>\n<p dir=\"auto\">Si falta algún dato o hay un error, verás un aviso claro con lo que hay que corregir, de modo que menos facturas sean rechazadas por el destinatario.</p>"},"no":{"title":"Smidigere e-faktura via Peppol","body_html":"<p dir=\"auto\">Å sende fakturaer via Peppol er nå mer pålitelig, med tydeligere veiledning når noe må justeres.</p>\n<p dir=\"auto\">I Fakturering kontrollerer Kaddio betalingsopplysninger, MVA-nummer og organisasjonsnummer mot Peppols offisielle regler for Sverige, Danmark og Norge før fakturaen sendes. Fakturaer på tvers av de nordiske landene håndteres riktig, og rett betalingsmåte — Bankgiro, Plusgiro eller IBAN/BIC — velges automatisk ut fra mottakerens land.</p>\n<p dir=\"auto\">Hvis noe mangler eller er feil, vises en tydelig advarsel om hva som må rettes, slik at færre fakturaer blir avvist av mottakeren.</p>"},"dk":{"title":"Smidigere e-faktura via Peppol","body_html":"<p dir=\"auto\">At sende fakturaer via Peppol er nu mere pålideligt, med tydeligere vejledning når noget skal rettes.</p>\n<p dir=\"auto\">I Fakturering kontrollerer Kaddio betalingsoplysninger, momsnummer og organisationsnummer mod Peppols officielle regler for Sverige, Danmark og Norge, inden fakturaen sendes. Fakturaer på tværs af de nordiske lande håndteres korrekt, og den rette betalingsmåde — Bankgiro, Plusgiro eller IBAN/BIC — vælges automatisk ud fra modtagerens land.</p>\n<p dir=\"auto\">Hvis noget mangler eller er forkert, vises en tydelig advarsel med, hvad der skal rettes, så færre fakturaer bliver afvist af modtageren.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9981","title":"Exclude contact types from journal exports","state":"closed","number":9981,"created_at":"2026-08-19T08:42:52Z","repo_name":"Kaddio Application","merged_at":"2026-08-20T08:19:51Z","body":"## Summary\n- Add optional `hideInExport` on contact types so org admins can exclude specific types from client journal PDF exports.\n- Filter hidden types in bulk export (`/pdf/contacts`, `/viewpdf/contacts`, `/html/contacts`); single-contact export remains unchanged.\n- Expose the setting on the Kontakttyper settings page with a checkbox and summary badge.\n\n## Browser test\nTested locally with demo fixtures (`npm run meteor-for-playwright`) as **Amanda**.\n\n| Check | Expected | Result |\n|---|---|---|\n| Settings checkbox + summary badge | Visible and persists after save | Pass |\n| Bulk HTML export `/html/contacts/:clientId` | Omits contacts with hidden types | Pass |\n| Single HTML export `/html/contact/:id` | Still exports hidden types | Pass |\n\n**Settings UI**\n- Opened **Inställningar → Journal → Kontakttyper**\n- Enabled **Dölj vid PDF-export** on **Nybesök**\n- Saved successfully; summary updated to **Döljs vid export**\n\n**Bulk export**\n- Patient: **Kajsa Svensson**\n- Route: `/html/contacts/NscyuL8mPPdJBk8ci?showHistory=true&showDetails=true&layout=legacy`\n- Result: only patient header rendered; no contact content\n- Expected here because Kajsa only has a **Nybesök** contact and that type was hidden\n\n**Single-contact export**\n- Contact: Kajsa's **Nybesök** (`/contacts/a7yQRdLLeqWERsWbP`)\n- Route: `/html/contact/a7yQRdLLeqWERsWbP?showHistory=true&showDetails=&layout=legacy`\n- Result: full export with **Nybesök - 2026-08-09**, Kontaktorsak, Anamnes, Aktuellt, Bedömning, Åtgärd, etc.\n\n## Test plan\n- [x] Open Journal → Inställningar → Kontakttyper and enable \"Dölj vid PDF-export\" on a contact type\n- [x] Export all contacts for a client with that type and verify those contacts are omitted\n- [x] Export a single contact of that type and verify it still works\n- [ ] Verify MCP `get_kontakttyper` returns `hideInExport`\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">Choose which contact types should stay out of bulk journal PDF exports for a cleaner, more relevant output.</p>\n<p dir=\"auto\">In the Journal settings, each contact type now has a Hide from PDF export option. When enabled, contacts of that type are left out when exporting all contacts for a client, while single-contact exports remain unaffected.</p>","translations":{"en":{"title":"Exclude contact types from journal exports","body_html":"<p dir=\"auto\">Choose which contact types should stay out of bulk journal PDF exports for a cleaner, more relevant output.</p>\n<p dir=\"auto\">In the Journal settings, each contact type now has a Hide from PDF export option. When enabled, contacts of that type are left out when exporting all contacts for a client, while single-contact exports remain unaffected.</p>"},"sv":{"title":"Dölj kontakttyper vid journalexport","body_html":"<p dir=\"auto\">Välj vilka kontakttyper som ska utelämnas vid PDF-export av hela journalen för en renare och mer relevant export.</p>\n<p dir=\"auto\">Under Journal-inställningar finns nu valet Dölj vid PDF-export för varje kontakttyp. När det är aktiverat utelämnas kontakter av den typen vid samlad export för en klient, medan export av enskild kontakt fungerar som vanligt.</p>"},"es":{"title":"Excluir tipos de contacto en exportaciones","body_html":"<p dir=\"auto\">Elige qué tipos de contacto se omiten al exportar el historial clínico completo en PDF, para obtener un resultado más limpio y relevante.</p>\n<p dir=\"auto\">En los ajustes del Diario, cada tipo de contacto incluye ahora la opción Ocultar en exportación PDF. Al activarla, esos contactos se omiten en la exportación conjunta de un cliente, mientras que la exportación de un contacto individual no se ve afectada.</p>"},"no":{"title":"Skjul kontakttyper ved journaleksport","body_html":"<p dir=\"auto\">Velg hvilke kontakttyper som skal utelates ved PDF-eksport av hele journalen, for et ryddigere og mer relevant resultat.</p>\n<p dir=\"auto\">Under Journal-innstillinger finnes nå valget Skjul ved PDF-eksport for hver kontakttype. Når det er aktivert, utelates kontakter av den typen ved samlet eksport for en klient, mens eksport av en enkelt kontakt fungerer som før.</p>"},"dk":{"title":"Skjul kontakttyper ved journaleksport","body_html":"<p dir=\"auto\">Vælg hvilke kontakttyper der skal udelades ved PDF-eksport af hele journalen, så resultatet bliver mere overskueligt og relevant.</p>\n<p dir=\"auto\">Under Journal-indstillinger findes nu valget Skjul ved PDF-eksport for hver kontakttype. Når det er aktiveret, udelades kontakter af den type ved samlet eksport for en klient, mens eksport af en enkelt kontakt fungerer som hidtil.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9937","title":"Custom fields on booking receipts","state":"closed","number":9937,"created_at":"2026-08-13T13:32:11Z","repo_name":"Kaddio Application","merged_at":"2026-08-19T09:20:02Z","body":null,"body_html":"<p dir=\"auto\">Booking receipts can now show custom fields, giving clients more of the details that matter on every confirmation.</p>\n<p dir=\"auto\">In Booking settings, choose which custom fields should appear on receipts. The selected fields are then included on both emailed and PDF receipts, alongside the standard booking information.</p>","translations":{"en":{"title":"Custom fields on booking receipts","body_html":"<p dir=\"auto\">Booking receipts can now show custom fields, giving clients more of the details that matter on every confirmation.</p>\n<p dir=\"auto\">In Booking settings, choose which custom fields should appear on receipts. The selected fields are then included on both emailed and PDF receipts, alongside the standard booking information.</p>"},"sv":{"title":"Anpassade fält på kvitton","body_html":"<p dir=\"auto\">Kvitton för bokningar kan nu visa anpassade fält, så att klienter får med mer av den information som är relevant för besöket.</p>\n<p dir=\"auto\">Under bokningsinställningarna väljer du vilka anpassade fält som ska visas på kvitton. Valda fält följer med både i mejlade kvitton och PDF-kvitton, tillsammans med den vanliga bokningsinformationen.</p>"},"es":{"title":"Campos personalizados en los recibos","body_html":"<p dir=\"auto\">Los recibos de reservas pueden mostrar ahora campos personalizados, incluyendo más detalles relevantes en cada confirmación.</p>\n<p dir=\"auto\">En los ajustes de Reservas, elige qué campos personalizados deben aparecer en los recibos. Los campos seleccionados se incluirán tanto en los recibos enviados por correo como en los recibos en PDF, junto con la información habitual de la reserva.</p>"},"no":{"title":"Egendefinerte felt på kvitteringer","body_html":"<p dir=\"auto\">Bookingkvitteringer kan nå vise egendefinerte felt, slik at klienter får med mer av informasjonen som er relevant for timen.</p>\n<p dir=\"auto\">Under bookinginnstillingene velger du hvilke egendefinerte felt som skal vises på kvitteringer. Valgte felt følger med både i e-postkvitteringer og PDF-kvitteringer, sammen med den vanlige bookinginformasjonen.</p>"},"dk":{"title":"Brugerdefinerede felter på kvitteringer","body_html":"<p dir=\"auto\">Bookingkvitteringer kan nu vise brugerdefinerede felter, så klienter får flere af de detaljer, der er relevante for hver aftale.</p>\n<p dir=\"auto\">Under bookingindstillingerne vælger du, hvilke brugerdefinerede felter der skal vises på kvitteringer. De valgte felter tages med i både e-mailkvitteringer og PDF-kvitteringer sammen med de sædvanlige bookingoplysninger.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9947","title":"Booking IDs in exports","state":"closed","number":9947,"created_at":"2026-08-14T11:08:45Z","repo_name":"Kaddio Application","merged_at":"2026-08-15T07:15:45Z","body":null,"body_html":"<p dir=\"auto\">Booking reports now include a unique booking ID for every row, making it easier to trace and cross-reference individual bookings.</p>\n<p dir=\"auto\">When exporting booking data from Reports, each entry carries its own identifier alongside the existing details. This is especially useful when matching exported data with other systems or following up on specific bookings.</p>","translations":{"en":{"title":"Booking IDs in exports","body_html":"<p dir=\"auto\">Booking reports now include a unique booking ID for every row, making it easier to trace and cross-reference individual bookings.</p>\n<p dir=\"auto\">When exporting booking data from Reports, each entry carries its own identifier alongside the existing details. This is especially useful when matching exported data with other systems or following up on specific bookings.</p>"},"sv":{"title":"Boknings-ID i rapporter","body_html":"<p dir=\"auto\">Bokningsrapporter innehåller nu ett unikt boknings-ID för varje rad, vilket gör det enklare att spåra och referera till enskilda bokningar.</p>\n<p dir=\"auto\">Vid export av bokningsdata från Rapporter följer en egen identifierare med varje post utöver övriga uppgifter. Det underlättar särskilt när exporterad data ska matchas mot andra system eller när du vill följa upp specifika bokningar.</p>"},"es":{"title":"ID de reserva en informes","body_html":"<p dir=\"auto\">Los informes de reservas ahora incluyen un identificador único por cada fila, facilitando el seguimiento y la referencia cruzada de cada reserva.</p>\n<p dir=\"auto\">Al exportar datos de reservas desde Informes, cada entrada lleva su propio identificador junto con los detalles habituales. Es especialmente útil para cruzar información con otros sistemas o dar seguimiento a reservas concretas.</p>"},"no":{"title":"Booking-ID i rapporter","body_html":"<p dir=\"auto\">Bookingrapporter inneholder nå en unik booking-ID for hver rad, noe som gjør det enklere å spore og referere til enkeltbookinger.</p>\n<p dir=\"auto\">Ved eksport av bookingdata fra Rapporter følger en egen identifikator med hver oppføring i tillegg til de vanlige detaljene. Det er spesielt nyttig når eksportert data skal matches mot andre systemer eller når du vil følge opp bestemte bookinger.</p>"},"dk":{"title":"Booking-ID i rapporter","body_html":"<p dir=\"auto\">Bookingrapporter indeholder nu et unikt booking-ID for hver række, hvilket gør det nemmere at spore og krydsreferere enkelte bookinger.</p>\n<p dir=\"auto\">Når du eksporterer bookingdata fra Rapporter, følger en egen identifikator med hver post ud over de sædvanlige oplysninger. Det er især nyttigt, når eksporterede data skal matches med andre systemer eller ved opfølgning på bestemte bookinger.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9896","title":"Choose how practitioners are listed","state":"closed","number":9896,"created_at":"2026-08-05T09:54:47Z","repo_name":"Kaddio Application","merged_at":"2026-08-14T07:02:19Z","body":null,"body_html":"<p dir=\"auto\">You can now decide the order practitioners appear in when clients book online.</p>\n<p dir=\"auto\">Under Booking settings, pick between the order practitioners were added, alphabetical, random, or highest PVA first. A small change that makes your booking page feel just right for your clinic.</p>","translations":{"en":{"title":"Choose how practitioners are listed","body_html":"<p dir=\"auto\">You can now decide the order practitioners appear in when clients book online.</p>\n<p dir=\"auto\">Under Booking settings, pick between the order practitioners were added, alphabetical, random, or highest PVA first. A small change that makes your booking page feel just right for your clinic.</p>"},"sv":{"title":"Välj ordning på behandlarlistan","body_html":"<p dir=\"auto\">Du kan nu bestämma i vilken ordning behandlarna visas när klienter bokar online.</p>\n<p dir=\"auto\">Under bokningsinställningar väljer du mellan tillagd ordning, alfabetisk, slumpmässig eller högst PVA överst. En liten förändring som gör att bokningssidan känns precis rätt för din verksamhet.</p>"},"es":{"title":"Elige el orden de los profesionales","body_html":"<p dir=\"auto\">Ahora puedes decidir en qué orden aparecen los profesionales cuando los clientes reservan en línea.</p>\n<p dir=\"auto\">En los ajustes de reservas, elige entre orden de incorporación, alfabético, aleatorio o mayor PVA primero. Un pequeño ajuste para que tu página de reservas se sienta hecha a medida.</p>"},"no":{"title":"Velg rekkefølge på behandlerlisten","body_html":"<p dir=\"auto\">Du kan nå bestemme rekkefølgen behandlerne vises i når klienter booker på nett.</p>\n<p dir=\"auto\">Under bookinginnstillinger kan du velge mellom rekkefølgen de ble lagt til, alfabetisk, tilfeldig eller høyest PVA øverst. En liten endring som gjør bookingsiden akkurat slik du vil ha den.</p>"},"dk":{"title":"Vælg rækkefølge på behandlerlisten","body_html":"<p dir=\"auto\">Du kan nu bestemme rækkefølgen, som behandlerne vises i, når klienter booker online.</p>\n<p dir=\"auto\">Under bookingindstillinger kan du vælge mellem tilføjet rækkefølge, alfabetisk, tilfældig eller højeste PVA øverst. En lille ændring, der får bookingsiden til at passe præcis til din klinik.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9751","title":"Send file attachments via API","state":"closed","number":9751,"created_at":"2026-06-23T11:55:07Z","repo_name":"Kaddio Application","merged_at":"2026-08-13T12:19:27Z","body":null,"body_html":"<p dir=\"auto\">Chat messages sent through the Kaddio API can now include a file attachment.</p>\n<p dir=\"auto\">This makes it easier for integrations and external systems to share documents directly into a conversation, alongside the message text. Useful for partners and developers building on top of Kaddio.</p>","translations":{"en":{"title":"Send file attachments via API","body_html":"<p dir=\"auto\">Chat messages sent through the Kaddio API can now include a file attachment.</p>\n<p dir=\"auto\">This makes it easier for integrations and external systems to share documents directly into a conversation, alongside the message text. Useful for partners and developers building on top of Kaddio.</p>"},"sv":{"title":"Skicka filbilagor via API","body_html":"<p dir=\"auto\">Chattmeddelanden som skickas via Kaddios API kan nu innehålla en filbilaga.</p>\n<p dir=\"auto\">Det gör det enklare för integrationer och externa system att dela dokument direkt i en konversation, tillsammans med meddelandetexten. Användbart för partners och utvecklare som bygger vidare på Kaddio.</p>"},"es":{"title":"Enviar archivos adjuntos por API","body_html":"<p dir=\"auto\">Los mensajes de chat enviados a través de la API de Kaddio ahora pueden incluir un archivo adjunto.</p>\n<p dir=\"auto\">Esto facilita que las integraciones y sistemas externos compartan documentos directamente en una conversación, junto con el texto del mensaje. Útil para socios y desarrolladores que construyen sobre Kaddio.</p>"},"no":{"title":"Send filvedlegg via API","body_html":"<p dir=\"auto\">Chatmeldinger som sendes via Kaddios API kan nå inkludere et filvedlegg.</p>\n<p dir=\"auto\">Det gjør det enklere for integrasjoner og eksterne systemer å dele dokumenter direkte i en samtale, sammen med meldingsteksten. Nyttig for partnere og utviklere som bygger videre på Kaddio.</p>"},"dk":{"title":"Send filvedhæftninger via API","body_html":"<p dir=\"auto\">Chatbeskeder sendt via Kaddios API kan nu indeholde en filvedhæftning.</p>\n<p dir=\"auto\">Det gør det nemmere for integrationer og eksterne systemer at dele dokumenter direkte i en samtale, sammen med beskedteksten. Nyttigt for partnere og udviklere, der bygger videre på Kaddio.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9891","title":"Form answers available in the API","state":"closed","number":9891,"created_at":"2026-08-05T07:46:38Z","repo_name":"Kaddio Application","merged_at":"2026-08-13T12:02:11Z","body":null,"body_html":"<p dir=\"auto\">Form answers are now accessible through the Kaddio API, making it easier to connect forms with other systems and workflows.</p>\n<p dir=\"auto\">Developers and partners can now read form answers, update responses, and mark them as completed through the API. This opens up new possibilities for integrating patient-reported data with external tools, custom dashboards, and automated flows. No action is needed to benefit from the change.</p>","translations":{"en":{"title":"Form answers available in the API","body_html":"<p dir=\"auto\">Form answers are now accessible through the Kaddio API, making it easier to connect forms with other systems and workflows.</p>\n<p dir=\"auto\">Developers and partners can now read form answers, update responses, and mark them as completed through the API. This opens up new possibilities for integrating patient-reported data with external tools, custom dashboards, and automated flows. No action is needed to benefit from the change.</p>"},"sv":{"title":"Formulärsvar via API","body_html":"<p dir=\"auto\">Formulärsvar går nu att hantera via Kaddios API, vilket gör det enklare att koppla ihop formulär med andra system och arbetsflöden.</p>\n<p dir=\"auto\">Utvecklare och partners kan läsa formulärsvar, uppdatera svar och markera dem som färdiga direkt via API:et. Det öppnar upp för nya möjligheter att integrera patientrapporterad data med externa verktyg, egna översikter och automatiserade flöden.</p>"},"es":{"title":"Respuestas de formularios en la API","body_html":"<p dir=\"auto\">Las respuestas de formularios ya están disponibles a través de la API de Kaddio, facilitando la conexión con otros sistemas y flujos de trabajo.</p>\n<p dir=\"auto\">Desarrolladores y socios pueden leer respuestas, actualizarlas y marcarlas como completadas desde la API. Esto abre nuevas posibilidades para integrar datos de pacientes con herramientas externas, paneles personalizados y flujos automatizados.</p>"},"no":{"title":"Skjemasvar via API","body_html":"<p dir=\"auto\">Skjemasvar er nå tilgjengelige via Kaddios API, noe som gjør det enklere å koble skjemaer sammen med andre systemer og arbeidsflyter.</p>\n<p dir=\"auto\">Utviklere og partnere kan lese skjemasvar, oppdatere svar og markere dem som fullførte direkte via API-et. Det åpner for nye muligheter til å integrere pasientrapporterte data med eksterne verktøy, egne oversikter og automatiserte flyter.</p>"},"dk":{"title":"Formularsvar via API","body_html":"<p dir=\"auto\">Formularsvar er nu tilgængelige via Kaddios API, hvilket gør det nemmere at forbinde formularer med andre systemer og arbejdsgange.</p>\n<p dir=\"auto\">Udviklere og partnere kan læse formularsvar, opdatere svar og markere dem som færdige direkte via API'et. Det åbner nye muligheder for at integrere patientrapporterede data med eksterne værktøjer, egne oversigter og automatiserede flows.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9754","title":"Online status in the API","state":"closed","number":9754,"created_at":"2026-06-23T12:06:02Z","repo_name":"Kaddio Application","merged_at":"2026-08-13T09:00:38Z","body":null,"body_html":"<p dir=\"auto\">Developers can now see whether a practitioner is online through the Kaddio API.</p>\n<p dir=\"auto\">This small addition to our GraphQL API makes it easier to build integrations that reflect real-time availability, such as staff dashboards or custom booking flows. No action needed for existing users.</p>","translations":{"en":{"title":"Online status in the API","body_html":"<p dir=\"auto\">Developers can now see whether a practitioner is online through the Kaddio API.</p>\n<p dir=\"auto\">This small addition to our GraphQL API makes it easier to build integrations that reflect real-time availability, such as staff dashboards or custom booking flows. No action needed for existing users.</p>"},"sv":{"title":"Onlinestatus i API:et","body_html":"<p dir=\"auto\">Utvecklare kan nu se om en behandlare är online via Kaddios API.</p>\n<p dir=\"auto\">Det här lilla tillägget i vårt GraphQL-API gör det enklare att bygga integrationer som speglar tillgänglighet i realtid, till exempel personaltavlor eller egna bokningsflöden. Ingen åtgärd krävs för befintliga användare.</p>"},"es":{"title":"Estado en línea en la API","body_html":"<p dir=\"auto\">Los desarrolladores ya pueden ver si un profesional está en línea a través de la API de Kaddio.</p>\n<p dir=\"auto\">Esta pequeña incorporación a nuestra API de GraphQL facilita crear integraciones que reflejen la disponibilidad en tiempo real, como paneles de personal o flujos de reserva personalizados. No se requiere ninguna acción.</p>"},"no":{"title":"Onlinestatus i API-et","body_html":"<p dir=\"auto\">Utviklere kan nå se om en behandler er tilkoblet via Kaddios API.</p>\n<p dir=\"auto\">Dette lille tillegget i vårt GraphQL-API gjør det enklere å bygge integrasjoner som viser tilgjengelighet i sanntid, som personaltavler eller egne bookingløsninger. Ingen handling kreves for eksisterende brukere.</p>"},"dk":{"title":"Onlinestatus i API'et","body_html":"<p dir=\"auto\">Udviklere kan nu se, om en behandler er online via Kaddios API.</p>\n<p dir=\"auto\">Denne lille tilføjelse til vores GraphQL-API gør det nemmere at bygge integrationer, der afspejler tilgængelighed i realtid, som personaleoversigter eller egne bookingflows. Ingen handling er nødvendig for eksisterende brugere.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9730","title":"Improved message handling for integrations","state":"closed","number":9730,"created_at":"2026-06-21T08:30:34Z","repo_name":"Kaddio Application","merged_at":"2026-08-13T08:33:11Z","body":null,"body_html":"<p dir=\"auto\">Messages sent through the Kaddio API now return a unique identifier, making it easier to build reliable integrations with the Chat.</p>\n<p dir=\"auto\">This update helps partners and developers track individual messages after sending them, opening the door for smoother workflows and better third-party tools connected to Kaddio.</p>","translations":{"en":{"title":"Improved message handling for integrations","body_html":"<p dir=\"auto\">Messages sent through the Kaddio API now return a unique identifier, making it easier to build reliable integrations with the Chat.</p>\n<p dir=\"auto\">This update helps partners and developers track individual messages after sending them, opening the door for smoother workflows and better third-party tools connected to Kaddio.</p>"},"sv":{"title":"Förbättrad meddelandehantering för integrationer","body_html":"<p dir=\"auto\">Meddelanden som skickas via Kaddios API returnerar nu ett unikt id, vilket gör det enklare att bygga pålitliga integrationer mot chatten.</p>\n<p dir=\"auto\">Uppdateringen hjälper partners och utvecklare att spåra enskilda meddelanden efter att de skickats, och möjliggör smidigare arbetsflöden och bättre verktyg kopplade till Kaddio.</p>"},"es":{"title":"Mejor gestión de mensajes en integraciones","body_html":"<p dir=\"auto\">Los mensajes enviados a través de la API de Kaddio ahora devuelven un identificador único, facilitando integraciones más fiables con el chat.</p>\n<p dir=\"auto\">Esta mejora permite a socios y desarrolladores hacer seguimiento de los mensajes enviados, abriendo la puerta a flujos de trabajo más ágiles y a mejores herramientas conectadas con Kaddio.</p>"},"no":{"title":"Bedre meldingshåndtering for integrasjoner","body_html":"<p dir=\"auto\">Meldinger sendt via Kaddios API returnerer nå en unik ID, noe som gjør det enklere å bygge pålitelige integrasjoner mot chatten.</p>\n<p dir=\"auto\">Oppdateringen hjelper partnere og utviklere med å spore enkeltmeldinger etter at de er sendt, og legger til rette for smidigere arbeidsflyter og bedre verktøy koblet til Kaddio.</p>"},"dk":{"title":"Bedre beskedhåndtering for integrationer","body_html":"<p dir=\"auto\">Beskeder sendt via Kaddios API returnerer nu et unikt id, hvilket gør det lettere at bygge pålidelige integrationer med chatten.</p>\n<p dir=\"auto\">Opdateringen hjælper partnere og udviklere med at spore enkelte beskeder efter afsendelse og åbner op for smidigere arbejdsgange og bedre værktøjer forbundet til Kaddio.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9915","title":"Reschedule bookings from the calendar","state":"closed","number":9915,"created_at":"2026-08-10T11:32:24Z","repo_name":"Kaddio Application","merged_at":"2026-08-13T07:53:15Z","body":"## Summary\n- Add **Omboka** in the host calendar event-editor Mer dropdown to enter a RESCHEDULE operations mode\n- Preselect Lediga tider (`bookingTypeFilter`) and host `attendeeFilter`, then let hosts pick a free time similar to ClientCal\n- Extend `bookFromHostCal` with `rescheduleFromBookingId` to create the new booking, unbook the old one, and transfer notes/payment/reschedule linkage\n\n## Test plan\n- [x] Open a booking in host calendar → Mer → Omboka\n- [x] Confirm top-field shows “Bokar om” with booking details and filters for free times/host\n- [x] Click a free time → create editor shows Ombokning with client prefilled\n- [x] Confirm Omboka → old booking becomes unbooked/ombokad, new booking opens with rescheduledFrom\n- [x] Cancel reschedule mode from top-field without booking and verify filters clear\n- [x] Regression: create a normal booking from free time without reschedule mode still works\n\n\nMade with [Cursor](https://cursor.com)","body_html":"<p dir=\"auto\">Rescheduling an appointment is now a few clicks away, directly from the host calendar.</p>\n<p dir=\"auto\">In the Booking module, open a booking, choose Reschedule from the More menu, and pick a new free time. The client, booking type, notes and payment carry over automatically, and the original slot is marked as rescheduled.</p>\n<p dir=\"auto\">No setup needed — it is available to all practitioners with calendar access.</p>","translations":{"en":{"title":"Reschedule bookings from the calendar","body_html":"<p dir=\"auto\">Rescheduling an appointment is now a few clicks away, directly from the host calendar.</p>\n<p dir=\"auto\">In the Booking module, open a booking, choose Reschedule from the More menu, and pick a new free time. The client, booking type, notes and payment carry over automatically, and the original slot is marked as rescheduled.</p>\n<p dir=\"auto\">No setup needed — it is available to all practitioners with calendar access.</p>"},"sv":{"title":"Omboka direkt från kalendern","body_html":"<p dir=\"auto\">Att flytta ett besök går nu snabbt, direkt från behandlarens kalender.</p>\n<p dir=\"auto\">I Bokning öppnar du en bokning, väljer Omboka under Mer och klickar sedan på en ledig tid. Klient, bokningstyp, anteckningar och betalning följer automatiskt med, och den gamla tiden markeras som ombokad.</p>\n<p dir=\"auto\">Ingen inställning krävs — funktionen är tillgänglig för alla behandlare med tillgång till kalendern.</p>"},"es":{"title":"Reprogramar citas desde el calendario","body_html":"<p dir=\"auto\">Cambiar la hora de una cita ahora se hace en pocos clics, directamente desde el calendario del profesional.</p>\n<p dir=\"auto\">En el módulo de Reservas, abre una cita, elige Reprogramar en el menú Más y selecciona un nuevo horario libre. El cliente, el tipo de cita, las notas y el pago se transfieren automáticamente, y el horario original queda marcado como reprogramado.</p>\n<p dir=\"auto\">No requiere configuración — está disponible para todos los profesionales con acceso al calendario.</p>"},"no":{"title":"Ombook direkte fra kalenderen","body_html":"<p dir=\"auto\">Å flytte en time går nå raskt, rett fra behandlerens kalender.</p>\n<p dir=\"auto\">I Booking åpner du en time, velger Ombook under Mer, og klikker deretter på en ledig tid. Klient, timetype, notater og betaling følger automatisk med, og den opprinnelige tiden markeres som ombooket.</p>\n<p dir=\"auto\">Ingen oppsett kreves — funksjonen er tilgjengelig for alle behandlere med kalendertilgang.</p>"},"dk":{"title":"Ombook direkte fra kalenderen","body_html":"<p dir=\"auto\">At flytte en aftale går nu hurtigt, direkte fra behandlerens kalender.</p>\n<p dir=\"auto\">I Booking åbner du en aftale, vælger Ombook under Mere og klikker derefter på en ledig tid. Klient, aftaletype, noter og betaling følger automatisk med, og den oprindelige tid markeres som ombooket.</p>\n<p dir=\"auto\">Ingen opsætning kræves — funktionen er tilgængelig for alle behandlere med adgang til kalenderen.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9752","title":"Message read status in API","state":"closed","number":9752,"created_at":"2026-06-23T11:58:48Z","repo_name":"Kaddio Application","merged_at":"2026-08-11T12:04:30Z","body":null,"body_html":"<p dir=\"auto\">Chat messages retrieved via the Kaddio API now include information about who has read each message.</p>\n<p dir=\"auto\">This makes it easier for partners and integrations to build richer communication workflows around Kaddio's chat. No action is needed to benefit from this update.</p>","translations":{"en":{"title":"Message read status in API","body_html":"<p dir=\"auto\">Chat messages retrieved via the Kaddio API now include information about who has read each message.</p>\n<p dir=\"auto\">This makes it easier for partners and integrations to build richer communication workflows around Kaddio's chat. No action is needed to benefit from this update.</p>"},"sv":{"title":"Lässtatus för meddelanden i API","body_html":"<p dir=\"auto\">Chattmeddelanden som hämtas via Kaddios API innehåller nu information om vilka som har läst varje meddelande.</p>\n<p dir=\"auto\">Det gör det enklare för partners och integrationer att bygga smartare kommunikationsflöden kring chatten i Kaddio. Ingen åtgärd krävs.</p>"},"es":{"title":"Estado de lectura en la API","body_html":"<p dir=\"auto\">Los mensajes de chat obtenidos a través de la API de Kaddio ahora incluyen información sobre quién ha leído cada mensaje.</p>\n<p dir=\"auto\">Esto facilita que socios e integraciones creen flujos de comunicación más completos en torno al chat de Kaddio. No se requiere ninguna acción.</p>"},"no":{"title":"Lesestatus for meldinger i API","body_html":"<p dir=\"auto\">Chatmeldinger hentet via Kaddios API inneholder nå informasjon om hvem som har lest hver melding.</p>\n<p dir=\"auto\">Dette gjør det enklere for partnere og integrasjoner å bygge rikere kommunikasjonsflyter rundt chatten i Kaddio. Ingen handling kreves.</p>"},"dk":{"title":"Læsestatus for beskeder i API","body_html":"<p dir=\"auto\">Chatbeskeder hentet via Kaddios API indeholder nu information om, hvem der har læst hver besked.</p>\n<p dir=\"auto\">Det gør det nemmere for partnere og integrationer at bygge rigere kommunikationsflows omkring chatten i Kaddio. Ingen handling er nødvendig.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9911","title":"Booking custom fields in reports","state":"closed","number":9911,"created_at":"2026-08-10T07:48:22Z","repo_name":"Kaddio Application","merged_at":"2026-08-11T08:29:40Z","body":null,"body_html":"<p dir=\"auto\">Custom fields on bookings now appear in the bookings report, giving a fuller picture of each appointment.</p>\n<p dir=\"auto\">In the Reports module, any custom field tied to a booking is included as its own column when you export or view the bookings report. This makes it easier to follow up on the details that matter to your clinic, without leaving Kaddio.</p>","translations":{"en":{"title":"Booking custom fields in reports","body_html":"<p dir=\"auto\">Custom fields on bookings now appear in the bookings report, giving a fuller picture of each appointment.</p>\n<p dir=\"auto\">In the Reports module, any custom field tied to a booking is included as its own column when you export or view the bookings report. This makes it easier to follow up on the details that matter to your clinic, without leaving Kaddio.</p>"},"sv":{"title":"Anpassade fält i bokningsrapport","body_html":"<p dir=\"auto\">Anpassade fält på bokningar visas nu i bokningsrapporten och ger en tydligare bild av varje besök.</p>\n<p dir=\"auto\">I rapportmodulen inkluderas varje eget fält kopplat till bokningar som en egen kolumn när du tar fram eller exporterar bokningsrapporten. Det gör det enklare att följa upp de detaljer som är viktiga för just din verksamhet.</p>"},"es":{"title":"Campos personalizados en informes","body_html":"<p dir=\"auto\">Los campos personalizados de las reservas ahora aparecen en el informe de reservas, ofreciendo una visión más completa de cada cita.</p>\n<p dir=\"auto\">En el módulo de Informes, cada campo personalizado vinculado a una reserva se incluye como una columna propia al ver o exportar el informe. Así es más fácil hacer seguimiento de los detalles importantes para tu clínica.</p>"},"no":{"title":"Egne felt i bookingrapport","body_html":"<p dir=\"auto\">Egne felt på bookinger vises nå i bookingrapporten og gir et tydeligere bilde av hver time.</p>\n<p dir=\"auto\">I rapportmodulen inkluderes hvert eget felt knyttet til en booking som en egen kolonne når du henter eller eksporterer bookingrapporten. Det gjør det enklere å følge opp detaljene som er viktige for klinikken din.</p>"},"dk":{"title":"Egne felter i bookingrapport","body_html":"<p dir=\"auto\">Egne felter på bookinger vises nu i bookingrapporten og giver et klarere billede af hver aftale.</p>\n<p dir=\"auto\">I rapportmodulet medtages hvert eget felt tilknyttet en booking som sin egen kolonne, når du henter eller eksporterer bookingrapporten. Det gør det nemmere at følge op på de detaljer, der er vigtige for din klinik.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9869","title":"Line breaks kept in journal PDFs","state":"closed","number":9869,"created_at":"2026-07-22T20:29:05Z","repo_name":"Kaddio Application","merged_at":"2026-07-24T19:31:15Z","body":"Behåller radbryt om kunden gjort sådana i journalen.","body_html":"<p dir=\"auto\">Journal PDFs now preserve the line breaks you added when writing your notes, making them easier to read.</p>\n<p dir=\"auto\">When exporting or printing a contact from the Journal, paragraphs, lists and spacing in notes, diagnoses and custom fields now appear just as you typed them.</p>","translations":{"en":{"title":"Line breaks kept in journal PDFs","body_html":"<p dir=\"auto\">Journal PDFs now preserve the line breaks you added when writing your notes, making them easier to read.</p>\n<p dir=\"auto\">When exporting or printing a contact from the Journal, paragraphs, lists and spacing in notes, diagnoses and custom fields now appear just as you typed them.</p>"},"sv":{"title":"Radbrytningar bevaras i journal-PDF","body_html":"<p dir=\"auto\">Journal-PDF:er behåller nu radbrytningarna du gjort i dina anteckningar, vilket gör dem enklare att läsa.</p>\n<p dir=\"auto\">När du exporterar eller skriver ut en kontakt från Journal visas stycken, listor och mellanrum i anteckningar, diagnoser och anpassade fält precis som du skrev dem.</p>"},"es":{"title":"Saltos de línea en PDF de historial","body_html":"<p dir=\"auto\">Los PDF del historial clínico ahora conservan los saltos de línea que añades en tus notas, facilitando la lectura.</p>\n<p dir=\"auto\">Al exportar o imprimir un contacto desde el módulo de Historial, los párrafos, listas y espacios en notas, diagnósticos y campos personalizados se muestran tal como los escribiste.</p>"},"no":{"title":"Linjeskift beholdes i journal-PDF","body_html":"<p dir=\"auto\">Journal-PDF-er beholder nå linjeskiftene du la til i notatene dine, slik at de blir enklere å lese.</p>\n<p dir=\"auto\">Når du eksporterer eller skriver ut en kontakt fra Journal, vises avsnitt, lister og mellomrom i notater, diagnoser og egendefinerte felt akkurat slik du skrev dem.</p>"},"dk":{"title":"Linjeskift bevares i journal-PDF","body_html":"<p dir=\"auto\">Journal-PDF'er bevarer nu de linjeskift, du har lavet i dine noter, så de er lettere at læse.</p>\n<p dir=\"auto\">Når du eksporterer eller udskriver en kontakt fra Journal, vises afsnit, lister og mellemrum i noter, diagnoser og tilpassede felter præcis som du skrev dem.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9460","title":"New AI assistant connection","state":"closed","number":9460,"created_at":"2026-05-10T10:28:59Z","repo_name":"Kaddio Application","merged_at":"2026-07-24T19:30:40Z","body":"Denna är tokigt cool. Helt safe då den endast går på vårt GraphQL och endast vi kan aktivera","body_html":"<p dir=\"auto\">Kaddio now supports MCP, a new way to connect AI assistants directly to your clinic's data through our API.</p>\n<p dir=\"auto\">This add-on lets modern AI tools securely read and work with information from Kaddio on your behalf, opening up new possibilities for smart integrations and automation. Requires the API and Kaddio AI modules. Contact Kaddio support to activate.</p>","translations":{"en":{"title":"New AI assistant connection","body_html":"<p dir=\"auto\">Kaddio now supports MCP, a new way to connect AI assistants directly to your clinic's data through our API.</p>\n<p dir=\"auto\">This add-on lets modern AI tools securely read and work with information from Kaddio on your behalf, opening up new possibilities for smart integrations and automation. Requires the API and Kaddio AI modules. Contact Kaddio support to activate.</p>"},"sv":{"title":"Ny koppling för AI-assistenter","body_html":"<p dir=\"auto\">Kaddio stödjer nu MCP, ett nytt sätt att koppla AI-assistenter direkt till klinikens data via vårt API.</p>\n<p dir=\"auto\">Tillägget låter moderna AI-verktyg säkert läsa och arbeta med information i Kaddio åt dig, vilket öppnar för smarta integrationer och automatiseringar. Kräver modulerna API och Kaddio AI. Kontakta Kaddios support för att aktivera.</p>"},"es":{"title":"Nueva conexión para asistentes IA","body_html":"<p dir=\"auto\">Kaddio ahora admite MCP, una nueva forma de conectar asistentes de IA directamente con los datos de tu clínica a través de nuestra API.</p>\n<p dir=\"auto\">Este complemento permite que herramientas modernas de IA lean y trabajen de forma segura con información de Kaddio en tu nombre, abriendo nuevas posibilidades para integraciones inteligentes y automatización. Requiere los módulos API y Kaddio AI. Contacta con el soporte de Kaddio para activarlo.</p>"},"no":{"title":"Ny tilkobling for AI-assistenter","body_html":"<p dir=\"auto\">Kaddio støtter nå MCP, en ny måte å koble AI-assistenter direkte til klinikkens data via vårt API.</p>\n<p dir=\"auto\">Tillegget lar moderne AI-verktøy trygt lese og arbeide med informasjon i Kaddio på dine vegne, og åpner for smarte integrasjoner og automatisering. Krever modulene API og Kaddio AI. Kontakt Kaddios support for å aktivere.</p>"},"dk":{"title":"Ny forbindelse til AI-assistenter","body_html":"<p dir=\"auto\">Kaddio understøtter nu MCP, en ny måde at forbinde AI-assistenter direkte med klinikkens data via vores API.</p>\n<p dir=\"auto\">Tilføjelsen lader moderne AI-værktøjer sikkert læse og arbejde med information i Kaddio på dine vegne og åbner for smarte integrationer og automatisering. Kræver modulerne API og Kaddio AI. Kontakt Kaddios support for at aktivere.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9859","title":"Launch local programs from Kaddio","state":"closed","number":9859,"created_at":"2026-07-18T09:26:31Z","repo_name":"Kaddio Application","merged_at":"2026-07-20T12:22:20Z","body":null,"body_html":"<p dir=\"auto\">Kaddio Bridge is here in beta. Start locally installed programs directly from Kaddio, with client details passed along automatically.</p>\n<p dir=\"auto\">Define which programs should be available, and they appear in your sidebar. When launched, Kaddio can send information like the active client's name or personal number as arguments — perfect for imaging tools, dictation software, or any application that supports command-line arguments.</p>\n<p dir=\"auto\">Works on macOS, Windows and Linux. Requires the Kaddio Bridge helper to be installed on your computer. Activate the module under Settings to get started.</p>","translations":{"en":{"title":"Launch local programs from Kaddio","body_html":"<p dir=\"auto\">Kaddio Bridge is here in beta. Start locally installed programs directly from Kaddio, with client details passed along automatically.</p>\n<p dir=\"auto\">Define which programs should be available, and they appear in your sidebar. When launched, Kaddio can send information like the active client's name or personal number as arguments — perfect for imaging tools, dictation software, or any application that supports command-line arguments.</p>\n<p dir=\"auto\">Works on macOS, Windows and Linux. Requires the Kaddio Bridge helper to be installed on your computer. Activate the module under Settings to get started.</p>"},"sv":{"title":"Starta lokala program från Kaddio","body_html":"<p dir=\"auto\">Kaddio Bridge finns nu i beta. Starta lokalt installerade program direkt från Kaddio, med kunduppgifter som skickas med automatiskt.</p>\n<p dir=\"auto\">Definiera vilka program som ska vara tillgängliga så dyker de upp i sidopanelen. När ett program startas kan Kaddio skicka med information som aktiv kunds namn eller personnummer som argument — perfekt för röntgenprogram, diktering eller andra applikationer som stödjer argument.</p>\n<p dir=\"auto\">Fungerar på macOS, Windows och Linux. Kräver att hjälpprogrammet Kaddio Bridge är installerat på datorn. Aktivera modulen under Inställningar för att komma igång.</p>"},"es":{"title":"Inicia programas locales desde Kaddio","body_html":"<p dir=\"auto\">Kaddio Bridge llega en versión beta. Inicia programas instalados localmente directamente desde Kaddio, con los datos del cliente enviados…</p>\n<p dir=\"auto\">Define qué programas estarán disponibles y aparecerán en tu barra lateral. Al iniciarlos, Kaddio puede enviar información como el nombre o número de identificación del cliente activo como argumentos — ideal para programas de imagen, dictado u otras aplicaciones que admitan argumentos.</p>\n<p dir=\"auto\">Funciona en macOS, Windows y Linux. Requiere que Kaddio Bridge esté instalado en el ordenador. Activa el módulo en Ajustes para empezar.</p>"},"no":{"title":"Start lokale programmer fra Kaddio","body_html":"<p dir=\"auto\">Kaddio Bridge er her i beta. Start lokalt installerte programmer direkte fra Kaddio, med klientinformasjon som sendes med automatisk.</p>\n<p dir=\"auto\">Definer hvilke programmer som skal være tilgjengelige, så dukker de opp i sidepanelet. Når et program startes kan Kaddio sende med informasjon som aktiv klients navn eller personnummer som argumenter — perfekt for røntgenprogrammer, diktering eller andre applikasjoner som støtter argumenter.</p>\n<p dir=\"auto\">Fungerer på macOS, Windows og Linux. Krever at hjelpeprogrammet Kaddio Bridge er installert på datamaskinen. Aktiver modulen under Innstillinger for å komme i gang.</p>"},"dk":{"title":"Start lokale programmer fra Kaddio","body_html":"<p dir=\"auto\">Kaddio Bridge er her i beta. Start lokalt installerede programmer direkte fra Kaddio, med klientoplysninger sendt med automatisk.</p>\n<p dir=\"auto\">Definer hvilke programmer der skal være tilgængelige, så dukker de op i sidepanelet. Når et program startes, kan Kaddio sende oplysninger som aktiv klients navn eller personnummer med som argumenter — perfekt til røntgenprogrammer, diktering eller andre applikationer der understøtter argumenter.</p>\n<p dir=\"auto\">Fungerer på macOS, Windows og Linux. Kræver at hjælpeprogrammet Kaddio Bridge er installeret på computeren. Aktivér modulet under Indstillinger for at komme i gang.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9455","title":"Introducing Kaddio Recorder","state":"closed","number":9455,"created_at":"2026-05-08T09:52:25Z","repo_name":"Kaddio Application","merged_at":"2026-07-20T10:13:54Z","body":"Ny modul\r\n<img width=\"531\" height=\"438\" alt=\"Screenshot 2026-05-14 at 22 12 24\" src=\"https://github.com/user-attachments/assets/9347c3fd-fced-4502-8a9b-90f01eda0198\" />\r\n\r\nByggd för Lifetrack","body_html":"<p dir=\"auto\">Record your screen, camera, or voice and share the clip straight into a chat or journal — perfect for personal instructions and feedback.</p>\n<p dir=\"auto\">Kaddio Recorder is a brand new module (currently in beta) that lets you capture short video and audio messages without leaving Kaddio. Choose between screen and camera, screen only, camera only, or audio only, and pick the setup that best fits what you want to show or explain.</p>\n<p dir=\"auto\">Once your clip is ready, share it directly to a colleague or client via chat, or attach it to a journal contact. Great for walking a client through an exercise, explaining test results, or leaving a quick voice note for a coworker. Activate Kaddio Recorder under module settings when you're ready to try it.</p>","translations":{"en":{"title":"Introducing Kaddio Recorder","body_html":"<p dir=\"auto\">Record your screen, camera, or voice and share the clip straight into a chat or journal — perfect for personal instructions and feedback.</p>\n<p dir=\"auto\">Kaddio Recorder is a brand new module (currently in beta) that lets you capture short video and audio messages without leaving Kaddio. Choose between screen and camera, screen only, camera only, or audio only, and pick the setup that best fits what you want to show or explain.</p>\n<p dir=\"auto\">Once your clip is ready, share it directly to a colleague or client via chat, or attach it to a journal contact. Great for walking a client through an exercise, explaining test results, or leaving a quick voice note for a coworker. Activate Kaddio Recorder under module settings when you're ready to try it.</p>"},"sv":{"title":"Nyhet: Kaddio Recorder","body_html":"<p dir=\"auto\">Spela in skärm, kamera eller ljud och skicka klippet direkt i chatt eller journal – perfekt för personliga instruktioner och feedback.</p>\n<p dir=\"auto\">Kaddio Recorder är en helt ny modul (just nu i beta) som låter dig göra korta video- och ljudklipp utan att lämna Kaddio. Välj mellan skärm och kamera, enbart skärm, enbart kamera eller enbart ljud, beroende på vad som passar bäst för det du vill visa eller förklara.</p>\n<p dir=\"auto\">När klippet är klart delar du det direkt till en kollega eller klient via chatten, eller lägger det som en fil i journalen. Bra för att guida en klient genom en övning, förklara ett provsvar eller lämna en snabb röstanteckning till en kollega. Aktivera Kaddio Recorder under modulinställningar när du vill testa.</p>"},"es":{"title":"Presentamos Kaddio Recorder","body_html":"<p dir=\"auto\">Graba tu pantalla, cámara o voz y comparte el clip directamente en el chat o el historial clínico, ideal para instrucciones personales.</p>\n<p dir=\"auto\">Kaddio Recorder es un nuevo módulo (actualmente en beta) que permite crear mensajes de vídeo y audio breves sin salir de Kaddio. Elige entre pantalla y cámara, solo pantalla, solo cámara o solo audio, según lo que quieras mostrar o explicar.</p>\n<p dir=\"auto\">Cuando el clip esté listo, compártelo con un compañero o con un cliente por chat, o adjúntalo a un contacto en el historial clínico. Perfecto para guiar a un cliente en un ejercicio, comentar resultados o dejar una nota de voz rápida a un colega. Actívalo en la configuración de módulos cuando quieras probarlo.</p>"},"no":{"title":"Ny modul: Kaddio Recorder","body_html":"<p dir=\"auto\">Spill inn skjerm, kamera eller lyd og del klippet rett i chat eller journal – perfekt for personlige instruksjoner og tilbakemeldinger.</p>\n<p dir=\"auto\">Kaddio Recorder er en helt ny modul (foreløpig i beta) som lar deg lage korte video- og lydklipp uten å forlate Kaddio. Velg mellom skjerm og kamera, kun skjerm, kun kamera eller kun lyd, alt etter hva som passer best for det du vil vise eller forklare.</p>\n<p dir=\"auto\">Når klippet er klart, kan du sende det direkte til en kollega eller klient via chatten, eller legge det som en fil i journalen. Fint for å veilede en klient gjennom en øvelse, forklare prøvesvar eller sende en rask talebeskjed til en kollega. Aktiver Kaddio Recorder under modulinnstillinger når du vil prøve.</p>"},"dk":{"title":"Ny modul: Kaddio Recorder","body_html":"<p dir=\"auto\">Optag skærm, kamera eller lyd, og del klippet direkte i chat eller journal – ideelt til personlige instruktioner og feedback.</p>\n<p dir=\"auto\">Kaddio Recorder er et helt nyt modul (i øjeblikket i beta), der giver dig mulighed for at lave korte video- og lydklip uden at forlade Kaddio. Vælg mellem skærm og kamera, kun skærm, kun kamera eller kun lyd, alt efter hvad der passer bedst til det, du vil vise eller forklare.</p>\n<p dir=\"auto\">Når klippet er klar, kan du dele det direkte med en kollega eller klient via chatten eller vedhæfte det til en journalkontakt. Perfekt til at guide en klient gennem en øvelse, forklare prøvesvar eller efterlade en hurtig talebesked til en kollega. Aktivér Kaddio Recorder under modulindstillinger, når du vil prøve det.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9856","title":"Cleaner journal printouts","state":"closed","number":9856,"created_at":"2026-07-16T15:11:32Z","repo_name":"Kaddio Application","merged_at":"2026-07-17T10:01:10Z","body":"Helt ny layout för Journal-pdf, ingen css, inga fonts, bara standard-HTML, text flödar perfekt över sidbryt.\r\n\r\nEmma Krantz m.fl","body_html":"<p dir=\"auto\">Journal PDFs now offer a new standard print layout for better readability, with text that flows naturally across page breaks.</p>\n<p dir=\"auto\">In the Journal module, you can now choose between the classic layout and the new standard layout when printing or exporting a contact or full journal. The standard layout uses clean, simple formatting that prints reliably on any device.</p>","translations":{"en":{"title":"Cleaner journal printouts","body_html":"<p dir=\"auto\">Journal PDFs now offer a new standard print layout for better readability, with text that flows naturally across page breaks.</p>\n<p dir=\"auto\">In the Journal module, you can now choose between the classic layout and the new standard layout when printing or exporting a contact or full journal. The standard layout uses clean, simple formatting that prints reliably on any device.</p>"},"sv":{"title":"Renare journalutskrifter","body_html":"<p dir=\"auto\">Journal-PDF:er har nu en ny standardlayout för utskrift med bättre läsbarhet och text som flödar naturligt över sidbryt.</p>\n<p dir=\"auto\">I Journal kan du välja mellan den klassiska layouten och den nya standardlayouten när du skriver ut eller exporterar en kontakt eller hela journalen. Standardlayouten använder enkel formatering som fungerar pålitligt vid utskrift.</p>"},"es":{"title":"Impresiones de historial más claras","body_html":"<p dir=\"auto\">Los PDF del historial clínico cuentan con un nuevo diseño estándar para mejorar la legibilidad, con texto que fluye de forma natural entre páginas.</p>\n<p dir=\"auto\">En el módulo de Historial ahora puedes elegir entre el diseño clásico y el nuevo diseño estándar al imprimir o exportar un contacto o el historial completo. El diseño estándar utiliza un formato sencillo y fiable para cualquier impresión.</p>"},"no":{"title":"Renere journalutskrifter","body_html":"<p dir=\"auto\">Journal-PDF-er har nå en ny standardlayout for utskrift med bedre lesbarhet og tekst som flyter naturlig over sidebrudd.</p>\n<p dir=\"auto\">I Journal kan du velge mellom den klassiske layouten og den nye standardlayouten når du skriver ut eller eksporterer en kontakt eller hele journalen. Standardlayouten bruker enkel formatering som fungerer pålitelig ved utskrift.</p>"},"dk":{"title":"Renere journaludskrifter","body_html":"<p dir=\"auto\">Journal-PDF'er har nu et nyt standardlayout til udskrift med bedre læsbarhed og tekst, der flyder naturligt over sideskift.</p>\n<p dir=\"auto\">I Journal kan du vælge mellem det klassiske layout og det nye standardlayout, når du udskriver eller eksporterer en kontakt eller hele journalen. Standardlayoutet bruger enkel formatering, der fungerer pålideligt ved udskrift.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9803","title":"Smoother bookings with Kuralink","state":"closed","number":9803,"created_at":"2026-06-28T17:01:33Z","repo_name":"Kaddio Application","merged_at":"2026-06-28T17:02:05Z","body":null,"body_html":"<p dir=\"auto\">Bookings now go through more reliably when Kuralink is connected, even if the external system is temporarily unavailable.</p>\n<p dir=\"auto\">In the Booking module, only appointment types tied directly to Kuralink will halt on a connection issue. Other booking types continue as normal, so your clinic keeps running smoothly. No action needed.</p>","translations":{"en":{"title":"Smoother bookings with Kuralink","body_html":"<p dir=\"auto\">Bookings now go through more reliably when Kuralink is connected, even if the external system is temporarily unavailable.</p>\n<p dir=\"auto\">In the Booking module, only appointment types tied directly to Kuralink will halt on a connection issue. Other booking types continue as normal, so your clinic keeps running smoothly. No action needed.</p>"},"sv":{"title":"Smidigare bokningar med Kuralink","body_html":"<p dir=\"auto\">Bokningar går igenom mer tillförlitligt när Kuralink är anslutet, även om det externa systemet tillfälligt är otillgängligt.</p>\n<p dir=\"auto\">I bokningsmodulen är det bara behandlingsformer som är direkt kopplade till Kuralink som stoppas vid ett anslutningsproblem. Övriga bokningstyper fortsätter som vanligt så att kliniken kan jobba på. Ingen åtgärd krävs.</p>"},"es":{"title":"Reservas más fluidas con Kuralink","body_html":"<p dir=\"auto\">Las reservas se procesan con mayor fiabilidad cuando Kuralink está conectado, incluso si el sistema externo no está disponible temporalmente.</p>\n<p dir=\"auto\">En el módulo de Reservas, solo los tipos de cita vinculados directamente a Kuralink se detendrán ante un problema de conexión. El resto de tipos de reserva continúan con normalidad, para que la clínica siga funcionando sin interrupciones. No se requiere ninguna acción.</p>"},"no":{"title":"Smidigere bookinger med Kuralink","body_html":"<p dir=\"auto\">Bookinger går gjennom mer pålitelig når Kuralink er tilkoblet, selv om det eksterne systemet er midlertidig utilgjengelig.</p>\n<p dir=\"auto\">I bookingmodulen er det kun behandlingsformer som er direkte koblet til Kuralink som stoppes ved et tilkoblingsproblem. Andre bookingtyper fortsetter som normalt, slik at klinikken kan jobbe videre. Ingen handling kreves.</p>"},"dk":{"title":"Mere smidige bookinger med Kuralink","body_html":"<p dir=\"auto\">Bookinger gennemføres mere pålideligt, når Kuralink er forbundet, også selvom det eksterne system midlertidigt er utilgængeligt.</p>\n<p dir=\"auto\">I bookingmodulet er det kun behandlingsformer, der er direkte koblet til Kuralink, som stoppes ved et forbindelsesproblem. Øvrige bookingtyper fortsætter som normalt, så klinikken kan arbejde videre. Ingen handling påkrævet.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9786","title":"Smoother waiting list updates","state":"closed","number":9786,"created_at":"2026-06-25T18:53:57Z","repo_name":"Kaddio Application","merged_at":"2026-06-26T11:38:31Z","body":null,"body_html":"<p dir=\"auto\">Editing waiting lists is now quicker and lighter, with fewer hiccups when many clients are on the list.</p>\n<p dir=\"auto\">We've refined how changes to waiting lists are saved behind the scenes, so only what actually changed gets sent. The result is a more responsive experience when managing queues in Booking. No action needed.</p>","translations":{"en":{"title":"Smoother waiting list updates","body_html":"<p dir=\"auto\">Editing waiting lists is now quicker and lighter, with fewer hiccups when many clients are on the list.</p>\n<p dir=\"auto\">We've refined how changes to waiting lists are saved behind the scenes, so only what actually changed gets sent. The result is a more responsive experience when managing queues in Booking. No action needed.</p>"},"sv":{"title":"Smidigare väntelistor","body_html":"<p dir=\"auto\">Att uppdatera väntelistor går nu snabbare och smidigare, även när listan innehåller många klienter.</p>\n<p dir=\"auto\">Vi har förbättrat hur ändringar sparas i bakgrunden så att endast det som faktiskt ändrats skickas vidare. Det ger en mer responsiv upplevelse när du hanterar köer i bokningen. Ingen åtgärd krävs.</p>"},"es":{"title":"Listas de espera más ágiles","body_html":"<p dir=\"auto\">Actualizar las listas de espera es ahora más rápido y fluido, incluso cuando hay muchos clientes en la lista.</p>\n<p dir=\"auto\">Hemos mejorado cómo se guardan los cambios entre bastidores para enviar solo lo que realmente se ha modificado. El resultado es una experiencia más ágil al gestionar colas en Reservas. No se requiere ninguna acción.</p>"},"no":{"title":"Smidigere ventelister","body_html":"<p dir=\"auto\">Å oppdatere ventelister går nå raskere og smidigere, også når listen inneholder mange klienter.</p>\n<p dir=\"auto\">Vi har forbedret hvordan endringer lagres i bakgrunnen, slik at kun det som faktisk er endret sendes videre. Det gir en mer responsiv opplevelse når du håndterer køer i Booking. Ingen handling kreves.</p>"},"dk":{"title":"Smidigere ventelister","body_html":"<p dir=\"auto\">At opdatere ventelister går nu hurtigere og mere smidigt, selv når listen indeholder mange klienter.</p>\n<p dir=\"auto\">Vi har forbedret, hvordan ændringer gemmes i baggrunden, så kun det, der faktisk er ændret, sendes videre. Det giver en mere responsiv oplevelse, når du håndterer køer i Booking. Ingen handling er nødvendig.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9760","title":"Set payment date via API","state":"closed","number":9760,"created_at":"2026-06-24T08:05:11Z","repo_name":"Kaddio Application","merged_at":"2026-06-26T11:31:13Z","body":null,"body_html":"<p dir=\"auto\">Invoicing API now supports setting a custom payment date when marking an invoice as paid.</p>\n<p dir=\"auto\">Integrations can specify exactly when an invoice was settled, instead of defaulting to today. The API also validates that the bookkeeping account exists before updating the invoice, helping keep your accounting clean and accurate.</p>","translations":{"en":{"title":"Set payment date via API","body_html":"<p dir=\"auto\">Invoicing API now supports setting a custom payment date when marking an invoice as paid.</p>\n<p dir=\"auto\">Integrations can specify exactly when an invoice was settled, instead of defaulting to today. The API also validates that the bookkeeping account exists before updating the invoice, helping keep your accounting clean and accurate.</p>"},"sv":{"title":"Ange betaldatum via API","body_html":"<p dir=\"auto\">Faktura-API:t stödjer nu att ange ett eget betaldatum när en faktura markeras som betald.</p>\n<p dir=\"auto\">Integrationer kan ange exakt när fakturan reglerades istället för att alltid använda dagens datum. API:t kontrollerar också att bokföringskontot finns innan fakturan uppdateras, vilket håller bokföringen ren och korrekt.</p>"},"es":{"title":"Fecha de pago vía API","body_html":"<p dir=\"auto\">La API de Facturación ahora permite definir una fecha de pago personalizada al marcar una factura como pagada.</p>\n<p dir=\"auto\">Las integraciones pueden indicar exactamente cuándo se liquidó la factura, en lugar de usar siempre la fecha actual. La API también valida que la cuenta contable exista antes de actualizar la factura, manteniendo la contabilidad limpia y precisa.</p>"},"no":{"title":"Sett betalingsdato via API","body_html":"<p dir=\"auto\">Faktura-API-et støtter nå å sette en egen betalingsdato når en faktura markeres som betalt.</p>\n<p dir=\"auto\">Integrasjoner kan angi nøyaktig når fakturaen ble gjort opp, i stedet for å alltid bruke dagens dato. API-et sjekker også at regnskapskontoen finnes før fakturaen oppdateres, slik at regnskapet holdes ryddig og korrekt.</p>"},"dk":{"title":"Angiv betalingsdato via API","body_html":"<p dir=\"auto\">Faktura-API'et understøtter nu, at man kan angive en specifik betalingsdato, når en faktura markeres som betalt.</p>\n<p dir=\"auto\">Integrationer kan angive præcis, hvornår fakturaen blev betalt, i stedet for altid at bruge dagens dato. API'et kontrollerer også, at bogføringskontoen findes, før fakturaen opdateres, så bogføringen forbliver ren og korrekt.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9741","title":"Faster API connections","state":"closed","number":9741,"created_at":"2026-06-22T16:28:47Z","repo_name":"Kaddio Application","merged_at":"2026-06-22T16:29:34Z","body":null,"body_html":"<p dir=\"auto\">Behind-the-scenes improvements make integrations connecting to Kaddio respond more quickly and reliably.</p>\n<p dir=\"auto\">If your clinic uses external tools or partner systems that link into Kaddio, those connections now run more smoothly. No action is needed.</p>","translations":{"en":{"title":"Faster API connections","body_html":"<p dir=\"auto\">Behind-the-scenes improvements make integrations connecting to Kaddio respond more quickly and reliably.</p>\n<p dir=\"auto\">If your clinic uses external tools or partner systems that link into Kaddio, those connections now run more smoothly. No action is needed.</p>"},"sv":{"title":"Snabbare API-anslutningar","body_html":"<p dir=\"auto\">Förbättringar bakom kulisserna gör att integrationer som ansluter till Kaddio svarar snabbare och mer pålitligt.</p>\n<p dir=\"auto\">Om din mottagning använder externa verktyg eller partnersystem som kopplas till Kaddio fungerar de nu smidigare.</p>"},"es":{"title":"Conexiones API más rápidas","body_html":"<p dir=\"auto\">Mejoras internas hacen que las integraciones conectadas a Kaddio respondan con mayor rapidez y fiabilidad.</p>\n<p dir=\"auto\">Si tu clínica utiliza herramientas externas o sistemas asociados vinculados a Kaddio, ahora funcionan con mayor fluidez.</p>"},"no":{"title":"Raskere API-tilkoblinger","body_html":"<p dir=\"auto\">Forbedringer bak kulissene gjør at integrasjoner som kobles til Kaddio svarer raskere og mer pålitelig.</p>\n<p dir=\"auto\">Hvis klinikken bruker eksterne verktøy eller partnersystemer koblet til Kaddio, fungerer disse nå smidigere.</p>"},"dk":{"title":"Hurtigere API-forbindelser","body_html":"<p dir=\"auto\">Forbedringer bag kulisserne gør, at integrationer, der forbinder til Kaddio, svarer hurtigere og mere pålideligt.</p>\n<p dir=\"auto\">Hvis din klinik bruger eksterne værktøjer eller partnersystemer koblet til Kaddio, kører de nu mere smidigt.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9740","title":"Test mode for card terminal","state":"closed","number":9740,"created_at":"2026-06-22T14:47:26Z","repo_name":"Kaddio Application","merged_at":"2026-06-22T16:29:05Z","body":null,"body_html":"<p dir=\"auto\">Try out your Stripe card terminal in Kaddio without charging real money.</p>\n<p dir=\"auto\">A new test mode for Stripe Terminal lets you run a card terminal payment that only authorizes the card — no funds are drawn, and the authorization is released after 7 days. Perfect for trying out the flow, training staff, or verifying setup.</p>\n<p dir=\"auto\">You'll find the toggle under Booking payment settings, alongside your existing Stripe Terminal options.</p>","translations":{"en":{"title":"Test mode for card terminal","body_html":"<p dir=\"auto\">Try out your Stripe card terminal in Kaddio without charging real money.</p>\n<p dir=\"auto\">A new test mode for Stripe Terminal lets you run a card terminal payment that only authorizes the card — no funds are drawn, and the authorization is released after 7 days. Perfect for trying out the flow, training staff, or verifying setup.</p>\n<p dir=\"auto\">You'll find the toggle under Booking payment settings, alongside your existing Stripe Terminal options.</p>"},"sv":{"title":"Testläge för kortterminal","body_html":"<p dir=\"auto\">Prova din Stripe-kortterminal i Kaddio utan att dra några riktiga pengar.</p>\n<p dir=\"auto\">Med det nya testläget för Stripe Terminal görs endast en auktorisering av kortet – inga pengar dras, och auktoriseringen släpps automatiskt efter 7 dagar. Smidigt för att testa flödet, lära upp personal eller verifiera installationen.</p>\n<p dir=\"auto\">Inställningen hittar du under betalningsinställningarna för Bokning, tillsammans med dina övriga Stripe Terminal-alternativ.</p>"},"es":{"title":"Modo de prueba para terminal","body_html":"<p dir=\"auto\">Prueba tu terminal de tarjeta Stripe en Kaddio sin cobrar dinero real.</p>\n<p dir=\"auto\">El nuevo modo de prueba de Stripe Terminal realiza solo una autorización de la tarjeta: no se cobra ningún importe y la autorización se libera tras 7 días. Ideal para probar el flujo, formar al personal o verificar la configuración.</p>\n<p dir=\"auto\">Encontrarás la opción en los ajustes de pago de Reservas, junto a las demás opciones de Stripe Terminal.</p>"},"no":{"title":"Testmodus for kortterminal","body_html":"<p dir=\"auto\">Prøv Stripe-kortterminalen i Kaddio uten å trekke ekte penger.</p>\n<p dir=\"auto\">Med den nye testmodusen for Stripe Terminal gjøres kun en autorisering av kortet – ingen penger trekkes, og autoriseringen frigis automatisk etter 7 dager. Praktisk for å teste flyten, lære opp ansatte eller verifisere oppsettet.</p>\n<p dir=\"auto\">Du finner innstillingen under betalingsinnstillingene for Booking, sammen med de andre Stripe Terminal-valgene.</p>"},"dk":{"title":"Testtilstand for kortterminal","body_html":"<p dir=\"auto\">Afprøv din Stripe-kortterminal i Kaddio uden at trække rigtige penge.</p>\n<p dir=\"auto\">Den nye testtilstand til Stripe Terminal foretager kun en autorisation af kortet – der trækkes ingen penge, og autorisationen frigives automatisk efter 7 dage. Perfekt til at afprøve flowet, oplære personale eller verificere opsætningen.</p>\n<p dir=\"auto\">Du finder indstillingen under betalingsindstillingerne for Booking, sammen med dine øvrige Stripe Terminal-valg.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9731","title":"Refreshed demo experience","state":"closed","number":9731,"created_at":"2026-06-21T14:47:40Z","repo_name":"Kaddio Application","merged_at":"2026-06-22T07:05:39Z","body":"Anpassa demokliniken för att användas internationellt.","body_html":"<p dir=\"auto\">Our demo clinic has a new look and works better for visitors from around the world.</p>\n<p dir=\"auto\">The welcome screen is clearer, with separate paths for trying Kaddio as a practitioner or as a client. The demo also adapts to your browser language automatically, so you land in a familiar setting from the start.</p>\n<p dir=\"auto\">No action is needed — just visit the demo to take a look.</p>","translations":{"en":{"title":"Refreshed demo experience","body_html":"<p dir=\"auto\">Our demo clinic has a new look and works better for visitors from around the world.</p>\n<p dir=\"auto\">The welcome screen is clearer, with separate paths for trying Kaddio as a practitioner or as a client. The demo also adapts to your browser language automatically, so you land in a familiar setting from the start.</p>\n<p dir=\"auto\">No action is needed — just visit the demo to take a look.</p>"},"sv":{"title":"Förnyad demoupplevelse","body_html":"<p dir=\"auto\">Vår demoklinik har fått ett nytt utseende och fungerar bättre för besökare från hela världen.</p>\n<p dir=\"auto\">Välkomstvyn är tydligare med separata vägar för att testa Kaddio som behandlare eller som klient. Demon anpassar sig dessutom automatiskt efter webbläsarens språk, så att du landar i en bekant miljö direkt.</p>"},"es":{"title":"Demo renovada","body_html":"<p dir=\"auto\">Nuestra clínica de demostración estrena diseño y funciona mejor para visitantes de todo el mundo.</p>\n<p dir=\"auto\">La pantalla de bienvenida es más clara, con caminos separados para probar Kaddio como profesional o como cliente. La demo también se adapta automáticamente al idioma del navegador.</p>"},"no":{"title":"Fornyet demoopplevelse","body_html":"<p dir=\"auto\">Demoklinikken vår har fått nytt utseende og fungerer bedre for besøkende fra hele verden.</p>\n<p dir=\"auto\">Velkomstsiden er tydeligere, med egne veier for å prøve Kaddio som behandler eller som klient. Demoen tilpasser seg også automatisk etter nettleserens språk.</p>"},"dk":{"title":"Fornyet demooplevelse","body_html":"<p dir=\"auto\">Vores demoklinik har fået et nyt udseende og fungerer bedre for besøgende fra hele verden.</p>\n<p dir=\"auto\">Velkomstsiden er tydeligere med separate veje til at prøve Kaddio som behandler eller som klient. Demoen tilpasser sig desuden automatisk efter browserens sprog.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9727","title":"Support always within reach","state":"closed","number":9727,"created_at":"2026-06-19T10:35:25Z","repo_name":"Kaddio Application","merged_at":"2026-06-20T12:35:21Z","body":null,"body_html":"<p dir=\"auto\">Support is now pinned to the bottom of the navigation, making it easier to reach help whenever you need it.</p>\n<p dir=\"auto\">The support chat is available from every page in Kaddio with a single click, and works on smaller screens too. No action needed — it's just there when you want it.</p>","translations":{"en":{"title":"Support always within reach","body_html":"<p dir=\"auto\">Support is now pinned to the bottom of the navigation, making it easier to reach help whenever you need it.</p>\n<p dir=\"auto\">The support chat is available from every page in Kaddio with a single click, and works on smaller screens too. No action needed — it's just there when you want it.</p>"},"sv":{"title":"Support alltid nära till hands","body_html":"<p dir=\"auto\">Supporten finns nu längst ner i navigeringen, så att hjälp alltid är ett klick bort.</p>\n<p dir=\"auto\">Supportchatten är tillgänglig från varje sida i Kaddio och fungerar även på mindre skärmar. Inget behöver göras — den finns där när du behöver den.</p>"},"es":{"title":"Soporte siempre a mano","body_html":"<p dir=\"auto\">El soporte ahora está fijado en la parte inferior de la navegación, para que la ayuda esté siempre a un clic de distancia.</p>\n<p dir=\"auto\">El chat de soporte está disponible desde cualquier página de Kaddio y también funciona en pantallas más pequeñas. No hace falta hacer nada — está ahí cuando lo necesites.</p>"},"no":{"title":"Support alltid innen rekkevidde","body_html":"<p dir=\"auto\">Supporten ligger nå nederst i navigasjonen, slik at hjelp alltid er ett klikk unna.</p>\n<p dir=\"auto\">Supportchatten er tilgjengelig fra hver side i Kaddio og fungerer også på mindre skjermer. Du trenger ikke gjøre noe — den er der når du trenger den.</p>"},"dk":{"title":"Support altid lige ved hånden","body_html":"<p dir=\"auto\">Support ligger nu nederst i navigationen, så hjælp altid er et klik væk.</p>\n<p dir=\"auto\">Supportchatten er tilgængelig fra hver side i Kaddio og virker også på mindre skærme. Du behøver ikke gøre noget — den er der, når du har brug for den.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9619","title":"Smarter AI assistant and recordings","state":"closed","number":9619,"created_at":"2026-06-02T09:28:10Z","repo_name":"Kaddio Application","merged_at":"2026-06-19T09:26:35Z","body":"- Nu funkar det att resume:a en inspelning som inte blivit en transkribering ännu, p.g.a. nåt fel. (elevenlabs)\r\n- bredare kontext \r\n- bättre promptar\r\n- agent = behandlare, customer = klient\r\n- testa att evroc och microsoft funkar som vanligt","body_html":"<p dir=\"auto\">The AI assistant in Journal now understands your clinic better — with sharper prompts, a wider context, and clearer terminology for practitioners and clients.</p>\n<p dir=\"auto\">Voice recordings have also become more resilient. If a transcription fails to complete, you can now resume it instead of losing the recording. We've also refreshed the available AI models, including GPT-5 Mini as the new default for everyday tasks.</p>","translations":{"en":{"title":"Smarter AI assistant and recordings","body_html":"<p dir=\"auto\">The AI assistant in Journal now understands your clinic better — with sharper prompts, a wider context, and clearer terminology for practitioners and clients.</p>\n<p dir=\"auto\">Voice recordings have also become more resilient. If a transcription fails to complete, you can now resume it instead of losing the recording. We've also refreshed the available AI models, including GPT-5 Mini as the new default for everyday tasks.</p>"},"sv":{"title":"Smartare AI och säkrare inspelningar","body_html":"<p dir=\"auto\">AI-assistenten i journalen förstår din verksamhet bättre — med vassare promptar, bredare kontext och tydligare begrepp för behandlare och klienter.</p>\n<p dir=\"auto\">Röstinspelningar har också blivit mer pålitliga. Om en transkribering inte hinner bli klar kan du nu återuppta den istället för att tappa inspelningen. Vi har även uppdaterat tillgängliga AI-modeller, med GPT-5 Mini som nytt standardval för vardagliga uppgifter.</p>"},"es":{"title":"Asistente de IA y grabaciones mejoradas","body_html":"<p dir=\"auto\">El asistente de IA en el historial clínico entiende mejor tu clínica, con indicaciones más precisas, contexto más amplio y una terminología más clara para profesionales y clientes.</p>\n<p dir=\"auto\">Las grabaciones de voz también son más fiables. Si una transcripción no llega a completarse, ahora puedes reanudarla en lugar de perder la grabación. Además, hemos renovado los modelos de IA disponibles, con GPT-5 Mini como nueva opción predeterminada para el trabajo diario.</p>"},"no":{"title":"Smartere AI og tryggere opptak","body_html":"<p dir=\"auto\">AI-assistenten i journalen forstår klinikken din bedre — med skarpere instruksjoner, bredere kontekst og tydeligere begreper for behandlere og klienter.</p>\n<p dir=\"auto\">Taleopptak har også blitt mer pålitelige. Hvis en transkripsjon ikke blir ferdig, kan du nå gjenoppta den i stedet for å miste opptaket. Vi har dessuten oppdatert de tilgjengelige AI-modellene, med GPT-5 Mini som nytt standardvalg for daglige oppgaver.</p>"},"dk":{"title":"Smartere AI og sikrere optagelser","body_html":"<p dir=\"auto\">AI-assistenten i journalen forstår din klinik bedre — med skarpere prompts, bredere kontekst og tydeligere begreber for behandlere og klienter.</p>\n<p dir=\"auto\">Stemmeoptagelser er også blevet mere pålidelige. Hvis en transskription ikke når at blive færdig, kan du nu genoptage den i stedet for at miste optagelsen. Vi har desuden opdateret de tilgængelige AI-modeller, med GPT-5 Mini som nyt standardvalg til daglige opgaver.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9719","title":"Updated postal letter pricing","state":"closed","number":9719,"created_at":"2026-06-18T08:25:09Z","repo_name":"Kaddio Application","merged_at":"2026-06-18T12:51:01Z","body":null,"body_html":"<p dir=\"auto\">We've adjusted the price tiers for sending physical letters from Kaddio, so the cost better reflects the number of pages in each mailing.</p>\n<p dir=\"auto\">The page brackets for postage have been refined, giving a more accurate price for letters between 8 and 28 pages. You'll find the updated price ladder under your organization's variable costs. No action is needed.</p>","translations":{"en":{"title":"Updated postal letter pricing","body_html":"<p dir=\"auto\">We've adjusted the price tiers for sending physical letters from Kaddio, so the cost better reflects the number of pages in each mailing.</p>\n<p dir=\"auto\">The page brackets for postage have been refined, giving a more accurate price for letters between 8 and 28 pages. You'll find the updated price ladder under your organization's variable costs. No action is needed.</p>"},"sv":{"title":"Uppdaterat pris för brev","body_html":"<p dir=\"auto\">Vi har justerat prisnivåerna för att skicka riktiga brev från Kaddio, så att kostnaden bättre speglar antalet sidor i varje försändelse.</p>\n<p dir=\"auto\">Sidintervallen för porto har finjusterats och ger ett mer rättvist pris för brev mellan 8 och 28 sidor. Den uppdaterade pristrappan hittar du under organisationens rörliga kostnader. Ingen åtgärd krävs.</p>"},"es":{"title":"Precios actualizados de cartas","body_html":"<p dir=\"auto\">Hemos ajustado los tramos de precio para el envío de cartas físicas desde Kaddio, de modo que el coste refleje mejor el número de páginas de cada envío.</p>\n<p dir=\"auto\">Los intervalos de páginas para el franqueo se han afinado, ofreciendo un precio más exacto para cartas de entre 8 y 28 páginas. Encontrarás la escala actualizada en los costes variables de tu organización. No es necesario hacer nada.</p>"},"no":{"title":"Oppdatert pris for brev","body_html":"<p dir=\"auto\">Vi har justert prisnivåene for å sende fysiske brev fra Kaddio, slik at kostnaden bedre gjenspeiler antall sider i hver forsendelse.</p>\n<p dir=\"auto\">Sideintervallene for porto er finjustert og gir en mer presis pris for brev mellom 8 og 28 sider. Den oppdaterte pristrappen finner du under organisasjonens variable kostnader. Ingen handling kreves.</p>"},"dk":{"title":"Opdateret pris for breve","body_html":"<p dir=\"auto\">Vi har justeret prisniveauerne for at sende fysiske breve fra Kaddio, så omkostningen bedre afspejler antallet af sider i hver forsendelse.</p>\n<p dir=\"auto\">Sideintervallerne for porto er finjusteret og giver en mere præcis pris for breve mellem 8 og 28 sider. Den opdaterede pristrappe finder du under organisationens variable omkostninger. Ingen handling er nødvendig.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9706","title":"More booking and chat API options","state":"closed","number":9706,"created_at":"2026-06-16T07:03:44Z","repo_name":"Kaddio Application","merged_at":"2026-06-17T14:27:35Z","body":null,"body_html":"<p dir=\"auto\">Our API now supports updating bookings, marking no-shows, and managing chat group members — making it easier to connect Kaddio with your own tools.</p>\n<p dir=\"auto\">For Booking, developers can update event details and flag a booking as a no-show directly through GraphQL. For Chat, users can be added to or removed from group conversations programmatically.</p>\n<p dir=\"auto\">These additions give partners and integrators more flexibility when building workflows around Kaddio.</p>","translations":{"en":{"title":"More booking and chat API options","body_html":"<p dir=\"auto\">Our API now supports updating bookings, marking no-shows, and managing chat group members — making it easier to connect Kaddio with your own tools.</p>\n<p dir=\"auto\">For Booking, developers can update event details and flag a booking as a no-show directly through GraphQL. For Chat, users can be added to or removed from group conversations programmatically.</p>\n<p dir=\"auto\">These additions give partners and integrators more flexibility when building workflows around Kaddio.</p>"},"sv":{"title":"Fler API-möjligheter för bokning och chatt","body_html":"<p dir=\"auto\">Vårt API stöder nu uppdatering av bokningar, markering av uteblivna besök och hantering av medlemmar i chattgrupper — vilket gör det enklare att koppla Kaddio till egna system.</p>\n<p dir=\"auto\">För Bokning kan utvecklare uppdatera bokningsuppgifter och markera en bokning som utebliven direkt via GraphQL. För Chatt går det att lägga till och ta bort användare i gruppkonversationer.</p>\n<p dir=\"auto\">Dessa tillägg ger partners och integratörer större flexibilitet när de bygger arbetsflöden runt Kaddio.</p>"},"es":{"title":"Más opciones de API para reservas y chat","body_html":"<p dir=\"auto\">Nuestra API ahora permite actualizar reservas, marcar ausencias y gestionar miembros de grupos de chat, facilitando la conexión de Kaddio con tus propias herramientas.</p>\n<p dir=\"auto\">En Reservas, los desarrolladores pueden actualizar detalles de citas y marcar una reserva como ausencia directamente mediante GraphQL. En Chat, es posible añadir y quitar usuarios de conversaciones grupales.</p>\n<p dir=\"auto\">Estas novedades ofrecen a socios e integradores mayor flexibilidad para construir flujos de trabajo alrededor de Kaddio.</p>"},"no":{"title":"Flere API-muligheter for booking og chat","body_html":"<p dir=\"auto\">API-et vårt støtter nå oppdatering av bookinger, registrering av uteblivelser og håndtering av medlemmer i chattegrupper — det blir enklere å koble Kaddio til egne verktøy.</p>\n<p dir=\"auto\">For Booking kan utviklere oppdatere bookingdetaljer og markere en booking som uteblitt direkte via GraphQL. For Chat kan brukere legges til og fjernes fra gruppesamtaler.</p>\n<p dir=\"auto\">Dette gir partnere og integratører større fleksibilitet når de bygger arbeidsflyter rundt Kaddio.</p>"},"dk":{"title":"Flere API-muligheder for booking og chat","body_html":"<p dir=\"auto\">Vores API understøtter nu opdatering af bookinger, markering af udeblivelser og håndtering af medlemmer i chatgrupper — det gør det nemmere at forbinde Kaddio med dine egne værktøjer.</p>\n<p dir=\"auto\">I Booking kan udviklere opdatere bookingdetaljer og markere en booking som udeblivelse direkte via GraphQL. I Chat kan brugere tilføjes og fjernes fra gruppesamtaler.</p>\n<p dir=\"auto\">Disse tilføjelser giver partnere og integratorer større fleksibilitet, når de bygger arbejdsgange omkring Kaddio.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9705","title":"More secure webhooks","state":"closed","number":9705,"created_at":"2026-06-15T07:54:57Z","repo_name":"Kaddio Application","merged_at":"2026-06-17T10:22:50Z","body":null,"body_html":"<p dir=\"auto\">Webhooks from Kaddio are now signed, giving developers a reliable way to verify that incoming events truly come from Kaddio.</p>\n<p dir=\"auto\">Each webhook request now includes a unique event ID, a timestamp, and an HMAC signature in the headers. This is a breaking change for anyone using webhooks through our API — integrations relying on the previous X-Webhook-Secret header will need to be updated to verify the new Kaddio-Signature header instead. See our developer documentation for details.</p>","translations":{"en":{"title":"More secure webhooks","body_html":"<p dir=\"auto\">Webhooks from Kaddio are now signed, giving developers a reliable way to verify that incoming events truly come from Kaddio.</p>\n<p dir=\"auto\">Each webhook request now includes a unique event ID, a timestamp, and an HMAC signature in the headers. This is a breaking change for anyone using webhooks through our API — integrations relying on the previous X-Webhook-Secret header will need to be updated to verify the new Kaddio-Signature header instead. See our developer documentation for details.</p>"},"sv":{"title":"Säkrare webhooks","body_html":"<p dir=\"auto\">Webhooks från Kaddio är nu signerade, vilket ger utvecklare ett pålitligt sätt att verifiera att inkommande händelser verkligen kommer från Kaddio.</p>\n<p dir=\"auto\">Varje webhook-anrop innehåller nu ett unikt händelse-ID, en tidsstämpel och en HMAC-signatur i headers. Detta är en bakåtinkompatibel ändring för dig som använder webhooks via vårt API — integrationer som bygger på den tidigare X-Webhook-Secret-headern behöver uppdateras för att istället verifiera den nya Kaddio-Signature-headern. Se vår utvecklardokumentation för detaljer.</p>"},"es":{"title":"Webhooks más seguros","body_html":"<p dir=\"auto\">Los webhooks de Kaddio ahora están firmados, ofreciendo a los desarrolladores una forma fiable de verificar que los eventos provienen realmente de Kaddio.</p>\n<p dir=\"auto\">Cada solicitud de webhook incluye ahora un identificador de evento único, una marca de tiempo y una firma HMAC en las cabeceras. Este es un cambio no retrocompatible para quienes utilicen webhooks a través de nuestra API — las integraciones que dependían de la cabecera X-Webhook-Secret deberán actualizarse para verificar la nueva cabecera Kaddio-Signature. Consulta nuestra documentación para desarrolladores.</p>"},"no":{"title":"Tryggere webhooks","body_html":"<p dir=\"auto\">Webhooks fra Kaddio er nå signert, og gir utviklere en pålitelig måte å verifisere at innkommende hendelser faktisk kommer fra Kaddio.</p>\n<p dir=\"auto\">Hver webhook-forespørsel inneholder nå en unik hendelses-ID, et tidsstempel og en HMAC-signatur i headerne. Dette er en bakoverinkompatibel endring for dem som bruker webhooks via vårt API — integrasjoner som baserer seg på den tidligere X-Webhook-Secret-headeren må oppdateres til å verifisere den nye Kaddio-Signature-headeren. Se vår utviklerdokumentasjon for detaljer.</p>"},"dk":{"title":"Sikrere webhooks","body_html":"<p dir=\"auto\">Webhooks fra Kaddio er nu signerede, hvilket giver udviklere en pålidelig måde at bekræfte, at indkommende hændelser faktisk kommer fra Kaddio.</p>\n<p dir=\"auto\">Hver webhook-anmodning indeholder nu et unikt hændelses-ID, et tidsstempel og en HMAC-signatur i headerne. Dette er en bagudinkompatibel ændring for dig, der bruger webhooks via vores API — integrationer, der bygger på den tidligere X-Webhook-Secret-header, skal opdateres til at verificere den nye Kaddio-Signature-header. Se vores udviklerdokumentation for detaljer.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9669","title":"E-frikort coming as a module","state":"closed","number":9669,"created_at":"2026-06-10T06:02:55Z","repo_name":"Kaddio Application","merged_at":"2026-06-11T13:50:20Z","body":"Lägger till en modul för e-frikort som är dold bakom en featureflagga. Det krävs att 2fa är påslaget för kliniken för att man ska få slå på modulen. Man får även en varning om man försöker slå av 2fa. \r\n\r\nLägg till följande i feature_flags för att testa: \r\n{\r\n  \"name\": \"efrikortTester\",\r\n  \"isEnabled\": true,\r\n}","body_html":"<p dir=\"auto\">E-frikort is becoming its own module in Kaddio, with two-factor authentication required to keep patient data extra safe.</p>\n<p dir=\"auto\">The new module is currently being prepared and will be rolled out gradually to clinics in Sweden. To activate it, your clinic will need two-factor authentication enabled under Security settings.</p>\n<p dir=\"auto\">While e-frikort is active, two-factor authentication stays on to protect the integration with the regional healthcare system.</p>","translations":{"en":{"title":"E-frikort coming as a module","body_html":"<p dir=\"auto\">E-frikort is becoming its own module in Kaddio, with two-factor authentication required to keep patient data extra safe.</p>\n<p dir=\"auto\">The new module is currently being prepared and will be rolled out gradually to clinics in Sweden. To activate it, your clinic will need two-factor authentication enabled under Security settings.</p>\n<p dir=\"auto\">While e-frikort is active, two-factor authentication stays on to protect the integration with the regional healthcare system.</p>"},"sv":{"title":"E-frikort blir en egen modul","body_html":"<p dir=\"auto\">E-frikort blir en egen modul i Kaddio, med tvåfaktorsinloggning som krav för att hålla patientuppgifterna extra trygga.</p>\n<p dir=\"auto\">Modulen förbereds nu och rullas ut stegvis till kliniker i Sverige. För att aktivera den behöver tvåfaktorsautentisering vara påslagen under Säkerhetsinställningar.</p>\n<p dir=\"auto\">Så länge e-frikort är aktivt förblir tvåfaktorsinloggningen på för att skydda integrationen mot regionernas system.</p>"},"es":{"title":"E-frikort llega como módulo","body_html":"<p dir=\"auto\">E-frikort se convierte en un módulo propio en Kaddio, con autenticación de dos factores obligatoria para proteger los datos del paciente.</p>\n<p dir=\"auto\">El nuevo módulo se está preparando y se desplegará gradualmente en las clínicas de Suecia. Para activarlo, la clínica debe tener la autenticación de dos factores habilitada en Configuración de seguridad.</p>\n<p dir=\"auto\">Mientras e-frikort esté activo, la autenticación de dos factores permanece encendida para proteger la integración con el sistema sanitario regional.</p>"},"no":{"title":"E-frikort blir egen modul","body_html":"<p dir=\"auto\">E-frikort blir en egen modul i Kaddio, med tofaktorpålogging som krav for å holde pasientopplysningene ekstra trygge.</p>\n<p dir=\"auto\">Modulen forberedes nå og rulles ut gradvis til klinikker i Sverige. For å aktivere den må tofaktorautentisering være slått på under Sikkerhetsinnstillinger.</p>\n<p dir=\"auto\">Så lenge e-frikort er aktivt, forblir tofaktorpåloggingen på for å beskytte integrasjonen mot det regionale helsesystemet.</p>"},"dk":{"title":"E-frikort kommer som modul","body_html":"<p dir=\"auto\">E-frikort bliver et selvstændigt modul i Kaddio, med tofaktorlogin som krav for at holde patientoplysningerne ekstra sikre.</p>\n<p dir=\"auto\">Det nye modul forberedes og rulles gradvist ud til klinikker i Sverige. For at aktivere det skal tofaktorgodkendelse være slået til under Sikkerhedsindstillinger.</p>\n<p dir=\"auto\">Så længe e-frikort er aktivt, forbliver tofaktorlogin slået til for at beskytte integrationen med det regionale sundhedssystem.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9687","title":"Add participants in case chats","state":"closed","number":9687,"created_at":"2026-06-11T11:40:15Z","repo_name":"Kaddio Application","merged_at":"2026-06-11T12:31:58Z","body":"Arvid har gjort denna\r\n\r\nJag har testat och godkänner","body_html":"<p dir=\"auto\">You can now add practitioners directly from within case chats, making it easier to bring colleagues into ongoing conversations.</p>\n<p dir=\"auto\">Previously, the participant selector was hidden in case-linked chats. It's now available everywhere in Chat, giving you a consistent way to manage who's involved in a conversation.</p>","translations":{"en":{"title":"Add participants in case chats","body_html":"<p dir=\"auto\">You can now add practitioners directly from within case chats, making it easier to bring colleagues into ongoing conversations.</p>\n<p dir=\"auto\">Previously, the participant selector was hidden in case-linked chats. It's now available everywhere in Chat, giving you a consistent way to manage who's involved in a conversation.</p>"},"sv":{"title":"Lägg till deltagare i ärendechattar","body_html":"<p dir=\"auto\">Du kan nu lägga till medarbetare direkt i ärendechattar, vilket gör det enklare att involvera kollegor i pågående konversationer.</p>\n<p dir=\"auto\">Tidigare var deltagarväljaren dold i chattar kopplade till ärenden. Den finns nu överallt i Chatt, vilket ger ett enhetligt sätt att hantera vilka som deltar.</p>"},"es":{"title":"Añade participantes en chats de casos","body_html":"<p dir=\"auto\">Ahora puedes añadir profesionales directamente desde los chats vinculados a casos, facilitando la incorporación de colegas a las conversaciones.</p>\n<p dir=\"auto\">Antes, el selector de participantes estaba oculto en los chats de casos. Ahora está disponible en todo el módulo de Chat, ofreciendo una forma coherente de gestionar quién participa.</p>"},"no":{"title":"Legg til deltakere i sakschatter","body_html":"<p dir=\"auto\">Du kan nå legge til behandlere direkte i chatter knyttet til saker, slik at det blir enklere å involvere kolleger i pågående samtaler.</p>\n<p dir=\"auto\">Tidligere var deltakervelgeren skjult i sakschatter. Den er nå tilgjengelig overalt i Chat og gir en enhetlig måte å håndtere deltakere på.</p>"},"dk":{"title":"Tilføj deltagere i sagschats","body_html":"<p dir=\"auto\">Du kan nu tilføje behandlere direkte i chats knyttet til sager, så det er nemmere at inddrage kolleger i igangværende samtaler.</p>\n<p dir=\"auto\">Tidligere var deltagervælgeren skjult i sagschats. Den er nu tilgængelig overalt i Chat og giver en ensartet måde at styre, hvem der deltager.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9653","title":"Case chats now show case number","state":"closed","number":9653,"created_at":"2026-06-09T06:38:21Z","repo_name":"Kaddio Application","merged_at":"2026-06-11T09:12:34Z","body":null,"body_html":"<p dir=\"auto\">Chat groups linked to a case are now automatically named after the case number. This makes it easier to find the right conversation in your chat list and keep track of discussions tied to specific cases.</p>\n<p dir=\"auto\">The change applies to the Cases and Chat areas. No action is needed — new case chats will use the case number as their name automatically.</p>","translations":{"en":{"title":"Case chats now show case number","body_html":"<p dir=\"auto\">Chat groups linked to a case are now automatically named after the case number. This makes it easier to find the right conversation in your chat list and keep track of discussions tied to specific cases.</p>\n<p dir=\"auto\">The change applies to the Cases and Chat areas. No action is needed — new case chats will use the case number as their name automatically.</p>"},"sv":{"title":"Ärendechattar visar ärendenummer","body_html":"<p dir=\"auto\">Chattgrupper kopplade till ett ärende namnges nu automatiskt efter ärendenumret. Det blir enklare att hitta rätt konversation i chattlistan och hålla koll på diskussioner som rör specifika ärenden.</p>\n<p dir=\"auto\">Ändringen gäller områdena Ärenden och Chatt. Inget behöver göras — nya ärendechattar får ärendenumret som namn automatiskt.</p>"},"es":{"title":"Chats de casos con número visible","body_html":"<p dir=\"auto\">Los grupos de chat vinculados a un caso ahora se nombran automáticamente con el número del caso. Así resulta más fácil encontrar la conversación correcta en la lista de chats y seguir las discusiones relacionadas con cada caso.</p>\n<p dir=\"auto\">El cambio afecta a las áreas de Casos y Chat. No se requiere ninguna acción — los nuevos chats de casos tomarán el número del caso como nombre de forma automática.</p>"},"no":{"title":"Sakschatter viser saksnummer","body_html":"<p dir=\"auto\">Chattegrupper knyttet til en sak får nå automatisk navn etter saksnummeret. Det blir enklere å finne riktig samtale i chattelisten og holde oversikt over diskusjoner knyttet til en bestemt sak.</p>\n<p dir=\"auto\">Endringen gjelder områdene Saker og Chat. Ingen handling kreves — nye sakschatter får saksnummeret som navn automatisk.</p>"},"dk":{"title":"Sagschats viser sagsnummer","body_html":"<p dir=\"auto\">Chatgrupper, der er knyttet til en sag, navngives nu automatisk efter sagsnummeret. Det gør det nemmere at finde den rigtige samtale i chatlisten og holde styr på drøftelser, der hører til en bestemt sag.</p>\n<p dir=\"auto\">Ændringen gælder områderne Sager og Chat. Der kræves ingen handling — nye sagschats får sagsnummeret som navn automatisk.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9620","title":"Smart client mailings based on your selection criteria","state":"closed","number":9620,"created_at":"2026-06-02T09:43:27Z","repo_name":"Kaddio Application","merged_at":"2026-06-07T10:19:04Z","body":null,"body_html":"<p dir=\"auto\">Send emails to inactive clients who haven't booked a new appointment, inform all clients who have booked a specific service, or why not send birthday greetings to your clients. Mailings are sent via email and can be done manually or fully automated. Read more at <a href=\"https://help.kaddio.com/sv/articles/727407-smarta-utskick\" rel=\"nofollow\">https://help.kaddio.com/sv/articles/727407-smarta-utskick</a></p>","translations":{"en":{"title":"Smart client mailings based on your selection criteria","body_html":"<p dir=\"auto\">Send emails to inactive clients who haven't booked a new appointment, inform all clients who have booked a specific service, or why not send birthday greetings to your clients. Mailings are sent via email and can be done manually or fully automated. Read more at <a href=\"https://help.kaddio.com/sv/articles/727407-smarta-utskick\" rel=\"nofollow\">https://help.kaddio.com/sv/articles/727407-smarta-utskick</a></p>"},"sv":{"title":"Smarta utskick till klienterna utifrån dina urvalskriterier","body_html":"<p dir=\"auto\">Du kan skicka mail till inaktiva klienter som inte bokat någon ny tid, eller informera alla klienter som bokat en viss tjänst eller varför inte gratulera klienter på födelsedagen. Utskicken görs via epost och kan göras manuellt eller lösas helt automatiskt. Läs mer på <a href=\"https://help.kaddio.com/sv/articles/727407-smarta-utskick\" rel=\"nofollow\">https://help.kaddio.com/sv/articles/727407-smarta-utskick</a></p>"},"es":{"title":"Envíos inteligentes a tus clientes según tus criterios de selección","body_html":"<p dir=\"auto\">Puedes enviar correos a clientes inactivos que no han reservado una nueva cita, informar a todos los clientes que han reservado un servicio determinado o, por qué no, felicitar a tus clientes en su cumpleaños. Los envíos se realizan por correo electrónico y pueden hacerse manualmente o de forma totalmente automática. Más información en <a href=\"https://help.kaddio.com/sv/articles/727407-smarta-utskick\" rel=\"nofollow\">https://help.kaddio.com/sv/articles/727407-smarta-utskick</a></p>"},"no":{"title":"Smarte utsendelser til klientene basert på dine utvalgskriterier","body_html":"<p dir=\"auto\">Du kan sende e-post til inaktive klienter som ikke har booket ny time, informere alle klienter som har booket en bestemt tjeneste, eller hvorfor ikke gratulere klientene med bursdagen. Utsendelsene gjøres via e-post og kan gjøres manuelt eller helt automatisk. Les mer på <a href=\"https://help.kaddio.com/sv/articles/727407-smarta-utskick\" rel=\"nofollow\">https://help.kaddio.com/sv/articles/727407-smarta-utskick</a></p>"},"dk":{"title":"Smarte udsendelser til dine klienter baseret på dine udvælgelseskriterier","body_html":"<p dir=\"auto\">Du kan sende mails til inaktive klienter, der ikke har booket en ny tid, informere alle klienter, der har booket en bestemt ydelse, eller hvorfor ikke lykønske klienterne på fødselsdagen. Udsendelserne sker via e-mail og kan foretages manuelt eller helt automatisk. Læs mere på <a href=\"https://help.kaddio.com/sv/articles/727407-smarta-utskick\" rel=\"nofollow\">https://help.kaddio.com/sv/articles/727407-smarta-utskick</a></p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9625","title":"Treatment outcome report compares forms over time","state":"closed","number":9625,"created_at":"2026-06-03T08:05:57Z","repo_name":"Kaddio Application","merged_at":"2026-06-05T09:38:27Z","body":null,"body_html":"<p dir=\"auto\">Compare the results of a specific form completed by patients over time, per practitioner or across the entire organisation. The results are presented in a chart and a table. A corresponding comparison view is also available per patient on each patient's overview.</p>","translations":{"en":{"title":"Treatment outcome report compares forms over time","body_html":"<p dir=\"auto\">Compare the results of a specific form completed by patients over time, per practitioner or across the entire organisation. The results are presented in a chart and a table. A corresponding comparison view is also available per patient on each patient's overview.</p>"},"sv":{"title":"Rapport för behandlingsresultat jämför formulär över tid","body_html":"<p dir=\"auto\">Jämför resultatet för ett visst formulär som patienter fyllt i över tid, per behandlare eller utifrån hela organisationen. Resultatet presenteras i ett diagram och en tabell. Motsvarande presentation av jämförelse finns även per patient på respektive patientens översikt.</p>"},"es":{"title":"Informe de resultados de tratamiento: compara formularios a lo largo del tiempo","body_html":"<p dir=\"auto\">Compara los resultados de un formulario concreto que los pacientes han rellenado a lo largo del tiempo, por profesional o para toda la organización. Los resultados se presentan en un gráfico y en una tabla. También encontrarás la correspondiente comparación por paciente en la vista general de cada uno.</p>"},"no":{"title":"Rapport for behandlingsresultat sammenligner skjemaer over tid","body_html":"<p dir=\"auto\">Sammenlign resultatet for et bestemt skjema som pasienter har fylt ut over tid, per behandler eller for hele organisasjonen. Resultatet vises i et diagram og en tabell. Tilsvarende sammenligning finnes også per pasient i den enkelte pasientens oversikt.</p>"},"dk":{"title":"Rapport for behandlingsresultat sammenligner formularer over tid","body_html":"<p dir=\"auto\">Sammenlign resultatet for en bestemt formular, som patienterne har udfyldt over tid, pr. behandler eller for hele organisationen. Resultatet vises i et diagram og en tabel. En tilsvarende sammenligning findes også pr. patient på den enkelte patients oversigt.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/kaddio/pulls/9472","title":"Import client data from Spinalo","state":"closed","number":9472,"created_at":"2026-05-12T11:54:50Z","repo_name":"Kaddio Application","merged_at":"2026-05-12T13:13:44Z","body":null,"body_html":"<p dir=\"auto\">Moving to Kaddio just got easier for clinics currently using Spinalo. You can now import your existing client list, journal entries, and attached files directly into Kaddio's Journal module from a Spinalo export.</p>\n<p dir=\"auto\">The import brings in patient details, signed and unsigned notes, scanned documents, and images — all linked to the right client. If a client already exists in Kaddio, their records are matched and updated rather than duplicated, so you can run the import safely even more than once.</p>\n<p dir=\"auto\">You'll find the new Spinalo option in the import area under Clients. No action is needed if you're not migrating from Spinalo.</p>","translations":{"en":{"title":"Import client data from Spinalo","body_html":"<p dir=\"auto\">Moving to Kaddio just got easier for clinics currently using Spinalo. You can now import your existing client list, journal entries, and attached files directly into Kaddio's Journal module from a Spinalo export.</p>\n<p dir=\"auto\">The import brings in patient details, signed and unsigned notes, scanned documents, and images — all linked to the right client. If a client already exists in Kaddio, their records are matched and updated rather than duplicated, so you can run the import safely even more than once.</p>\n<p dir=\"auto\">You'll find the new Spinalo option in the import area under Clients. No action is needed if you're not migrating from Spinalo.</p>"},"sv":{"title":"Importera klientdata från Spinalo","body_html":"<p dir=\"auto\">Att gå över till Kaddio blir enklare för kliniker som idag använder Spinalo. Du kan nu importera befintliga klienter, journalanteckningar och bifogade filer direkt in i Kaddios journalmodul via en export från Spinalo.</p>\n<p dir=\"auto\">Importen tar med patientuppgifter, signerade och osignerade anteckningar, inskannade dokument och bilder — allt kopplat till rätt klient. Finns klienten redan i Kaddio matchas uppgifterna ihop istället för att dubbletter skapas, så det går bra att köra importen flera gånger.</p>\n<p dir=\"auto\">Du hittar det nya Spinalo-alternativet under importerings-vyn för klienter. Ingen åtgärd krävs om du inte migrerar från Spinalo.</p>"},"es":{"title":"Importar datos de clientes desde Spinalo","body_html":"<p dir=\"auto\">Migrar a Kaddio es ahora más sencillo para las clínicas que utilizan Spinalo. Puedes importar tu lista de clientes, las entradas del historial y los archivos adjuntos directamente al módulo de historia clínica de Kaddio a partir de una exportación de Spinalo.</p>\n<p dir=\"auto\">La importación incluye los datos del paciente, las notas firmadas y sin firmar, los documentos escaneados y las imágenes, todo vinculado al cliente correspondiente. Si un cliente ya existe en Kaddio, sus datos se identifican y actualizan en lugar de duplicarse, por lo que puedes ejecutar la importación con tranquilidad incluso varias veces.</p>\n<p dir=\"auto\">Encontrarás la nueva opción de Spinalo en el área de importación dentro de Clientes. No es necesario hacer nada si no migras desde Spinalo.</p>"},"no":{"title":"Importer klientdata fra Spinalo","body_html":"<p dir=\"auto\">Det er nå enklere å flytte til Kaddio for klinikker som bruker Spinalo. Du kan importere eksisterende klienter, journalnotater og vedlagte filer rett inn i Kaddios journalmodul fra en Spinalo-eksport.</p>\n<p dir=\"auto\">Importen henter med pasientopplysninger, signerte og usignerte notater, skannede dokumenter og bilder — alt knyttet til riktig klient. Hvis en klient allerede finnes i Kaddio, blir opplysningene koblet sammen i stedet for å lage duplikater, slik at importen trygt kan kjøres flere ganger.</p>\n<p dir=\"auto\">Du finner det nye Spinalo-valget i import-området under Klienter. Ingen handling kreves dersom du ikke migrerer fra Spinalo.</p>"},"dk":{"title":"Importér klientdata fra Spinalo","body_html":"<p dir=\"auto\">Det er blevet nemmere at skifte til Kaddio for klinikker, der bruger Spinalo i dag. Du kan nu importere eksisterende klienter, journalnotater og vedhæftede filer direkte ind i Kaddios journalmodul fra en Spinalo-eksport.</p>\n<p dir=\"auto\">Importen medtager patientoplysninger, signerede og usignerede notater, scannede dokumenter og billeder — alt sammen knyttet til den rigtige klient. Findes klienten allerede i Kaddio, bliver oplysningerne matchet og opdateret i stedet for at blive duplikeret, så du trygt kan køre importen flere gange.</p>\n<p dir=\"auto\">Du finder den nye Spinalo-mulighed i importområdet under Klienter. Ingen handling er nødvendig, hvis du ikke migrerer fra Spinalo.</p>"}},"labels":[]},{"url":"https://api.github.com/repos/kaddio/platform/pulls/137","title":"Blog","state":"closed","number":137,"created_at":"2025-04-22T13:08:02Z","repo_name":"Platform","merged_at":"2025-04-23T18:40:28Z","body":"Introducing a new blog on kaddio.com","body_html":"<p dir=\"auto\">Introducing a new blog on kaddio.com</p>","translations":{},"labels":[]}]}