슬롯 발행 시간 기본단위 검토

슬롯 발행 시간 기본단위 검토

ADR-320 슬롯 발행 시간 기본단위 검토

1. Metadata

  • ADR ID: ADR-320
  • Status: draft
  • Date: 2026-03-15
  • Owner: YSY
  • Related ADRs: ADR-080, ADR-090, ADR-110, ADR-230, ADR-260, ADR-270

2. Context

  • 본 ADR의 범위는 파트너 슬롯 발행 화면에서 시간 선택의 기본 단위를 30분으로 둘지 1시간으로 둘지 결정하는 것이다.
  • 본 ADR은 시간 단위 자체뿐 아니라, 해당 단위를 파트너가 어떻게 쉽게 입력하게 할 것인지도 함께 다룬다.
  • 현재 논점은 기술 구현 난이도보다 파트너 운영 모델과 UX 단순성 사이의 균형에 있다.
  • 시간 단위가 작을수록 세밀한 공급 조정이 가능하지만, 파트너가 선택해야 할 경우의 수와 판단 부담이 커진다.
  • 시간 단위가 클수록 발행 작업은 쉬워지지만, 실제 한가한 시간대를 정밀하게 포착하지 못할 수 있다.
  • 업종별 운영 리듬 차이가 크므로 단일 단위가 모든 파트너에게 동일하게 적합하다고 보기 어렵다.
  • 동일한 30분 단위라도 드래그 슬라이더, 증감 버튼, 인풋 박스, 프리셋 칩, 시작 시간 + 길이 방식 중 무엇을 기본 입력 방식으로 택하느냐에 따라 체감 복잡도는 크게 달라진다.

3. Domain Decision

  1. 본 ADR은 슬롯 발행 시간 기본단위의 최종 결정을 draft 상태로 보류한다.
  2. 시간 기본단위는 발행 UI의 입력 해상도일 뿐, 상태 전이와 시간 판정의 기준 자체를 변경하지 않는다.
  3. 어떤 단위를 채택하더라도 서버 저장 시각과 검증 기준 시각은 기존 규칙을 유지한다.
  4. 시간 기본단위가 작아지더라도 발행 권한, 동시 노출 제한, 재발행 간격, 월 한도 규칙은 동일하게 적용한다.
  5. 시간 기본단위 선택은 파트너 조작 비용공급 정밀도의 교환관계로 본다.

4. Product Decision

  1. 이 결정의 1차 목적은 파트너가 슬롯을 빠르고 덜 헷갈리게 발행하도록 만드는 것이다.
  2. 이 결정의 2차 목적은 실제 한가한 시간대에 맞는 공급을 과도한 입력 부담 없이 만들게 하는 것이다.
  3. MVP 기준에서는 정밀도 극대화보다 설정 성공률과 이해도를 우선 검토한다.
  4. 최종 채택 전까지는 30분, 1시간, 기본 1시간 + 일부 예외 30분의 세 대안을 비교한다.

5. UX Decision

  1. 어떤 단위를 채택하더라도 시간 선택 UX는 파트너가 결과를 즉시 이해할 수 있어야 한다.
  2. 시간 입력은 단순한 숫자 조절이 아니라 언제 시작해 얼마나 유지되는지를 바로 읽을 수 있어야 한다.
  3. 기본단위가 30분이면 세밀함보다 복잡함이 커지지 않도록 빠른 선택값을 함께 제공해야 한다.
  4. 기본단위가 1시간이면 짧은 시간대 발행이 불가능하다는 사실을 제품적으로 감수해야 한다.
  5. 혼합안을 채택하면 예외 기준이 사용자가 이해할 수 있을 정도로 단순해야 한다.
  6. 시간 기본단위와 입력 조작 방식은 분리해서 판단한다.
  7. 슬라이더만 있는 입력은 정밀 조작이 어렵기 때문에 단독 기본안으로 두지 않는다.
  8. 직접 텍스트 입력만 있는 방식도 형식 오류와 인지 부담이 커서 단독 기본안으로 두지 않는다.
  9. 기본 입력 방식은 증감 버튼 + 현재값 표시 + 빠른 선택값 조합처럼 거친 조정과 미세 조정이 함께 가능한 구조를 우선 검토한다.
  10. 시간 입력 결과는 항상 시작 시간, 종료 시간, 총 길이가 동시에 보이도록 구성한다.

