validate_delivery_method(tx_params: tx_params, shipping_enabled: shipping_enabled, pickup_enabled: pickup_enabled)
          .and_then { validate_booking(tx_params: tx_params, quantity_selector: quantity_selector, stripe_in_use: stripe_in_use) }
          .and_then { |result|
            if availability_enabled
              validate_booking_timeslots(listing: listing, tx_params: tx_params)