diff --git a/services/scheduleService.js b/services/scheduleService.js
index 4d971fcaf41a2d39ae2205e5bfb43eeca0bf5793..5bb7dad296b3d6b84dad234f1f7de03e2fae3e47 100644
--- a/services/scheduleService.js
+++ b/services/scheduleService.js
@@ -36,4 +36,27 @@ class schedulService {
         }
     }
 
+    /**
+     * 사용자 스케줄 수정
+     */
+    async updateSchedule(id, userId, updateData) {
+        try {
+            const schedule = await Schedule.findOne({
+                where: { id, user_id: userId }
+            });
+
+            if (!schedule) {
+                throw new Error('schedule not found');
+            }
+
+            // 스케줄 타입 변경하지 못하도록 update값 삭제 -> 기존값 유지
+            delete updateData.is_fixed;
+            
+            await schedule.update(updateData);
+            return schedule;
+        } catch (error) {
+            throw new Error(`Failed to update schedule: ${error.message}`);
+        }
+    }
+
 }
\ No newline at end of file