5.1 입력안 A. 드래그 슬라이더 + 양 끝 조절

설명

  • 시작/종료 핸들을 좌우로 움직여 범위를 잡는 방식이다.

장점

  • 한 화면에서 시간 범위를 시각적으로 바로 이해할 수 있다.
  • 길이를 넓히거나 줄이는 행위가 직관적으로 보일 수 있다.
  • 익숙한 사용자에게는 빠를 수 있다.

단점

  • 모바일에서 미세 조정이 어렵다.
  • 30분 단위처럼 해상도가 촘촘할수록 오조작이 늘어난다.
  • 손가락이 값을 가리기 때문에 정확한 선택이 불편하다.
  • 접근성과 재현성이 상대적으로 낮다.

평가

  • 보조 시각화로는 괜찮지만 기본 입력 수단으로는 보수적으로 본다.

5.2 입력안 B. 시작 시간 / 종료 시간 각각 스텝퍼 인풋

설명

  • 시작 시간 박스와 종료 시간 박스를 두고, 각 박스에 - / + 버튼을 붙여 단위만큼 이동시키는 방식이다.

장점

  • 현재값이 명확하고 재현 가능한 조작이 가능하다.
  • 30분1시간 모두에 동일한 패턴을 적용할 수 있다.
  • 드래그보다 정확하고 오류 원인을 파악하기 쉽다.

단점

  • 시작과 종료를 각각 조절해야 하므로 조작 수가 늘어날 수 있다.
  • 종료 시간을 먼저 건드려야 하는지 길이를 먼저 생각해야 하는지 혼선이 생길 수 있다.

평가

  • 가장 보수적이고 안정적인 입력안이다.

5.3 입력안 C. 시작 시간 + 길이(Duration) 스텝퍼

설명

  • 시작 시간과 총 길이를 각각 조절하면 종료 시간은 자동 계산되는 방식이다.

장점

  • 파트너가 실제로 생각하는 방식과 가깝다. 몇 시에 시작해서 몇 시간 운영할지로 이해하기 쉽다.
  • 종료 시간을 직접 계산하지 않아도 되어 인지 부담이 줄어든다.
  • 30분1시간 단위 모두에서 빠르게 작동한다.

단점

  • 종료 시간을 직접 지정하고 싶은 사용자에게는 통제감이 약하게 느껴질 수 있다.
  • 길이 개념에 익숙하지 않은 사용자에게는 낯설 수 있다.

평가

  • 현재 가장 유력한 기본안 후보로 본다.

5.4 입력안 D. 인풋 박스 + 업다운 버튼

설명

  • 시간 텍스트를 직접 보여주고, 옆에 업/다운 버튼을 붙여 스텝 단위로 올리거나 내리는 방식이다.

장점

  • 값이 항상 명시적으로 보여 오류를 줄이기 쉽다.
  • 키패드 직접 입력과 버튼 조작을 병행할 수 있다.

단점

  • 직접 입력 허용 시 형식 오류 처리와 포커스 UX가 필요하다.
  • 모바일에서는 키패드 진입 자체가 흐름을 끊을 수 있다.

평가

  • 보조 입력 수단으로는 좋지만, 기본안은 버튼 중심이 더 낫다.

5.5 입력안 E. 빠른 선택 칩 + 세부 조절

설명

  • 30분, 1시간, 2시간, 3시간 같은 프리셋 칩을 먼저 주고, 이후 세부 조절은 버튼으로 보정하는 방식이다.

장점

  • 자주 쓰는 선택을 빠르게 끝낼 수 있다.
  • 파트너의 반복 작업을 줄이기 좋다.
  • 30분 단위여도 복잡도 체감이 낮아진다.

단점

  • 프리셋 구성이 실제 운영 패턴과 맞지 않으면 의미가 약하다.
  • 프리셋만으로는 충분하지 않아 보조 조절 수단이 필요하다.

평가

  • 어떤 기본 입력안과도 같이 쓰는 것이 바람직하다.

5.6 입력안 F. 스크롤 창(wheel picker)

