Schedule API

스케줄 관련 API

📌 스케줄 상태 Enum

  • BEFORE_WORK 스케줄 시작 전

  • ON_DUTY 스케줄 진행 중 (정시 출근 후)

  • LATE 스케줄 진행 중 (지각 출근 후)

  • SUCCESS 스케줄 완료

  • FAIL 스케줄 미완료 (ex. 지각, 조기 퇴근, 결근 등)

📌 전체 스케줄 상태 Enum

  • COMPLETE 해당 날짜의 스케줄 모두 완료 (스케줄 상태가 모두 SUCCESS)

  • INCOMPLETE 해당 날짜의 스케줄 중 완료되지 않은 건 1건 이상 존재

  • BEFORE 해당 날짜의 스케줄 모두 시작 전 (현재 날짜 이후 날짜)

  • NONE 해당 날짜의 스케줄 존재X

GET /staff/schedules/home

홈 달력 정보 조회

Request-Header

NameTypeDescription

*x-auth-token

String

user jwt token

Response-Body

NameTypeDescription

dateList

List

오늘 날짜 기준 ±3일별 날짜와 전체 스케줄 상태 리스트

date

Object

일별 날짜 정보

year

Integer

년도

month

Integer

day

Integer

dayOfWeek

String

요일 이름

totalScheduleStatus

String

해당 날짜 전체 스케줄 상태

selectedSubPage

Object

조회 일, 조회된 스케줄 리스트 정보 (날짜 선택 시마다 내용 업데이트)

selectedDate

Object

오늘 날짜 정보 (선택된 날짜 정보)

selectedScheduleList

List

조회된 스케줄 리스트

scheduleId

Long

스케줄 id

scheduleStartTime

String

예정된 스케줄 시작 시간

scheduleEndTime

String

예정된 스케줄 종료 시간

logicalStartTime

String

논리적 스케줄 시작 시간

logicalEndTime

String

논리적 스케줄 종료 시간

status

String

현재 스케줄 상태

workspace

Object

워크스페이스 정보

workspaceId

Long

워크스페이스 id

name

String

워크스페이스 이름

✅ 논리적 스케줄 시작/종료 시간?

  • 스케줄 출퇴근 시 현재 시간을 10분 단위로, 논리적으로 계산한 시간

  • ex. 10시가 출근 시간일 때, 10시 12분에 출근 시 10시 10분으로 출근 시간 저장

  • ex. 17시가 퇴근 시간일 때, 16시 37분에 퇴근 시 16시 30분으로 퇴근 시간 저장

  • ex. 17시가 퇴근 시간일 때, 20시에 퇴근 시 17시로 퇴근 시간 저장

logicalStartTime이 null이면 scheduleStartTime, logicalEndTime이 null이면 scheduleEndTime을 표시

GET /staff/schedules/home/selected

홈 해당 날짜 스케줄 조회

Request-Header

NameTypeDescription

*x-auth-token

String

user jwt token

Params

NameDescription

*year

조회 년도

*month

조회 월

*day

조회 일

Response-Body

NameTypeDescription

selectedDate

Object

오늘 날짜 정보 (선택된 날짜 정보)

year

Integer

년도

month

Integer

day

Integer

dayOfWeek

String

요일 이름

selectedScheduleList

List

조회된 스케줄 리스트

scheduleId

Long

스케줄 id

scheduleStartTime

String

예정된 스케줄 시작 시간

scheduleEndTime

String

예정된 스케줄 종료 시간

logicalStartTime

String

논리적 스케줄 시작 시간

logicalEndTime

String

논리적 스케줄 종료 시간

status

String

현재 스케줄 상태

workspace

Object

워크스페이스 정보

workspaceId

Long

워크스페이스 id

name

String

워크스페이스 이름

GET /staff/schedules

해당 워크스페이스 홈 달력 정보 조회

Request-Header

NameTypeDescription

*x-auth-token

String

user jwt token

Params

NameDescription

*workspaceId

조회 워크스페이스 id

Response-Body

NameTypeDescription

selectedWorkspace

Object

조회 워크스페이스 정보

workspaceId

Long

