class PrioTicket::Availabilities
This endpoint should be called in order to get up-to-date availability information for a product with managed capacity. The response will contain the availability for each time slot of the requested product that lies within the specified date range. Time slots will not be omitted in case of no availability. Neither will a NO_AVAILABILITY error be returned in that case. Instead, an explicit vacancy of zero should be expected.
Attributes
from_date_time[RW]
to_date_time[RW]
vacancies[RW]
Public Class Methods
find(distributor_id: nil, ticket_id: nil, from_date: nil, until_date: nil, identifier: nil)
click to toggle source
Calls the request type 'availabilities' with given details and retruns an array of Availabilities
objects
@param distributor_id Integer @return Array
# File lib/prioticket/availabilities.rb, line 29 def self.find(distributor_id: nil, ticket_id: nil, from_date: nil, until_date: nil, identifier: nil) result = PrioTicket::API.call(request_body(ticket_id: ticket_id, distributor_id: distributor_id, from_date: from_date, until_date: until_date), identifier, false) list = [] for a in result["data"]["availabilities"] list << Availabilities.new(a) end return list end
new(args=nil)
click to toggle source
# File lib/prioticket/availabilities.rb, line 16 def initialize(args=nil) return if args.nil? args.each do |k,v| PrioTicket.parse_json_value(self, k,v) end end
request_body(distributor_id: nil, ticket_id: nil, from_date: nil, until_date: nil)
click to toggle source
Computes the request body to send to the API
endpoint @param distributor_id Integer @param ticket_id Integer @param from_date String @param until_date String
@return Hash
# File lib/prioticket/availabilities.rb, line 46 def self.request_body(distributor_id: nil, ticket_id: nil, from_date: nil, until_date: nil) { request_type: "availabilities", data: { distributor_id: distributor_id, ticket_id: ticket_id, from_date: PrioTicket.parsed_date(from_date), until_date: PrioTicket.parsed_date(until_date) } } end
Public Instance Methods
reserve()
click to toggle source
# File lib/prioticket/availabilities.rb, line 59 def reserve # { # "request_type": "reserve", # "data": { # "distributor_id": "501", # "ticket_id": "509", # "pickup_point_id": "Wyndham_Apollo_hotel", # "from_date_time": "2017-11-22T09:00:00+01:00", # "to_date_time": "2017-11-23T09:00:00+01:00", # "booking_details": [ # { # "ticket_type": "ADULT", # "count": 1 # } # ], # "distributor_reference": "ABC123456" # } # } # { # "response_type": "reserve", # "data": { # "reservation_reference": "123456789", # "distributor_reference": "ABC123456", # "booking_status": "Reserved" # } # } end