{
  "swagger": "2.0",
  "paths": {
    "/api/v2/connections/{user_id}": {
      "get": {
        "tags": [
          "apple_watch"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "connections": {
                "$ref": "#/definitions/Connections"
              }
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "type": "integer",
            "required": true,
            "name": "user_id",
            "in": "path",
            "description": "User Id"
          }
        ],
        "operationId": "Atena.SessionController.connections_wearable",
        "description": "Obtain a connection list"
      }
    },
    "/api/v1/workouts": {
      "post": {
        "tags": [
          "workouts"
        ],
        "summary": "",
        "responses": {
          "400": {
            "schema": {
              "error": {
                "message": "",
                "events_already_created": [
                  {
                    "is_valid": true,
                    "id": 3,
                    "external_id": "ABC"
                  }
                ],
                "events": []
              }
            },
            "description": "Error"
          },
          "201": {
            "schema": {
              "message": "valid event created",
              "events_already_created": [
                {
                  "is_valid": true,
                  "id": 2,
                  "external_id": "ABC"
                }
              ],
              "events": [
                {
                  "is_valid": true,
                  "id": 3,
                  "external_id": "ABC"
                }
              ]
            },
            "description": "Success"
          },
          "200": {
            "schema": {
              "message": "multiple events created",
              "events_already_created": [
                {
                  "is_valid": true,
                  "id": 2,
                  "external_id": "ABC"
                }
              ],
              "events": [
                {
                  "is_valid": true,
                  "id": 3,
                  "external_id": "ABC"
                }
              ]
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "schema": {
              "$ref": "#/definitions/Workout"
            },
            "required": false,
            "require": true,
            "name": "workout",
            "in": "body",
            "description": "Body parameters"
          }
        ],
        "operationId": "Atena.WorkoutController.create",
        "description": "Create a workout"
      }
    },
    "/api/v1/users/{user_id}/get_questions_connect/{brand_id}": {
      "get": {
        "tags": [
          "brand"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "400": {
            "schema": {
              "error": {
                "message": "Parameters send on json are not valid"
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "questions": {
                "$ref": "#/definitions/RequestQuestions"
              },
              "connect_help_verified": false,
              "brand_id": 1
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "type": "integer",
            "required": true,
            "name": "user_id",
            "in": "path",
            "description": "User Id"
          },
          {
            "type": "integer",
            "required": true,
            "name": "brand_id",
            "in": "path",
            "description": "Brand Id"
          }
        ],
        "operationId": "Atena.RequestGymController.questions_connect",
        "description": "Obtains questions to request a brand connection"
      }
    },
    "/api/v1/users/{user_id}/check_in_request_brand/{brand_id}/timezone/{timezone}": {
      "get": {
        "tags": [
          "brand"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "400": {
            "schema": {
              "error": {
                "message": "Parameters send on json are not valid"
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "locations": {
                "$ref": "#/definitions/Elixir.Locations"
              },
              "date_range": {
                "$ref": "#/definitions/Elixir.Dates"
              },
              "check_in_reasons": {
                "$ref": "#/definitions/Elixir.CheckInReasons"
              },
              "brand": {
                "$ref": "#/definitions/Elixir.BrandSchema"
              }
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "type": "integer",
            "required": true,
            "name": "user_id",
            "in": "path",
            "description": "User Id"
          },
          {
            "type": "integer",
            "required": true,
            "name": "brand_id",
            "in": "path",
            "description": "Brand Id"
          },
          {
            "type": "string",
            "required": true,
            "name": "timezone",
            "in": "path",
            "description": "Timezone from client"
          }
        ],
        "operationId": "Atena.CheckInController.check_in_request_timezone_brand",
        "description": "Obtain a check in request options for user_id and brand_id"
      }
    },
    "/api/v1/users/{user_id}/check_in_request": {
      "post": {
        "tags": [
          "brand"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "400": {
            "schema": {
              "error": "invalid local_datetime"
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "message": "check in has been received"
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "type": "integer",
            "required": true,
            "name": "user_id",
            "in": "path",
            "description": "User Id"
          },
          {
            "schema": {
              "$ref": "#/definitions/CheckinRequest"
            },
            "required": true,
            "name": "check_in_request",
            "in": "body",
            "description": "Body parameters"
          }
        ],
        "operationId": "Atena.CheckInController.check_in_brand",
        "description": "Send info to write a check in request for user"
      }
    },
    "/api/v1/users/{user_id}/brands": {
      "get": {
        "tags": [
          "brand"
        ],
        "summary": "",
        "responses": {
          "200": {
            "schema": {
              "brands": {
                "$ref": "#/definitions/Brands"
              }
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "type": "integer",
            "required": true,
            "name": "user_id",
            "in": "path",
            "description": "User Id"
          }
        ],
        "operationId": "Atena.BrandController.brands",
        "description": "Obtain a brand list"
      }
    },
    "/api/v1/users/{user_id}/brand/{brand_id}/spots": {
      "get": {
        "tags": [
          "brand"
        ],
        "summary": "",
        "responses": {
          "200": {
            "schema": {
              "spots": {
                "$ref": "#/definitions/Spots"
              }
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "type": "integer",
            "required": true,
            "name": "user_id",
            "in": "path",
            "description": "User Id"
          },
          {
            "type": "integer",
            "required": true,
            "name": "brand_id",
            "in": "path",
            "description": "Brand Id"
          }
        ],
        "operationId": "Atena.BrandController.brand_spots",
        "description": "Obtain a spot list from brand_id"
      }
    },
    "/api/v1/users/{user_id}/brand/{brand_id}/disconnect": {
      "delete": {
        "tags": [
          "brand"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "ok": "Brand disconnect"
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "type": "integer",
            "required": true,
            "name": "user_id",
            "in": "path",
            "description": "User Id"
          },
          {
            "type": "integer",
            "required": true,
            "name": "brand_id",
            "in": "path",
            "description": "Brand Id"
          }
        ],
        "operationId": "Atena.BrandController.disconnect",
        "description": "disconnect brand"
      }
    },
    "/api/v1/users/{user_id}/answers_connect": {
      "post": {
        "tags": [
          "brand"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "400": {
            "schema": {
              "error": {
                "message": "Parameters send on json are not valid"
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "message": "The verification data has been received"
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "type": "integer",
            "required": true,
            "name": "user_id",
            "in": "path",
            "description": "User Id"
          },
          {
            "schema": {
              "$ref": "#/definitions/RequestAnswersData"
            },
            "required": true,
            "name": "answers_data",
            "in": "body",
            "description": "Body parameters"
          }
        ],
        "operationId": "Atena.RequestGymController.answers_connect",
        "description": "Obtains questions to request a brand connection"
      }
    },
    "/api/v1/request_gym": {
      "post": {
        "tags": [
          "brand"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "400": {
            "schema": {
              "error": {
                "message": "Parameters send on json are not valid"
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "ok": "The internal email has been sent",
              "code": "0F8R"
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "schema": {
              "$ref": "#/definitions/RequestData"
            },
            "required": true,
            "name": "request_data",
            "in": "body",
            "description": "Body parameters"
          }
        ],
        "operationId": "Atena.RequestGymController.request_info",
        "description": "Request a gym or location from rj clients"
      }
    },
    "/api/v1/invite/{uuid}": {
      "get": {
        "tags": [
          "brand"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "$ref": "#/definitions/Elixir.BidConnected"
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "type": "string",
            "required": true,
            "name": "uuid",
            "in": "path",
            "description": "uuid from external invite"
          }
        ],
        "operationId": "Atena.SessionController.invited",
        "description": "Connect brand from external invite (magic button)"
      }
    },
    "/api/v1/disconnect/apple_watch/:user_id": {
      "delete": {
        "tags": [
          "apple_watch"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "ok": "Apple Watch disconnect"
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "type": "integer",
            "required": true,
            "name": "user_id",
            "in": "path",
            "description": "User Id"
          }
        ],
        "operationId": "Atena.SessionController.disconnect_apple_watch",
        "description": "disconnect apple watch from connections"
      }
    },
    "/api/v1/connections/{user_id}": {
      "get": {
        "tags": [
          "brand"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "connections": {
                "$ref": "#/definitions/Connections"
              }
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "type": "integer",
            "required": true,
            "name": "user_id",
            "in": "path",
            "description": "User Id"
          }
        ],
        "operationId": "Atena.SessionController.connections",
        "description": "Obtain a connection list"
      }
    },
    "/api/v1/connect/apple_watch": {
      "post": {
        "tags": [
          "apple_watch"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "400": {
            "schema": {
              "error": {
                "message": "Parameters send on json are not valid"
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "ok": "Apple Watch Connected"
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "schema": {
              "$ref": "#/definitions/AppleWatchRequest"
            },
            "required": true,
            "name": "brand",
            "in": "body",
            "description": "Body parameters"
          }
        ],
        "operationId": "Atena.SessionController.connect_apple_watch",
        "description": "Connect apple watch like account"
      }
    },
    "/api/v1/chat/subscription_date/{team_id}": {
      "get": {
        "tags": [
          "chat"
        ],
        "summary": "",
        "responses": {
          "400": {
            "schema": {
              "$ref": "#/definitions/SubscriptionDateTeamError"
            },
            "examples": {
              "application/json": {
                "error": "Team does not exist"
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "$ref": "#/definitions/SubscriptionDateSuccess"
            },
            "examples": {
              "application/json": {
                "subscription_date": 1518652892
              }
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "type": "integer",
            "required": true,
            "name": "team_id",
            "in": "path",
            "description": "Team Id"
          }
        ],
        "operationId": "Atena.ChatController.subscription_date",
        "description": "Obtain a subscription date in chat room by team in epoch format"
      }
    },
    "/api/v1/challenge/want": {
      "post": {
        "tags": [
          "challenge"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "400": {
            "schema": {
              "error": {
                "message": "Parameters send on json are not valid"
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "ok": "Challenge lead created"
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "schema": {
              "$ref": "#/definitions/ChallengeLeadRequest"
            },
            "required": true,
            "name": "challenge",
            "in": "body",
            "description": "Body parameters"
          }
        ],
        "operationId": "Atena.ChallengeController.create",
        "description": "create a challenge lead record"
      }
    },
    "/api/v1/brand/connect_beacon": {
      "post": {
        "tags": [
          "brand"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "400": {
            "schema": {
              "error": {
                "message": "Parameters send on json are not valid"
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "ok": "Brand connected"
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "schema": {
              "$ref": "#/definitions/ConnectBeaconBrandRequest"
            },
            "required": true,
            "name": "brand",
            "in": "body",
            "description": "Body parameters"
          }
        ],
        "operationId": "Atena.BrandController.connect_beacon",
        "description": "Connect to brand"
      }
    },
    "/api/v1/brand/connect": {
      "post": {
        "tags": [
          "brand"
        ],
        "summary": "",
        "responses": {
          "403": {
            "schema": {
              "error": {
                "message": "Not enough permissions."
              }
            },
            "description": "Error"
          },
          "400": {
            "schema": {
              "error": {
                "message": "Parameters send on json are not valid"
              }
            },
            "description": "Error"
          },
          "200": {
            "schema": {
              "ok": "The internal email has been sent"
            },
            "description": "Success"
          }
        },
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "required": true,
            "name": "authorization",
            "in": "header",
            "description": "Access token"
          },
          {
            "schema": {
              "$ref": "#/definitions/ConnectBeaconBrandRequest2"
            },
            "required": true,
            "name": "brand",
            "in": "body",
            "description": "Body parameters"
          }
        ],
        "operationId": "Atena.BrandController.connect",
        "description": "Connect to brand"
      }
    }
  },
  "info": {
    "version": "1.0",
    "title": "rocket_journey"
  },
  "definitions": {
    "Workout": {
      "type": "object",
      "title": "Workout",
      "required": [
        "workouts"
      ],
      "properties": {
        "workouts": {
          "type": "map",
          "description": "Array of workouts"
        }
      },
      "description": "Workout event"
    },
    "AppleWatchRequest": {
      "type": "object",
      "title": "Apple Watch Request",
      "required": [
        "user_id"
      ],
      "properties": {
        "user_id": {
          "type": "integer",
          "description": "User identifier"
        }
      },
      "example": {
        "user_id": 6895
      },
      "description": "Apple Watch Request to connect to generate new account"
    },
    "BrandResponse": {
      "type": "object",
      "title": "Brand response",
      "required": [
        "brand_id"
      ],
      "properties": {
        "brand_id": {
          "type": "integer",
          "description": "brand id"
        }
      },
      "description": "brand id"
    },
    "RequestQuestion": {
      "type": "object",
      "title": "Request question",
      "required": [
        "field"
      ],
      "properties": {
        "field": {
          "type": "string",
          "description": "Question field"
        }
      },
      "example": {
        "field": "# de Membresía"
      },
      "description": "A request question to connect"
    },
    "Spot": {
      "type": "object",
      "title": "Spot",
      "required": [
        "location_id",
        "phone_number",
        "street_address",
        "branch_name",
        "is_active",
        "badge_url",
        "id",
        "name"
      ],
      "properties": {
        "street_address": {
          "type": "string",
          "description": "String address"
        },
        "phone_number": {
          "type": "string",
          "description": "String address"
        },
        "name": {
          "type": "string",
          "description": "Spot name"
        },
        "location_id": {
          "type": "string",
          "description": "Location identifier"
        },
        "is_active": {
          "type": "boolean",
          "description": "Flag that indicates is active"
        },
        "id": {
          "type": "integer",
          "description": "Unique identifier"
        },
        "branch_name": {
          "type": "string",
          "description": "Branch name"
        },
        "badge_url": {
          "type": "string",
          "description": "Badge URL"
        }
      },
      "example": {
        "street_address": "free slot",
        "phone_number": "free slot",
        "name": "54D Polanco",
        "location_id": "2",
        "is_active": true,
        "id": 56,
        "branch_name": "Polanco",
        "badge_url": "https://assets.rocketjourney.com/locations/icons/54d.png"
      },
      "description": "A Spot that belongs to Brand"
    },
    "RequestData": {
      "type": "object",
      "title": "Request data for gym or location",
      "required": [
        "brand_id",
        "city",
        "request_type",
        "user_id",
        "gym_name",
        "typed_name"
      ],
      "properties": {
        "user_id": {
          "type": "integer",
          "description": "User id"
        },
        "typed_name": {
          "type": "string",
          "description": "Name in form"
        },
        "request_type": {
          "type": "string",
          "description": "Request type (brand | location)"
        },
        "gym_name": {
          "type": "string",
          "description": "Gyn name"
        },
        "city": {
          "type": "string",
          "description": "City form"
        },
        "brand_id": {
          "type": "integer",
          "description": "Brand id if request a location or null if request a new gym"
        }
      },
      "example": {
        "user_id": 100,
        "typed_name": "User",
        "request_type": "spot",
        "gym_name": "Gym test locations",
        "city": "Mexico",
        "brand_id": 1
      },
      "description": "Request data in json format"
    },
    "SubscriptionDateSuccess": {
      "type": "object",
      "title": "SubscriptionDateSuccess",
      "properties": {
        "subscription_date": {
          "type": "integer",
          "description": "Success message"
        }
      },
      "example": {
        "message": "Success"
      },
      "description": "date subscription success"
    },
    "RequestQuestions": {
      "type": "array",
      "title": "User request questions",
      "items": {
        "$ref": "#/definitions/RequestQuestion"
      },
      "description": "A collection of Request question"
    },
    "ConnectBeaconBrandRequest": {
      "type": "object",
      "title": "ConnectBeaconBrandRequest",
      "required": [
        "user_id",
        "brand_id"
      ],
      "properties": {
        "user_id": {
          "type": "integer",
          "description": "User identifier"
        },
        "brand_id": {
          "type": "integer",
          "description": "Brand identifier"
        }
      },
      "example": {
        "user_id": 6895,
        "brand_id": 5
      },
      "description": "POST body for connect a brand"
    },
    "SubscriptionDateError": {
      "type": "object",
      "title": "SubscriptionDateError",
      "properties": {
        "error": {
          "type": "string",
          "description": "Chat room does not exist"
        }
      },
      "example": {
        "error": "Chat room does not exist"
      },
      "description": "Subscription date error"
    },
    "CustomData": {
      "type": "object",
      "title": "Custo data",
      "properties": {
        "custom_data": {
          "$ref": "#/definitions/AnswersConnect"
        }
      },
      "description": "custom data node"
    },
    "CheckinRequest": {
      "type": "object",
      "title": "UserCheckinRequest",
      "required": [
        "reason",
        "timezone",
        "local_datetime",
        "spot_id"
      ],
      "properties": {
        "timezone": {
          "type": "string",
          "description": "Client time zone"
        },
        "spot_id": {
          "type": "integer",
          "description": "Spot identifier"
        },
        "reason": {
          "type": "string",
          "description": "Checkin request reason"
        },
        "local_datetime": {
          "type": "integer",
          "description": "local_datetime as epoch"
        }
      },
      "example": {
        "timezone": "America/Mexico_City",
        "spot_id": 1,
        "reason": "Other reason",
        "local_datetime": 1535740462
      },
      "description": "POST body for user checkin request"
    },
    "CheckInReason": {
      "type": "object",
      "title": "CheckIn request_data",
      "required": [
        "reason",
        "order"
      ],
      "properties": {
        "reason": {
          "type": "string",
          "description": "Reason for check_in request"
        },
        "order": {
          "type": "integer",
          "description": "Order for date"
        }
      },
      "example": {
        "reason": "I don’t know",
        "order": 0
      },
      "description": "Reason for check_in request"
    },
    "BidRequest": {
      "type": "object",
      "title": "Bid request",
      "required": [
        "bid"
      ],
      "properties": {
        "bid": {
          "type": "string",
          "description": "bid identifier"
        }
      },
      "example": {
        "bid": "ba7f37c2-2851-4774-9e5b-81f5737e8be8"
      },
      "description": "POST body for connect a brand from external invite"
    },
    "SubscriptionDateTeamError": {
      "type": "object",
      "title": "SubscriptionDateTeamError",
      "properties": {
        "error": {
          "type": "string",
          "description": "Team does not exist"
        }
      },
      "example": {
        "error": "Team does not exist"
      },
      "description": "Subscription date tema error"
    },
    "Connections": {
      "type": "array",
      "title": "Connections",
      "items": {
        "$ref": "#/definitions/Connection"
      },
      "description": "A Connection list"
    },
    "BidExpired": {
      "type": "object",
      "title": "Bid response expired",
      "required": [
        "email",
        "badge_url",
        "brand_name",
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "Connection type"
        },
        "email": {
          "type": "string",
          "description": "email for external invite"
        },
        "brand_name": {
          "type": "string",
          "description": "brand name"
        },
        "badge_url": {
          "type": "string",
          "description": "brand badge url"
        }
      },
      "example": {
        "type": "expired",
        "email": "example@domain.com",
        "brand_name": "sportsworld",
        "badge_url": "https://assets.rocketjourney.com/locations/icons/sportsworld.png"
      },
      "description": "bid response expired"
    },
    "ConnectBeaconBrandRequest2": {
      "type": "object",
      "title": "ConnectBeaconBrandRequest",
      "required": [
        "email",
        "user_id",
        "brand_id"
      ],
      "properties": {
        "user_id": {
          "type": "integer",
          "description": "User identifier"
        },
        "email": {
          "type": "string",
          "description": "Email"
        },
        "brand_id": {
          "type": "integer",
          "description": "Brand identifier"
        }
      },
      "example": {
        "user_id": 6895,
        "email": "your_mail@domain.com",
        "brand_id": 5
      },
      "description": "POST body for connect a brand"
    },
    "Spots": {
      "type": "array",
      "title": "Spots",
      "items": {
        "$ref": "#/definitions/Spot"
      },
      "description": "A collection of Spots"
    },
    "Brands": {
      "type": "array",
      "title": "Brands",
      "items": {
        "$ref": "#/definitions/BrandSchema"
      },
      "description": "A collection of Brands"
    },
    "RequestGymInfo": {
      "type": "object",
      "title": "Request gym info",
      "required": [
        "user_id",
        "gym_name",
        "user_name",
        "request_type",
        "city"
      ],
      "properties": {
        "user_name": {
          "type": "string",
          "description": "User name"
        },
        "user_id": {
          "type": "integer",
          "description": "User identifier"
        },
        "request_type": {
          "type": "string",
          "description": "Request type (location| brand)"
        },
        "gym_name": {
          "type": "string",
          "description": "Gym name"
        },
        "city": {
          "type": "string",
          "description": "City"
        },
        "brand_id": {
          "type": "integer",
          "description": "Brand id"
        }
      },
      "example": {
        "user_name": "Test User",
        "user_id": 6895,
        "request_type": "brand",
        "gym_name": "test gym",
        "city": "Mx"
      },
      "description": "POST body for request gym"
    },
    "AnswersConnect": {
      "type": "array",
      "title": "Answers to connect",
      "items": {
        "$ref": "#/definitions/AnswerConnect"
      },
      "description": "A collection of Answers to connect"
    },
    "ConnectHelpVerified": {
      "type": "object",
      "title": "Connect help verified",
      "required": [
        "connect_help_verified"
      ],
      "properties": {
        "connect_help_verified": {
          "type": "bool",
          "description": "Connect verification"
        }
      },
      "example": {
        "connect_help_verified": false
      },
      "description": "flag to know connect verification"
    },
    "Date": {
      "type": "object",
      "title": "Date",
      "required": [
        "date",
        "order"
      ],
      "properties": {
        "order": {
          "type": "integer",
          "description": "Order for date"
        },
        "date": {
          "type": "integer",
          "description": "Date in epoch format"
        }
      },
      "example": {
        "order": 3,
        "date": 1535587200
      },
      "description": "date for request check_in"
    },
    "AnswerConnect": {
      "type": "object",
      "title": "Answer connect",
      "required": [
        "field",
        "value"
      ],
      "properties": {
        "value": {
          "type": "string",
          "description": "Answer value"
        },
        "field": {
          "type": "string",
          "description": "Question value"
        }
      },
      "example": {
        "value": "885",
        "field": "# de Membresía"
      },
      "description": "Answer to connect"
    },
    "Connection": {
      "type": "object",
      "title": "Connection",
      "required": [
        "access_token",
        "badge_url",
        "brand_id",
        "id",
        "app",
        "strava_id",
        "namespace",
        "name",
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "Connection type"
        },
        "strava_id": {
          "type": "string",
          "description": "Connection name"
        },
        "namespace": {
          "type": "string",
          "description": "Namespace"
        },
        "name": {
          "type": "string",
          "description": "Connection name"
        },
        "id": {
          "type": "integer",
          "description": "Unique identifier"
        },
        "check_in_method": {
          "type": "string",
          "description": "Check-in method"
        },
        "brand_id": {
          "type": "integer",
          "description": "Brand identifier"
        },
        "brand_connection_method": {
          "type": "string",
          "description": "Connection method for brand"
        },
        "badge_url": {
          "type": "string",
          "description": "Brand logo"
        },
        "app": {
          "type": "string",
          "description": "App identifier"
        },
        "action": {
          "type": "string",
          "description": "Action"
        },
        "access_token": {
          "type": "string",
          "description": "Access token"
        }
      },
      "example": {
        "type": "gym",
        "name": "Sports World",
        "id": 38214,
        "connection_status": "pending",
        "check_in_method": "",
        "brand_id": 2,
        "brand_connection_method": "beacon",
        "badge_url": "https://assets.rocketjourney.com/locations/icons/sportsworld.png",
        "action": ""
      },
      "description": "A Connection"
    },
    "CheckInReasons": {
      "type": "array",
      "title": "CheckIn Reason",
      "items": {
        "$ref": "#/definitions/CheckInReason"
      },
      "description": "A collection of check_in reason"
    },
    "BrandSchema": {
      "type": "object",
      "title": "Brand",
      "required": [
        "id",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Brand name"
        },
        "id": {
          "type": "integer",
          "description": "Unique identifier"
        }
      },
      "example": {
        "name": "brand one",
        "id": 1
      },
      "description": "A brand"
    },
    "Dates": {
      "type": "array",
      "title": "Dates for check_in reason",
      "items": {
        "$ref": "#/definitions/Date"
      },
      "description": "A collection of dates"
    },
    "ChallengeLeadRequest": {
      "type": "object",
      "title": "ChallengeLeadRequest",
      "required": [
        "challenge"
      ],
      "properties": {
        "challenge": {
          "type": "string",
          "description": "Challenge name"
        }
      },
      "example": {
        "challenge": "weight change"
      },
      "description": "POST body for challenge lead"
    },
    "RequestAnswersData": {
      "type": "object",
      "title": "Request data",
      "required": [
        "name",
        "brand_id",
        "email"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "User name"
        },
        "email": {
          "type": "string",
          "description": "User email"
        },
        "data": {
          "$ref": "#/definitions/CustomData"
        },
        "brand_id": {
          "type": "integer",
          "description": "Brand Id"
        }
      },
      "example": {
        "name": "test name",
        "email": "mail@domain.com",
        "data": {
          "custom_data": [
            {
              "value": "5045",
              "field": "# de Membresía"
            },
            {
              "value": "Garden Santa Fe",
              "field": "Sucursal Sede"
            }
          ]
        },
        "brand_id": 1
      },
      "description": "Request data in json format"
    },
    "Locations": {
      "type": "array",
      "title": "Locations",
      "items": {
        "$ref": "#/definitions/Location"
      },
      "description": "A collection of Locations"
    },
    "Location": {
      "type": "object",
      "title": "Location",
      "required": [
        "id",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Location name"
        },
        "id": {
          "type": "integer",
          "description": "Unique identifier"
        }
      },
      "example": {
        "name": "Polanco",
        "id": 56
      },
      "description": "A location for brand"
    },
    "BidConnected": {
      "type": "object",
      "title": "Bid response connected",
      "required": [
        "email",
        "badge_url",
        "brand_name",
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "Connection type"
        },
        "email": {
          "type": "string",
          "description": "email for external invite"
        },
        "brand_name": {
          "type": "string",
          "description": "brand name"
        },
        "badge_url": {
          "type": "string",
          "description": "brand badge url"
        }
      },
      "example": {
        "type": "expired",
        "email": "example@domain.com",
        "brand_name": "sportsworld",
        "badge_url": "https://assets.rocketjourney.com/locations/icons/sportsworld.png"
      },
      "description": "bid response connected"
    }
  }
}