설명

  • 날짜/알람 선택처럼 별도 모달 또는 바텀시트 안에서 시간 값을 스크롤로 고르는 방식이다.

장점

  • 시간 선택 정확도가 높다.
  • 30분 단위나 1시간 단위가 명확하게 구분되어 실수 가능성이 낮다.
  • 모바일 사용자가 익숙하게 느낄 수 있다.
  • 직접 텍스트 입력보다 형식 오류를 줄이기 쉽다.

단점

  • 보통 별도 창이 필요해 현재 입력 흐름이 한 단계 끊긴다.
  • 시작 시간, 종료 시간, 총 길이를 한 화면에서 동시에 비교하기 어렵다.
  • 반복 발행처럼 빠르게 여러 번 입력해야 하는 작업에는 오히려 느릴 수 있다.
  • 모달/바텀시트 설계가 불명확하면 닫기, 적용, 취소 흐름까지 복잡해질 수 있다.

평가

  • 기본 입력안보다는 정밀 조정용 보조 모드 후보로 보는 편이 낫다.

5.7 UX 방향 제안

  1. 기본 입력안은 시작 시간 + 길이(Duration) 스텝퍼 또는 시작/종료 개별 스텝퍼 중 하나로 본다.
  2. 빠른 선택 칩은 기본 입력안에 항상 결합하는 것이 좋다.
  3. 슬라이더는 유지하더라도 보조 시각화 또는 고급 모드로 제한하는 편이 낫다.
  4. 직접 텍스트 입력은 예외 보정 수단으로만 열고, 기본 입력 흐름의 중심으로 두지 않는다.
  5. wheel picker는 기본안보다 보조 모달형 입력으로 검토하는 것이 적절하다.

6. Tech Decision

  1. 시간 기본단위는 클라이언트 입력 제약과 검증 보조 규칙의 문제로 다룬다.
  2. 시간 단위를 바꾸더라도 서버는 분 단위 시각값을 그대로 저장한다.
  3. 기본단위 상수는 한 곳에서 관리해 UI와 검증이 어긋나지 않게 해야 한다.
  4. 시간 기본단위 변경 시 프리셋, 스텝 버튼, 검증 메시지, 중복 판정 체감이 함께 검토되어야 한다.
  5. 입력 UX를 바꾸더라도 내부 시간 계산은 start_at, end_at 기반으로 유지한다.
  6. 시간 조작 컴포넌트는 단위(step), 프리셋, 영업시간 범위, 최소 길이를 주입받는 구조가 바람직하다.

7. Ops Decision

  1. 최종 채택 전까지 운영은 특정 시간 단위를 기본 정책으로 공지하지 않는다.
  2. 채택 후에는 발행 성공률, 발행 완료까지 걸리는 시간, 수정/삭제 비율, 중복 실수 비율을 추적해야 한다.
  3. 시간 단위가 작을수록 운영은 과도하게 잘게 쪼개진 슬롯 생성 여부를 모니터링해야 한다.
  4. 시간 단위가 클수록 운영은 실제 수요 피크를 놓쳐 공급 손실이 발생하는지 확인해야 한다.

8. Alternatives

8.1 대안 A. 기본단위를 30분으로 둔다

장점

  • 점심 직전, 카페 브레이크 타임, 짧은 공실 시간처럼 실제 운영 리듬에 더 가깝다.
  • 파트너가 공급을 더 세밀하게 조절할 수 있다.
  • 업종별 짧은 유휴시간을 프로모션 슬롯으로 전환하기 좋다.
  • 향후 정교한 운영 자동화나 추천 발행 시간대 기능과도 잘 맞는다.

단점

  • 파트너가 선택해야 할 경우의 수가 많아져 발행이 느려질 수 있다.
  • 처음 쓰는 파트너는 30분 단위가 오히려 부담스럽게 느껴질 수 있다.
  • 세밀한 선택이 가능해질수록 잘못된 시간 설정도 늘어날 수 있다.
  • 공급이 지나치게 잘게 쪼개져 사용자 입장에서 일관된 노출을 해칠 수 있다.

8.2 대안 B. 기본단위를 1시간으로 둔다