워크스페이스 id

name

String

워크스페이스 이름

imageUrl

String

워크스페이스 이미지 url

year

Integer

현재 년도

month

Integer

현재 월

dateList

List

현재 년월의 일 리스트

day

Integer

dayOfWeek

String

요일 이름

isMySchedule

Boolean

일별 내 스케줄 포함 여부

selectedSubPage

Object

조회 일, 조회된 스케줄 리스트 정보 (날짜 선택 시마다 내용 업데이트)

selectedDay

Integer

조회 일

selectedScheduleList

List

조회된 스케줄 리스트

scheduleId

Long

스케줄 id

scheduleStartTime

String

예정된 스케줄 시작 시간

scheduleEndTime

String

예정된 스케줄 종료 시간

status

String

현재 스케줄 상태

worker

Object

스케줄 근무자 정보

workerId

Long

근무자 id

name

String

근무자 이름

isMySchedule

Boolean

해당 스케줄 내 스케줄인지 여부

GET /staff/schedules/selected

해당 워크스페이스 홈 해당 날짜 스케줄 조회

Request-Header

NameTypeDescription

*x-auth-token

String

user jwt token

Params

NameDescription

*workspaceId

조회 워크스페이스 id

*year

조회 년도

*month

조회 월

*day

조회 일

Response-Body

NameTypeDescription

selectedDay

Integer

조회 일

selectedScheduleList

List

조회된 스케줄 리스트

scheduleId

Long

스케줄 id

scheduleStartTime

String

예정된 스케줄 시작 시간

scheduleEndTime

String

예정된 스케줄 종료 시간

status

String

현재 스케줄 상태

worker

Object

스케줄 근무자 정보

workerId

Long

근무자 id

name

String

근무자 이름

isMySchedule

Boolean

해당 스케줄 내 스케줄인지 여부

GET /staff/schedules/{scheduleId}

해당 스케줄 요약 조회

Request-Header

NameTypeDescription

*x-auth-token

String

user jwt token

Response-Body

NameTypeDescription

scheduleId

Long

조회스케줄 id

scheduleDate

String

스케줄 날짜

scheduleStartTime

String

스케줄 시작 시간

scheduleEndTime

String

스케줄 종료 시간

workspaceName

String

근무지 이름

PUT /staff/schedules/{scheduleId}/start

해당 스케줄 출근 요청

Request-Header

NameTypeDescription

*x-auth-token

String

user jwt token

Response-Body

NameTypeDescription

scheduleId

Long

해당 스케줄 id

logicalStartTime

String

논리적 스케줄 시작 시간

status

String

현재 스케줄 상태

  • 해당 api 요청 후 홈 화면에서 해당 id의 스케줄 시작 시간, 상태값 업데이트 필요

PUT /staff/schedules/{scheduleId}/end

해당 스케줄 퇴근 요청

Request-Header

NameTypeDescription

*x-auth-token

String

user jwt token

Response-Body

NameTypeDescription

scheduleId

Long

해당 스케줄 id

logicalEndTime

String

논리적 스케줄 종료 시간

status

String

현재 스케줄 상태

  • 해당 api 요청 후 홈 화면에서 해당 id의 스케줄 종료 시간, 상태값 업데이트 필요

GET /staff/schedules/reports/dates

근무내역 및 알바비 관리 년도 리스트 조회

Request-Header

NameTypeDescription

*x-auth-token

String

user jwt token

Response-Body

NameTypeDescription

yearList

List

근무내역 및 알바비 관리 조회 가능한 년도 리스트

GET /staff/schedules/reports

해당 년도 근무내역 및 알바비 관리 리스트 조회

Request-Header

NameTypeDescription

*x-auth-token

String

user jwt token

Params

NameDescription

*year

조회 년도

Response-Body

NameTypeDescription

selectedYear

Integer

조회 년도

workReportList

List

근무내역 및 알바비 관리 리스트

month

Integer

조회 월

totalWorkTimeHour

Integer

해당 월 전체 근무 시간

totalWorkTimeMin

Integer

해당 월 전체 근무 분

totalWorkPay

String

해당 월 전체 알바비

Last updated