EV-RSR-PDU-Descriptions.asn 4.61 KB
Newer Older
garciay's avatar
garciay committed
EV-RechargingSpotReservation-PDU-Descriptions {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (101556) ev-rsr (4) version (1) 
}

DEFINITIONS AUTOMATIC TAGS ::= 

BEGIN

IMPORTS 
   ItsPduHeader FROM ITS-Container {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) 
};

EV-RSR ::= SEQUENCE {
	header		ItsPduHeader,
	messageBody	EV-RSR-MessageBody
}

EV-RSR-MessageBody ::= CHOICE {
 preReservationRequestMessage		PreReservationRequestMessage,
 preReservationResponseMessage		PreReservationResponseMessage,
 reservationRequestMessage				ReservationRequestMessage,
 reservationResponseMessage			ReservationResponseMessage,
 cancellationRequestMessage			CancellationRequestMessage,
 cancellationResponseMessage			CancellationResponseMessage,
 updateRequestMessage						UpdateRequestMessage,
 updateResponseMessage					UpdateResponseMessage,
...
}

PreReservationRequestMessage ::= SEQUENCE {
 evse-ID 			EVSE-ID,
 arrivalTime		TimestampUTC,
 departureTime	TimestampUTC OPTIONAL,
 rechargingType	RechargingType,
 batteryType		BatteryType OPTIONAL,
 ...
}

PreReservationResponseMessage ::= SEQUENCE {
 preReservation-ID						PreReservation-ID,
 availabilityStatus					AvailabilityStatus,
 preReservationExpirationTime	TimestampUTC,
 supportedPaymentTypes 				SupportedPaymentTypes,
 ...
}
 
ReservationRequestMessage ::= SEQUENCE {
 currentTime			TimestampUTC,
 preReservation-ID	PreReservation-ID,
 arrivalTime			TimestampUTC,
 departureTime		TimestampUTC OPTIONAL,
 eAmount				EAmount,
 eAmountMin			EAmount,
 paymentType			PaymentType,
 payment-ID 			Payment-ID,
 secondPayment-ID	Payment-ID OPTIONAL,
 pairing-ID			Pairing-ID OPTIONAL,
 ...
}

ReservationResponseMessage ::= SEQUENCE {
 reservationResponseCode			ReservationResponseCode,
 reservation-ID							Reservation-ID OPTIONAL,
 reservation-Password					Reservation-Password OPTIONAL,
 stationDetails							StationDetails OPTIONAL,
 chargingSpotLabel						ChargingSpotLabel OPTIONAL,
 expirationTime							TimestampUTC,
 freeCancelTimeLimit					TimestampUTC OPTIONAL,
 ...
}

CancellationRequestMessage ::= SEQUENCE {
 reservation-ID				Reservation-ID,
 reservation-Password		Reservation-Password,
 currentTime					TimestampUTC,
 ...
}

CancellationResponseMessage ::= SEQUENCE {
 reservation-ID					Reservation-ID,
 cancellationResponseCode	CancellationResponseCode,
 ...
}

UpdateRequestMessage ::= SEQUENCE {
 reservation-ID				Reservation-ID,
 reservation-Password		Reservation-Password,
 updatedArrivalTime		TimestampUTC,
 updatedDepartureTime		TimestampUTC,
 ...
}

UpdateResponseMessage ::= SEQUENCE {
 reservation-ID			Reservation-ID,
 updateResponseCode	UpdateResponseCode,
 chargingSpotLabel		ChargingSpotLabel OPTIONAL,
 ...
}



AvailabilityStatus ::= ENUMERATED { available, no-free-capacity }

BatteryType ::= UTF8String (SIZE(1..16))

CancellationResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password }

ChargingSpotLabel ::= UTF8String (SIZE(1..4))

ContractID ::= UTF8String (SIZE(1..24))

EAmount ::= INTEGER { oneWh(1) } (1..500000)

ChargingPower ::= INTEGER { oneW(1) } (1..200000)

EVSE-ID ::= OCTET STRING (SIZE(1..32))

ExternalIdentificationMeans ::= UTF8String (SIZE(1..24))

Pairing-ID ::= VisibleString (SIZE(1..64))

PaymentType ::= ENUMERATED {contract, externalIdentification}

Payment-ID ::= CHOICE {
 contractID ContractID,
 externalIdentificationMeans	ExternalIdentificationMeans
}

RechargingType ::= SEQUENCE {
 rechargingMode RechargingMode,
 powerSource PowerSource
}

RechargingMode ::=  INTEGER { mode1(0), mode2(1), mode3(2), mode4(3), quickDrop(8), inductiveChargingWhileStationary(12), inductiveChargingWhileDriving(14) } (0..15)

PowerSource::=  INTEGER { notApplicable(0), ac1Phase(1), ac2Phase(2), ac3Phase(3), dcc(4), chaDeMo(5) } (0..7)
ReservationResponseCode ::= ENUMERATED {ok, invalid-EVSE-ID, payment-type-not-supported, payment-error, authentication-error, insufficient-power-availability }

Reservation-ID ::= VisibleString (SIZE(8))

PreReservation-ID ::= Reservation-ID

Reservation-Password ::= VisibleString (SIZE(8))


StationDetails ::= UTF8String (SIZE(1..32))

SupportedPaymentTypes ::= BIT STRING { contract(0), externalIdentification (1) } (SIZE(2))

TimestampUTC ::= INTEGER { utcStartOf2013(0), oneSecondAfterUTCStartOf2013(1) }

UpdateResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password, invalid-Arrival-Time, invalid-Departure-Time }

StatusResponseCode ::= ENUMERATED { charging-Spot-Occupied, charging-Spot-Unoccupied, charging-Ongoing, reservation-Limit-Exceeded, reservation-Cancelled, unknown-Reservation-ID, expired-Reservation-ID }

END