diff --git a/src/plugins/events/components/overview/slots/JobSlot.vue b/src/plugins/events/components/overview/slots/JobSlot.vue
index da81a34..a592e69 100644
--- a/src/plugins/events/components/overview/slots/JobSlot.vue
+++ b/src/plugins/events/components/overview/slots/JobSlot.vue
@@ -15,7 +15,7 @@
           Uhr
         
         
-          
+          
           
           
         
       
@@ -74,7 +74,7 @@
             color="white"
             :text-color="scope.opt.is_backup ? 'primary' : 'secondary'"
             class="q-ma-none"
-            @remove="remove(scope.opt.userid, scope.removeAtIndex, scope.index)"
+            @remove="remove(scope.opt, scope.removeAtIndex, scope.index)"
           >
             
               
service.value).value;
         const job = await store.updateJob(props.eventId, props.modelValue.id, {
           user: service.value,
         });
@@ -161,11 +168,28 @@ export default defineComponent({
       }
     }
 
-    async function remove(userid: string, rem: (i: number) => void, index: number) {
-      if (userid === mainStore.currentUser.userid || hasPermission(PERMISSIONS.ASSIGN_OTHER)) {
-        console.log('YES REM');
+    async function remove(service: FG.Service, rem: (i: number) => void, index: number) {
+      if (
+        service.userid === mainStore.currentUser.userid ||
+        hasPermission(PERMISSIONS.ASSIGN_OTHER)
+      ) {
         rem(index);
-        await signOutFromJob();
+        try {
+          const job = await store.updateJob(props.eventId, props.modelValue.id, {
+            user: Object.assign({}, service, { value: -service.value }),
+          });
+          emit('update:modelValue', job);
+        } catch (error) {
+          console.warn(error);
+          Notify.create({
+            group: false,
+            type: 'negative',
+            message: 'Fehler beim Austragen als Dienst',
+            timeout: 10000,
+            progress: true,
+            actions: [{ icon: 'mdi-close', color: 'white' }],
+          });
+        }
       }
     }
 
@@ -193,37 +217,12 @@ export default defineComponent({
       return sum < props.modelValue.required_services && !is;
     });
 
-    async function signOutFromJob() {
-      const newService: FG.Service = {
-        userid: mainStore.currentUser.userid,
-        is_backup: false,
-        value: -1,
-      };
-      try {
-        const job = await store.updateJob(props.eventId, props.modelValue.id, {
-          user: newService,
-        });
-        emit('update:modelValue', job);
-      } catch (error) {
-        console.warn(error);
-        Notify.create({
-          group: false,
-          type: 'negative',
-          message: 'Fehler beim Austragen als Dienst',
-          timeout: 10000,
-          progress: true,
-          actions: [{ icon: 'mdi-close', color: 'white' }],
-        });
-      }
-    }
-
     return {
       enroll,
       availableUsers,
       canEdit,
       isEnrolled,
       enrolled,
-      signOutFromJob,
       enrollDialog,
       canEnroll,
       remove,
diff --git a/src/plugins/events/plugin.ts b/src/plugins/events/plugin.ts
index 70ec71d..1e6dce2 100644
--- a/src/plugins/events/plugin.ts
+++ b/src/plugins/events/plugin.ts
@@ -2,13 +2,35 @@ import { defineAsyncComponent } from 'vue';
 import { innerRoutes, privateRoutes } from './routes';
 import { FG_Plugin } from 'src/plugins';
 
+interface EventNotification extends FG_Plugin.Notification {
+  data: { type: NotificationType };
+}
+
+enum NotificationType {
+  REQUEST = 0x10,
+  ACCEPTED = 0x11,
+  REJECTED = 0x12,
+}
+
+function transpile(n: FG.Notification) {
+  const notification = Object.assign({}, n);
+  if (notification.data.type === NotificationType.REQUEST)
+    notification.accept = () =>
+      new Promise((r) => {
+        console.log('REQUEST ACCEPTED');
+        r();
+      });
+  return notification;
+}
+
 const plugin: FG_Plugin.Plugin = {
-  name: 'Events',
+  name: 'events',
   innerRoutes,
   internalRoutes: privateRoutes,
   requiredModules: ['User'],
   requiredBackendModules: ['events'],
   version: '0.0.2',
+  notification: transpile,
   widgets: [
     {
       priority: 0,
diff --git a/src/plugins/events/store/index.ts b/src/plugins/events/store/index.ts
index 08a66b2..5645581 100644
--- a/src/plugins/events/store/index.ts
+++ b/src/plugins/events/store/index.ts
@@ -148,7 +148,7 @@ export const useScheduleStore = defineStore({
 
     async updateJob(eventId: number, jobId: number, service: FG.Service | UserService) {
       try {
-        const { data } = await api.put(`/events/${eventId}/jobs/${jobId}`, service);
+        const { data } = await api.put(`/events/${eventId}/${jobId}`, service);
         fixJob(data);
         return data;
       } catch (error) {