장점

  • 파트너가 훨씬 빠르게 결정할 수 있다.
  • 발행 화면의 이해도와 완료율이 올라갈 가능성이 높다.
  • 운영 실수와 잘못된 미세 조정 가능성이 줄어든다.
  • MVP 단계에서 가장 단순하고 설명하기 쉽다.

단점

  • 실제 한가한 시간이 30~90분처럼 짧게 생기는 업종에서는 공급 최적화가 거칠어진다.
  • 정밀한 시간대 공략이 어려워 파트너가 체감하는 유연성이 낮아질 수 있다.
  • 일부 업종에서는 1시간 단위가 실제 운영 감각과 맞지 않아 답답하게 느껴질 수 있다.
  • 나중에 30분 단위 요구가 다시 올라오면 정책을 다시 열어야 한다.

8.3 대안 C. 기본은 1시간으로 두고, 일부 조건에서만 30분을 허용한다

장점

  • 대부분 파트너에게는 단순성을 유지하면서, 필요한 경우에만 정밀도를 제공할 수 있다.
  • 1시간 기본값을 유지해 교육 비용을 낮출 수 있다.
  • 특정 업종, 특정 플랜, 특정 화면에서만 정밀도를 열어 실험하기 좋다.

단점

  • 예외 규칙이 생기면 제품 메시지가 복잡해진다.
  • 왜 어떤 파트너는 30분이 되고 어떤 파트너는 안 되는지 설명 비용이 생긴다.
  • 구현과 운영 기준이 복잡해져 MVP의 장점을 약화시킬 수 있다.
  • 장기적으로는 정책이 누더기처럼 쌓일 위험이 있다.

9. Consequences / Impact

긍정 영향

  • 시간 기본단위를 감각이 아니라 운영 목적 기준으로 비교할 수 있다.
  • UI 단순성과 공급 정밀도 사이의 우선순위를 명확히 논의할 수 있다.
  • 향후 변경이 필요해도 무엇을 잃고 무엇을 얻는지 문서 기준이 생긴다.

부정 영향

  • 결정을 미루는 동안 시간 단위에 대한 팀 내 인식이 계속 흔들릴 수 있다.
  • 업종별 다른 요구를 하나의 단위로 묶어 보다가 실제 현장감이 떨어질 수 있다.

주요 리스크

  • 30분 채택 시 과도한 입력 복잡성 리스크
  • 1시간 채택 시 공급 최적화 손실 리스크
  • 혼합안 채택 시 정책 복잡도 리스크
  • 시간 단위 변경이 발행 성공률보다 오히려 혼선만 키울 리스크

10. Scope

  • 파트너 슬롯 발행 화면
  • 시간 선택 UX와 프리셋
  • 슬롯 생성 검증 체감
  • 업종별 공급 운영 패턴

11. Validation

  • 시간 기본단위 결정이 ADR-080의 시간 기준과 충돌하지 않는다.
  • 시간 기본단위 결정이 ADR-090의 발행 제한 계산 규칙과 충돌하지 않는다.
  • 입력 단순성과 표현 원칙이 ADR-260과 충돌하지 않는다.
  • 각 대안의 장단점이 파트너 운영 관점에서 충분히 구체적이다.
  • 기본단위 변경이 서버 상태 규칙을 바꾸는 것이 아님이 명확하다.
  • 기본단위와 입력 방식이 혼동되지 않도록 문서에서 분리되어 있다.

12. Open Questions

  • MVP에서는 단순성을 위해 1시간이 더 적절한가.
  • 카페/식음료처럼 회전이 빠른 업종은 30분이 사실상 더 맞는가.
  • 기본단위를 하나로 고정할지, 업종이나 플랜별 예외를 둘지 결정해야 하는가.
  • 시간 기본단위는 정책 문제인지, UX 실험으로 검증할 문제인지 어디까지 나눌 것인가.
  • 기본 입력안은 시작 시간 + 길이시작/종료 개별 조절 중 무엇이 더 적절한가.
  • 프리셋 칩은 어떤 길이 구성을 기본으로 제공할 것인가.
  • 슬라이더를 완전히 제거할지, 보조 시각화로만 남길지 결정해야 하는가.
  • wheel picker를 보조 입력 모드로 둘 경우, 모달/바텀시트 중 어느 형태가 더 적절한가.