/// <summary>
        /// Sets the availability details of the request.
        /// </summary>
        /// <param name="availabilityRequest">
        /// The event details for the request, must not be null.
        /// </param>
        /// <returns>
        /// A reference to the <see cref="RealTimeSequencingRequestBuilder"/>.
        /// </returns>
        public RealTimeSequencingRequestBuilder SequencedAvailabilityRequest(SequencedAvailabilityRequest availabilityRequest)
        {
            Preconditions.NotNull("availability", availabilityRequest);

            this.availabilityRequestBuilder = Builder.Wrap(availabilityRequest);

            return(this);
        }
        /// <inheritdoc/>
        public AvailableSequences GetSequencedAvailability(SequencedAvailabilityRequest availabilityRequest)
        {
            Preconditions.NotNull("availabilityRequest", availabilityRequest);

            var request = new HttpRequest();

            request.Method = "POST";
            request.Url    = this.UrlProvider.SequencedAvailabilityUrl;
            request.AddOAuthAuthorization(this.AccessToken);
            request.SetJsonBody(availabilityRequest);

            var response = this.HttpClient.GetJsonResponse <SequencedAvailabilityResponse>(request);

            return(response.ToSequence());
        }