OCPP 2.0.1 ReserveNow 메시지

 

ReserveNow 개요

ReserveNow는 중앙 시스템(CSMS)이 충전소의 특정 EVSE를 미리 예약하기 위해 보내는 메시지입니다. 이 메시지를 통해 특정 사용자를 위해 충전기를 일정 시간 동안 예약할 수 있으며, 예약된 EVSE는 지정된 사용자만 사용할 수 있도록 제한되어 충전 서비스의 편의성과 효율성을 향상시킵니다.

메시지 구조

Request (CSMS → 충전소)

{
  "id": 123456,
  "expiryDateTime": "2024-08-14T12:00:00.000Z",
  "idToken": {
    "idToken": "RFID12345678",
    "type": "ISO14443"
  },
  "evseId": 1,
  "groupIdToken": {
    "idToken": "GROUP001",
    "type": "ISO14443"
  },
  "connectorType": "cType2"
}

Response (충전소 → CSMS)

{
  "status": "Accepted",
  "statusInfo": {
    "reasonCode": "OK"
  }
}

주요 필드 설명

Request 필드들

필드명 필수여부 타입 설명
id 필수 Integer 예약의 고유 식별자
expiryDateTime 필수 DateTime 예약 만료 시간 (ISO 8601 형식)
idToken 필수 Object 예약 대상 사용자의 인증 토큰
evseId 선택사항 Integer 예약할 특정 EVSE ID (생략 시 자동 선택)
groupIdToken 선택사항 Object 그룹 인증 토큰
connectorType 선택사항 Enum 요구되는 커넥터 타입

idToken 객체 필드들

필드명 필수여부 타입 설명
idToken 필수 String 인증 토큰 값
type 필수 Enum 토큰 타입

type 필드 값 (idToken)

설명
Central 중앙 시스템 토큰
eMAID e-Mobility Account ID
ISO14443 RFID 카드 (ISO14443 표준)
ISO15693 RFID 카드 (ISO15693 표준)
KeyCode 키 코드
Local 로컬 토큰
MacAddress MAC 주소
NoAuthorization 인증 불필요

connectorType 필드 값

설명
cCCS1 CCS1 (Combined Charging System 1)
cCCS2 CCS2 (Combined Charging System 2)
cG105 GB/T AC 커넥터
cTesla Tesla 전용 커넥터
cType1 Type 1 (SAE J1772)
cType2 Type 2 (IEC 62196-2)
s309-1P-16A CEE 7/7 16A
s309-1P-32A CEE 7/7 32A
sBS1361 BS 1361 (영국 표준)
sCEE-7-7 CEE 7/7 (유럽 표준)
sType2 Type 2 소켓
sType3 Type 3 소켓
Other 기타 커넥터

Response 필드들

필드명 필수여부 타입 설명
status 필수 Enum 예약 요청 처리 결과
statusInfo 선택사항 Object 추가 상태 정보

status 필드 값

설명
Accepted 승인됨 - 예약이 성공적으로 생성됨
Faulted 오류 - EVSE 장애로 예약 불가능
Occupied 점유됨 - 해당 EVSE가 현재 사용 중
Rejected 거부됨 - 예약 생성 불가능
Unavailable 사용불가 - EVSE가 서비스 불가 상태

실제 사용 예제

예제 1: 기본적인 EVSE 예약

// Request
{
  "id": 789001,
  "expiryDateTime": "2024-08-14T15:00:00.000Z",
  "idToken": {
    "idToken": "USER123456789",
    "type": "ISO14443"
  },
  "evseId": 2
}

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

예제 2: 특정 커넥터 타입 요구 예약

// Request
{
  "id": 789002,
  "expiryDateTime": "2024-08-14T16:30:00.000Z",
  "idToken": {
    "idToken": "CARD987654321",
    "type": "ISO14443"
  },
  "connectorType": "cCCS2"
}

// Response
{
  "status": "Accepted",
  "statusInfo": {
    "reasonCode": "ReservedConnectorAssigned",
    "additionalInfo": "EVSE 3 assigned"
  }
}

예제 3: 점유된 EVSE 예약 실패

// Request
{
  "id": 789003,
  "expiryDateTime": "2024-08-14T17:00:00.000Z",
  "idToken": {
    "idToken": "APP_USER_001",
    "type": "Central"
  },
  "evseId": 1
}

// Response
{
  "status": "Occupied",
  "statusInfo": {
    "reasonCode": "EVSEOccupied",
    "additionalInfo": "EVSE 1 currently in use"
  }
}

예제 4: 그룹 토큰을 포함한 예약

// Request
{
  "id": 789004,
  "expiryDateTime": "2024-08-14T18:00:00.000Z",
  "idToken": {
    "idToken": "EMPLOYEE001",
    "type": "ISO14443"
  },
  "groupIdToken": {
    "idToken": "COMPANY_FLEET",
    "type": "Central"
  },
  "evseId": 3
}

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

처리 흐름

  1. 예약 요청: CSMS가 사용자 요청 또는 시스템 판단에 따라 ReserveNow 전송
  2. 가용성 확인: 충전소가 해당 EVSE의 현재 상태 및 가용성 확인
  3. 커넥터 매칭: connectorType 지정 시 호환 가능한 EVSE 검색
  4. 예약 처리:
    • Accepted: 예약 생성 및 EVSE 상태를 "Reserved"로 변경
    • Occupied/Faulted/Unavailable: 예약 실패, 사유와 함께 응답
  5. 상태 알림: StatusNotification으로 EVSE 상태 변경 알림
  6. 예약 관리: 만료 시간까지 해당 사용자만 접근 허용
  7. 자동 해제: 만료 시간 도달 시 자동으로 예약 해제

중요 포인트

  • 이 메시지는 CSMS에서 충전소로 보내는 예약 요청 메시지입니다
  • 예약 ID(id)는 나중에 CancelReservation에서 예약 취소 시 사용됩니다
  • evseId를 생략하면 충전소가 가용한 EVSE를 자동으로 선택합니다
  • 예약된 EVSE는 지정된 idToken 사용자만 접근할 수 있습니다
  • expiryDateTime 이후에는 예약이 자동으로 만료되어 일반 사용자도 접근 가능합니다
  • groupIdToken을 통해 특정 그룹(회사, 조직 등)의 사용자들이 공유 예약할 수 있습니다
  • 예약 상태는 StatusNotification 메시지로 별도 알림됩니다
  • 동일한 EVSE에 대한 중복 예약은 거부됩니다
  • 예약 시간은 충전소의 로컬 시간이 아닌 UTC 기준으로 처리됩니다

관련 메시지와의 연관성

  • CancelReservation: 생성된 예약을 취소할 때 사용
  • StatusNotification: 예약으로 인한 EVSE 상태 변경 알림
  • Authorize: 예약된 사용자의 실제 충전 시작 시 인증 확인

이 메시지를 통해 중앙 시스템은 사용자의 충전 계획에 맞춰 EVSE를 미리 확보할 수 있게 하여 충전 서비스의 편의성을 크게 향상시키고, 충전소 운영의 효율성과 사용자 만족도를 동시에 높일 수 있습니다.