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"
}
처리 흐름
- 취소 필요 판단: CSMS가 예약 취소가 필요하다고 판단 (사용자 요청, 시스템 오류 등)
- 취소 요청 전송: 해당 예약 ID로 CancelReservation 메시지 전송
- 예약 확인: 충전소가 해당 예약 ID의 존재 여부 확인
- 예약 취소 처리:
Accepted
: 예약 삭제 및 EVSE 상태를 "Available"로 변경Rejected
: 예약이 존재하지 않거나 이미 만료됨
- 상태 알림: StatusNotification으로 EVSE 상태 변경 알림
- 가용성 복원: 해당 EVSE가 다시 일반 사용자에게 개방됨
중요 포인트
- 이 메시지는 CSMS에서 충전소로 보내는 예약 관리 메시지입니다
reservationId
는 ReserveNow 메시지에서 사용된id
값과 정확히 일치해야 합니다- 예약이 취소되면 해당 EVSE는 즉시 일반 사용자에게 개방됩니다
- 이미 시작된 충전 세션이 있는 예약은 취소할 수 없습니다
- 만료된 예약에 대한 취소 요청은
Rejected
로 응답됩니다 - 예약 취소 후에는 StatusNotification 메시지로 EVSE 상태 변경을 알려야 합니다
- 사용자 앱, 웹 인터페이스, 시스템 관리자 등 다양한 경로에서 취소 요청이 올 수 있습니다
- 예약 취소는 즉시 처리되어야 하며 지연되어서는 안 됩니다
- 동일한 예약 ID로 중복 취소 요청이 와도 안전하게 처리해야 합니다
관련 메시지와의 연관성
- ReserveNow: 예약 생성 메시지로 이 취소의 대상이 되는 예약을 만듦
- StatusNotification: 예약 취소로 인한 EVSE 상태 변경 알림
- ReservationStatusUpdate: 예약 상태 변경 알림 (일부 구현체에서 사용)
일반적인 취소 시나리오
- 사용자 계획 변경: 사용자가 충전 계획을 변경하여 예약 취소
- 결제 문제: 결제 승인 실패로 인한 자동 예약 취소
- 시스템 유지보수: 긴급 유지보수를 위한 예약 강제 취소
- 중복 예약 해결: 시스템 오류로 생성된 중복 예약 정리
- 사용자 미출현: 예약 시간 경과 후 자동 취소 (만료와는 별개)
이 메시지를 통해 중앙 시스템은 예약 시스템을 유연하게 관리하고, 사용자의 요구사항 변화에 신속하게 대응할 수 있어 전체적인 충전 인프라의 활용률과 사용자 만족도를 최적화할 수 있습니다.