     func fetchData() {
         let location = viewModel.getSelectedLocation()
         let date = viewModel.getSelectedDate()
+        
+        self.startLoadingViewAnimation()
+        
         GSRNetworkManager.instance.getAvailability(for: location.lid, date: date) { (rooms) in
+            
             DispatchQueue.main.async {
                 if let rooms = rooms {
                     self.viewModel.updateData(with: rooms)
                     self.refreshDataUI()
                     self.rangeSlider.reload()
                     self.refreshBarButton()
+                    self.stopLoadingViewAnimation()
                 }
             }
         }

    }
}

// MARK: - Bar Button Refresh + Handler
extension GSRController: GSRBookable {
    fileprivate func refreshBarButton() {


    fileprivate var viewModel: GSRViewModel!
    
    var loadingView: UIActivityIndicatorView!

    var startingLocation: GSRLocation!

    override func viewDidLoad() {
