module Cart

Public Instance Methods

add_contribution(session_key, amount, fund, membership_level, renew=nil, upgrade=nil, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 62
def add_contribution(session_key, amount, fund, membership_level, renew=nil, upgrade=nil, options={})
  parameters =
  {
      'Amount': amount,
      'FundId': fund,
      'Upgrade': upgrade,
      'Renew': renew,
      'MembershipLevelId': membership_level
  }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters)
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Contributions"), options)
end
add_gift_certificate(session_key, amount, name, notes, gift_certificate_type, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 28
def add_gift_certificate(session_key, amount, name, notes, gift_certificate_type, options={})
  parameters =
  {
          'Amount': amount,
          'PaymentMethodId': gift_certificate_type,
          'Notes': notes,
          'Name': name
  }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters)
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/GiftCertificates"), options)
end
add_nfs_package_item(session_key, nfs_package_line_item_id, performance_id, performance_group_id, price_type, package_id, number_of_seats, zone_id, leave_single_seats, unseated, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 179
def add_nfs_package_item(session_key, nfs_package_line_item_id, performance_id, performance_group_id, price_type, package_id, number_of_seats, zone_id, leave_single_seats, unseated, options={})
  parameters =
  {
    "NFSPackageLineItemId": nfs_package_line_item_id,
    "PriceType": price_type,
    "PackageId": package_id,
    "PerformanceId": performance_id,
    "PerformanceGroupId": performance_group_id,
    "NumberOfSeats": number_of_seats,
    "ZoneId": zone_id,
    "LeaveSingleSeats": leave_single_seats,
    "Unseated": unseated
  }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Packages/Nfs"), options)
end
add_on_account(session_key, amount, payment_method_id, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 81
def add_on_account(session_key, amount, payment_method_id, options={})
  parameters =
  {
      'Amount': amount,
      "PaymentMethodId": payment_method_id
  }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters)
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/OnAccount"), options)
end
add_or_update_fee(session_key, action, fee_id, item_fee_id=nil, amount=nil, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 244
def add_or_update_fee(session_key, action, fee_id, item_fee_id=nil, amount=nil, options={})
  parameters =
  {
    "Action": action,
    "ItemFeeId": item_fee_id,
    "FeeId": fee_id,
    "Amount": amount
  }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters)
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Fees"), options)
end
add_order_comment(session_key, notes, solicitor='webapi', options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 119
def add_order_comment(session_key, notes, solicitor='webapi', options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  parameters =
  {
    "Solicitor": solicitor,
    "Notes": notes
  }
  options.merge!(:body => parameters)
  self.class.put(base_api_endpoint("Web/Cart/#{session_key}/Properties"), options)
end
add_package_item(session_key, price_type, package_id, number_of_seats, zone_id, leave_single_seats, parent_package_line_item_id, unseated, requested_seats=nil, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 157
def add_package_item(session_key, price_type, package_id, number_of_seats, zone_id, leave_single_seats, parent_package_line_item_id, unseated, requested_seats=nil, options={})
  parameters =
  {
    "PriceType": price_type,
    "PackageId": package_id,
    "NumberOfSeats": number_of_seats,
    "ZoneId": zone_id,
    "RequestedSeats": requested_seats,
    "LeaveSingleSeats": leave_single_seats,
    "ParentPackageLineItemId": parent_package_line_item_id,
    "Unseated": unseated
  }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Packages/Fixed"), options)
end
add_sub_package_item(session_key, price_type, sub_package_id, number_of_seats, zone_id, leave_single_seats, parent_super_line_item_id, super_line_item_id, unseated, requested_seats=nil, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 202
def add_sub_package_item(session_key, price_type, sub_package_id, number_of_seats, zone_id, leave_single_seats, parent_super_line_item_id, super_line_item_id, unseated, requested_seats=nil, options={})
  parameters =
  {
    "ParentSuperPackageLineItemId": parent_super_line_item_id,
    "SuperPackageLineItemId": super_line_item_id,
    "PriceType": price_type,
    "SubPackageId": sub_package_id,
    "NumberOfSeats": number_of_seats,
    "ZoneId": zone_id,
    "RequestedSeats": requested_seats,
    "LeaveSingleSeats": leave_single_seats,
    "Unseated": unseated
  }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Packages/Super"), options)
end
apply_gift_certificate(session_key, gift_certificate_number, amount, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 46
def apply_gift_certificate(session_key, gift_certificate_number, amount, options={})
  parameters =
      {
          'Amount': amount,
          'GiftCertificateNumber': gift_certificate_number
      }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Payments/GiftCertificate"), options)
end
apply_on_account(session_key, amount, payment_method_id, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 92
def apply_on_account(session_key, amount, payment_method_id, options={})
  parameters =
    {
      'Amount': amount,
      "PaymentMethodId": payment_method_id
    }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Payments/OnAccount"), options)
end
change_mode_of_sale(session_key, code, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 18
def change_mode_of_sale(session_key, code, options={})
  parameters =
      {
          'ModeOfSaleId': code
      }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters)
  self.class.put(base_api_endpoint("Web/Cart/#{session_key}/Properties"), options)
end
checkout(session_key, name_on_card, credit_card_number, cvv_number, credit_card_type, expiration_month, expiration_year, is_order_authorized, order_authorization_code, order_amount, allow_under_payment, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 282
def checkout(session_key, name_on_card, credit_card_number, cvv_number, credit_card_type, expiration_month, expiration_year, is_order_authorized, order_authorization_code, order_amount, allow_under_payment, options={})
  parameters =
      {
        "CreditCardOwner": name_on_card,
        "CreditCardNumber": credit_card_number,
        "CreditCardType": credit_card_type,
        "CreditCardMonth": expiration_month,
        "CreditCardYear": expiration_year,
        "Amount": order_amount,
        "AllowUnderPayment": allow_under_payment,
        "CreditCardAuthenticationCode": cvv_number,
        "Authorize": is_order_authorized,
        "AuthorizationCode": order_authorization_code,
      }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Checkout"), options)
end
empty_cart(session_key, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 13
def empty_cart(session_key, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}"), options)
end
get_cart(session_key, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 3
def get_cart(session_key, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  self.class.get(base_api_endpoint("Web/Cart/#{session_key}?messageTypes=-11"), options)
end
get_checkout_complete(session_key, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 8
def get_checkout_complete(session_key, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  self.class.get(base_api_endpoint("Web/Cart/#{session_key}&savedCart=true"), options)
end
get_properties(session_key, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 108
def get_properties(session_key, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  self.class.get(base_api_endpoint("Web/Cart/#{session_key}/Properties"), options)
end
print_ticket_elements(session_key, order_id, ticket_design, reprint, mode, new_ticket_no=false, options={}) click to toggle source
remove_contribution(session_key, line_item_id, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 76
def remove_contribution(session_key, line_item_id, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/Contributions/#{line_item_id}"), options)
end
remove_gift_certificate(session_key, gift_certificate_number, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 41
def remove_gift_certificate(session_key, gift_certificate_number, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/GiftCertificates/#{gift_certificate_number}"), options)
end
remove_nfs_package_item(session_key, line_item_id, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 197
def remove_nfs_package_item(session_key, line_item_id, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/Packages/Nfs/#{line_item_id}"), options)
end
remove_on_account(session_key, payment_id, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 103
def remove_on_account(session_key, payment_id, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/OnAccount/#{payment_id}"), options)
end
remove_package_item(session_key, package_id, line_item_id, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 174
def remove_package_item(session_key, package_id, line_item_id, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/Packages/Fixed/#{package_id}/#{line_item_id}"), options)
end
remove_sub_package_item(session_key, super_package_id, super_package_line_item_id, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 220
def remove_sub_package_item(session_key, super_package_id, super_package_line_item_id, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/Packages/Super/#{super_package_id}/#{super_package_line_item_id}"), options)
end
remove_tickets(session_key, performance_id, line_item_id, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 239
def remove_tickets(session_key, performance_id, line_item_id, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  self.class.delete(base_api_endpoint("/Web/Cart/#{session_key}/Tickets/#{performance_id}/#{line_item_id}"), options)
end
reserve_tickets(session_key, number_of_seats, perf_id, price_type, zone_id, unseated, requested_seats=nil, special_requests=nil, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 130
def reserve_tickets(session_key, number_of_seats, perf_id, price_type, zone_id, unseated, requested_seats=nil, special_requests=nil, options={})
  parameters =
  {
    "PriceType": price_type,
    "PerformanceId": perf_id,
    "NumberOfSeats": number_of_seats,
    "ZoneId": zone_id,
    "SpecialRequests": special_requests,
    "Unseated": unseated,
    "RequestedSeats": requested_seats
  }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
  self.class.post(base_api_endpoint("/Web/Cart/#{session_key}/Tickets"), options)
end
return_tickets(session_key, return_or_donate, id, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 146
def return_tickets(session_key, return_or_donate, id, options={})
  parameters =
  {
    "TicketNumber": id,
    "ReturnOrDonate": return_or_donate
  }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters)
  self.class.post(base_api_endpoint("/Web/Cart/#{session_key}/Tickets/Return"), options)
end
un_apply_gift_certificate(session_key, gift_certificate_number, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 57
def un_apply_gift_certificate(session_key, gift_certificate_number, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/Payments/GiftCertificate/#{gift_certificate_number}"), options)
end
update_cart_properties_custom_data(session_key, index, value, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 270
def update_cart_properties_custom_data(session_key, index, value, options={})
  parameters =
  {
    "Index": index,
    "Value": value
  }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters)
  put = self.class.put(base_api_endpoint("Web/Cart/#{session_key}/CustomData/#{index}"), options)
  put.success?
end
update_properties(session_key, get_properties_response, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 113
def update_properties(session_key, get_properties_response, options={})
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => get_properties_response)
  self.class.put(base_api_endpoint("Web/Cart/#{session_key}/Properties"), options)
end
validate_cart(session_key, super_package=false, fixed=false, flex=false, plan=false, options={}) click to toggle source
# File lib/tessitura_rest/web/cart.rb, line 257
def validate_cart(session_key, super_package=false, fixed=false, flex=false, plan=false, options={})
  parameters =
  {
    "ValidateSuperPackages": super_package,
    "ValidateFSPackages": fixed,
    "ValidateNFSPackages": flex,
    "ValidatePaymentPlan": plan
  }
  options.merge!(basic_auth: @auth, headers: @headers)
  options.merge!(:body => parameters)
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Validate"), options)
end