JSFiddle - React, Tailwind, and code Playground

HTML

<div ng-app="myApp">
<div ng-controller="AppCtrl">
<div ng-repeat="session in sessiones">
       Date:  {{session.date }} &nbsp
       Availability: {{session.availability}} 
       Index: {{$index}}
      <a href="#" ng-click="addItem($index, evento, session)"> ADD+ </a>
</div>
</div>
</div>

JavaScript

'use strict';

var app = angular.module('myApp',[]);


app.controller('AppCtrl', function($scope){
var dataEvents={
    "event": {
        "id": "184",
        "title": "The Stone Roses",
        "subtitle": "Tour 2015",
        "image": "/assets/img/sample-image.jpg"
    },
    "sessions": [
        {
            "date": "1443564000000",
            "availability": "6"
        },
        {
            "date": "1442959200000",
            "availability": "3"
        },
        {
            "date": "1447196400000",
            "availability": "10"
        },
        {
            "date": "1444428000000",
            "availability": "5"
        },
        {
            "date": "1446332400000",
            "availability": "8"
        }
    ]
}

$scope.evento = dataEvents.event;
$scope.sessiones = dataEvents.sessions;

$scope.addItem = function(index, event, session) {
  if (session.availability>0){
       $scope.cartItems = $scope.cartItems || {};
       $scope.cartItems[event.id] = $scope.cartItems[event.id] || {title:event.title, sessions:{}}
       $scope.cartItems[event.id].sessions[session.date] =          $scope.cartItems[event.id].sessions[session.date] || {num:0}
       $scope.cartItems[event.id].sessions[session.date].num++;
        session.availability-=1;
        console.log($scope.cartItems);
    }
}


});