ParkingSessionFailure specification

The definition of a ParkingSessionFailures for use in CreateParkingSession and UpdateParkingSession.

message ParkingSessionFailure {
  enum Cause {
    CAUSE_UNKNOWN = 0;
    // The price supplied is rejected, either price has changed or expired.
    PRICE_REJECTED = 1;
    // The associated session is expired, extension cannot be made.
    SESSION_EXPIRED_FOR_EXTENSION = 2;
    // An error was encountered while processing the payment for this booking.
    PAYMENT_ERROR = 3;
    // A conflicting session was found for this user.
    OVERLAPPING_SESSION = 4;
    // The provided existing session_id is invalid.
    INVALID_EXISTING_SESSION_ID = 5;
    // The requested time range is invalid, i.e. the end time has already
    // passed.
    INVALID_TIME_RANGE = 6;
  }
  Cause cause = 1;

  // A human readable description of the failure to aid in debugging.
  string description = 2;
}