OCPP 2.0.1 CancelReservation 메시지

 

CancelReservation 개요

CancelReservation은 중앙 시스템(CSMS)이 충전소에 생성된 예약을 취소하기 위해 보내는 메시지입니다. 이 메시지를 통해 사용자 요청, 시스템 오류, 또는 운영상 필요에 의해 기존 예약을 취소하고 해당 EVSE를 다시 일반 사용자에게 개방할 수 있어 예약 시스템의 유연한 관리를 가능하게 합니다.

메시지 구조

Request (CSMS → 충전소)

{
  "reservationId": 123456
}

Response (충전소 → CSMS)

{
  "status": "Accepted"
}

주요 필드 설명

Request 필드들

필드명 필수여부 타입 설명
reservationId 필수 Integer 취소하려는 예약의 고유 식별자 (ReserveNow의 id와 동일)

Response 필드들

필드명 필수여부 타입 설명
status 필수 Enum 예약 취소 요청 처리 결과

status 필드 값

설명
Accepted 승인됨 - 예약이 성공적으로 취소됨
Rejected 거부됨 - 예약 취소 실패 (존재하지 않는 예약 ID 등)

실제 사용 예제

예제 1: 정상적인 예약 취소

// Request
{
  "reservationId": 789001
}

// Response
{
  "status": "Accepted"
}

예제 2: 존재하지 않는 예약 취소 시도

// Request
{
  "reservationId": 999999
}

// Response
{
  "status": "Rejected"
}

예제 3: 사용자 요청에 의한 예약 취소

// Request
{
  "reservationId": 789002
}

// Response
{
  "status": "Accepted"
}

예제 4: 시스템 유지보수를 위한 예약 취소

// Request
{
  "reservationId": 789003
}

// Response
{
  "status": "Accepted"
}

처리 흐름

  1. 취소 필요 판단: CSMS가 예약 취소가 필요하다고 판단 (사용자 요청, 시스템 오류 등)
  2. 취소 요청 전송: 해당 예약 ID로 CancelReservation 메시지 전송
  3. 예약 확인: 충전소가 해당 예약 ID의 존재 여부 확인
  4. 예약 취소 처리:
    • Accepted: 예약 삭제 및 EVSE 상태를 "Available"로 변경
    • Rejected: 예약이 존재하지 않거나 이미 만료됨
  5. 상태 알림: StatusNotification으로 EVSE 상태 변경 알림
  6. 가용성 복원: 해당 EVSE가 다시 일반 사용자에게 개방됨

중요 포인트

  • 이 메시지는 CSMS에서 충전소로 보내는 예약 관리 메시지입니다
  • reservationId는 ReserveNow 메시지에서 사용된 id 값과 정확히 일치해야 합니다
  • 예약이 취소되면 해당 EVSE는 즉시 일반 사용자에게 개방됩니다
  • 이미 시작된 충전 세션이 있는 예약은 취소할 수 없습니다
  • 만료된 예약에 대한 취소 요청은 Rejected로 응답됩니다
  • 예약 취소 후에는 StatusNotification 메시지로 EVSE 상태 변경을 알려야 합니다
  • 사용자 앱, 웹 인터페이스, 시스템 관리자 등 다양한 경로에서 취소 요청이 올 수 있습니다
  • 예약 취소는 즉시 처리되어야 하며 지연되어서는 안 됩니다
  • 동일한 예약 ID로 중복 취소 요청이 와도 안전하게 처리해야 합니다

관련 메시지와의 연관성

  • ReserveNow: 예약 생성 메시지로 이 취소의 대상이 되는 예약을 만듦
  • StatusNotification: 예약 취소로 인한 EVSE 상태 변경 알림
  • ReservationStatusUpdate: 예약 상태 변경 알림 (일부 구현체에서 사용)

일반적인 취소 시나리오

  • 사용자 계획 변경: 사용자가 충전 계획을 변경하여 예약 취소
  • 결제 문제: 결제 승인 실패로 인한 자동 예약 취소
  • 시스템 유지보수: 긴급 유지보수를 위한 예약 강제 취소
  • 중복 예약 해결: 시스템 오류로 생성된 중복 예약 정리
  • 사용자 미출현: 예약 시간 경과 후 자동 취소 (만료와는 별개)

이 메시지를 통해 중앙 시스템은 예약 시스템을 유연하게 관리하고, 사용자의 요구사항 변화에 신속하게 대응할 수 있어 전체적인 충전 인프라의 활용률과 사용자 만족도를 최적화할 수 있습니다.