public UnknownOrderItemContext(int index, OrderItem orderItem, OpenBookingError openBookingError, string description) : this(index, orderItem)
 {
     this.AddError(openBookingError, description);
 }
 /// <summary>
 /// Create an OpenBookingError with a message specific to the instance of the problem, while maintaining any source exception.
 ///
 /// Note that error.Name and error.StatusCode are set automatically by OpenActive.NET for each error type.
 /// </summary>
 /// <param name="error">The appropriate OpenBookingError</param>
 /// <param name="message">A message that overwrites the the `Description` property of the supplied error</param>
 /// <param name="innerException">The source exception</param>
 public OpenBookingException(OpenBookingError error, string message, Exception innerException) :
     base($"{error.Type}: {error.Name}: {message}", innerException)
 {
     error.Description     = message;
     this.OpenBookingError = error;
 }
 public UnknownOrderItemContext(int index, OrderItem orderItem, OpenBookingError openBookingError) : this(index, orderItem)
 {
     this.AddError(openBookingError);
 }
 /// <summary>
 /// Create an OpenBookingError
 ///
 /// Note that error.Name and error.StatusCode are set automatically by OpenActive.NET for each error type.
 /// </summary>
 /// <param name="error">The appropriate OpenBookingError</param>
 public OpenBookingException(OpenBookingError error) :
     base($"{error.Type}: {error.Name}: {error.Description}")
 {
     this.OpenBookingError = error;
 }