# Guests

# Get Guest List

By using this API endpoint, it is possible to get the list of end-users.

Please note that you cannot get more than 100 records per request. In case you need to get more than 100 records, then you should make more than one request.

# Endpoint

GET /guests

# Parameters

Name Type Description
username string Username
yas_id string Yas ID
name string Full name of end-user
email string Email address
birth_date date Date of birth (format: yyyy-mm-dd)
location_id string Location / venue ID
gender string Gender
Values: male, female
phone string Mobile / phone number
passport_no string Passport number
nationality string Nationality code. ISO 3166-1 alpha-2 country code
room_no string Room number
reservation_no string Reservation number
custom_field_1 string Custom field 1
custom_field_2 string Custom field 2
custom_field_3 string Custom field 3
online boolean If the end-user is currently online or not. true / false
last_visit_date date Returns end users visited after the entered date (format: yyyy-mm-dd)
receive_marketing integer The end users accepted receiving marketing messages
Values 0: Opted-out, 1: Opted-in
created_at date Returns entries created after the entered date (format: yyyy-mm-dd)
updated_at date Returns entries updated after the entered date (format: yyyy-mm-dd)
last_guest_first boolean List newly added users first. true/false
per_page integer The number of records returned. Default is 10, maximum is 100
type integer People types
null(not sent or empty): all
1: guest
2: employee

# Response

TIP

HTTP/1.1 200 OK

{
  "data": [
    {
      "id": "FBN2234",
      "username": "269FBDC5",
      "name": "Sally Brown",
      "email": "sbrown@iperasolutions.com",
      "birth_date": "1991-02-06",
      "gender": "female",
      "phone": "+13231123341",
      "passport_no": null,
      "nationality": "American",
      "nationality_code": "US",
      "residency": "United States",
      "residency_code": "US",
      "room_number": null,
      "reservation_no": null,
      "hotel_status": null,
      "facebook_id": null,
      "yas_id": "8f627d10-1abc-44d8-b964-a7816388173a",
      "custom_field_1": null,
      "custom_field_2": null,
      "custom_field_3": null,
      "online": false,
      "location_id": "92239FF342CA23", 
      "location_name": "Dining East",
      "last_visit_date": "2016-01-21T11:41:39.000000Z",
      "visit_count": 4,
      "receive_marketing": 0,
      "latest_connection_method": "Registration",
      "last_connection_time": "2016-01-21T11:41:39.000000Z",
      "created_at": "2016-01-21T11:41:39.000000Z",
      "updated_at": "2016-01-22T07:29:58.000000Z",
      "tags": [
                "FC Barcelona",
                "FloorTag",
                "Real Madrid"
       ],
      "type": 1
    }
  ],

  "links": {
    "first": "https://api.iperawifi.com/api/v1/guests?page=1",
    "last": null,
    "prev": null,
    "next": "https://api.iperawifi.com/api/v1/guests?page=2"
  },

  "meta": {
    "current_page": 1,
    "from": 1,
    "path": "https://api.iperawifi.com/api/v1/guests",
    "per_page": 10,
    "to": 10
  }
}

# Get Guest Count

By using this API endpoint, it is possible to get the count of the guests

# Endpoint

GET /guests/count

# Parameters

Name Type Description
username string Username
yas_id string Yas ID
name string Full name of end-user
email string Email address
birth_date date Date of birth (format: yyyy-mm-dd)
location_id string Location / venue ID
gender string Gender
Values: male, female
phone string Mobile / phone number
passport_no string Passport number
nationality string Nationality code. ISO 3166-1 alpha-2 country code
room_no string Room number
reservation_no string Reservation number
custom_field_1 string Custom field 1
custom_field_2 string Custom field 2
custom_field_3 string Custom field 3
online boolean If the end-user is currently online or not. true / false
last_visit_date date Returns end users visited after the entered date (format: yyyy-mm-dd)
receive_marketing integer The end users accepted receiving marketing messages
Values 0: Opted-out, 1: Opted-in
created_at date Returns entries created after the entered date (format: yyyy-mm-dd)
updated_at date Returns entries updated after the entered date (format: yyyy-mm-dd)
last_guest_first boolean List newly added users first. true/false
per_page integer The number of records returned. Default is 10, maximum is 100
type integer People types
null(not sent or empty): all
1: guest
2: employee

# Response

TIP

HTTP/1.1 200 OK

{
  "count": 1000
}

# Get Guest Details

You can get an end-user providing the corresponding ID.

# Endpoint

GET /guests/:id

# Parameters

Name Type Description
id string End-user ID

# Response

TIP

HTTP/1.1 200 OK

{
  "data": {
    "id": "FBN2234",
    "username": "269FBDC5",
    "name": "Sally Brown",
    "first_name": "Sally",
    "last_name": "Brown",
    "email": "sbrown@iperasolutions.com",
    "birth_date": "1991-02-06",
    "gender_name": "Female",
    "phone": "+13231123341",
    "passport_no": null,
    "nationality": "American",
    "nationality_code": "US",
    "residency": "United States",
    "residency_code": "US",
    "room_number": null,
    "reservation_no": null,
    "hotel_status": null,
    "facebook_id": null,
    "yas_id": "8f627d10-1abc-44d8-b964-a7816388173a",
    "custom_field_1": null,
    "custom_field_2": null,
    "custom_field_3": null,
    "online": false,
    "connection_status": 0,
    "connection_method": "",
    "total_downloaded_data": 0,
    "total_uploaded_data": 0,
    "last_connection_time": "2016-01-21T11:41:39.000000Z",
    "location_id": "92239FF342CA23",
    "location_name": "Dining East",
    "last_visit_date": "2016-01-21T11:41:39.000000Z",
    "visit_count": 4,
    "receive_marketing": 0,
    "checkin_date": null,
    "checkout_date": null,
    "direct_login": 0,
    "tags": [],
    "type": 1,
    "device_tags": [],
    "created_at": "2016-01-21T11:41:39.000000Z",
    "updated_at": "2016-01-22T07:29:58.000000Z"
  }
}

DANGER

HTTP/1.1 404 Not Found

{
  "error": "Record not found"
}

# Create Guest

Create a new guest with given credentials

# Endpoint

POST /guests

# Parameters

Name Type Required Description
location_id string ✔️ Location / venue ID
name string Full name of end-user
email string Email address. Must be unique for the same tenant
birth_date date Date of birth (format: yyyy-mm-dd)
gender string Gender
Values: male, female
phone string Mobile / phone number
passport_no string Passport number
nationality string Nationality code. ISO 3166-1 alpha-2 country code
room_no string Room number
reservation_no string Reservation number
yas_id string Yas ID
marketing_consent int 0: Opted-out, 1: Opted-in

# Response

TIP

HTTP/1.1 201 Created

{
  "data": {
    "id": "FBN2234",
    "username": "269FBDC5",
    "name": "Sally Brown",
    "email": "sbrown@iperasolutions.com",
    "birth_date": "1991-02-06",
    "gender": "female",
    "phone": "+132311233411",
    "passport_no": null,
    "nationality": "American",
    "nationality_code": "US",
    "room_number": null,
    "reservation_no": null,
    "hotel_status": null,
    "facebook_id": null,
    "yas_id": "8f627d10-1abc-44d8-b964-a7816388173a",
    "custom_field_1": null,
    "custom_field_2": null,
    "custom_field_3": null,
    "online": false,
    "connection_status": 0,
    "connection_method": "",
    "total_downloaded_data": 0,
    "total_uploaded_data": 0,
    "last_connection_time": null,
    "location_id": "92239FF342CA23",
    "location_name": "Dining East",
    "last_visit_date": "2016-01-21T11:41:39.000000Z",
    "visit_count": 4,
    "receive_marketing": 0,
    "checkin_date": null,
    "checkout_date": null,
    "direct_login": 0,
    "tags": [],
    "device_tags": [],
    "created_at": "2016-01-21T11:41:39.000000Z",
    "updated_at": "2016-01-22T07:29:58.000000Z"
  }
}

Unprocessible Entity

HTTP/1.1 422 Unprocessible Entity

{
    "message": "The given data was invalid.",
    "errors": {
        "location_id": [
            "The location field is required."
        ]
    }
}

# Update Guest

Update guest information

# Endpoint

PUT /guests/:id

# Parameters

Name Type Required Description
:id string ✔️ End-user ID
location_id string ✔️ Location / venue ID
name string Full name of end-user
email string Email address. Must be unique for the same tenant
birth_date date Date of birth (format: yyyy-mm-dd)
gender string Gender
Values: male, female
phone string Mobile / phone number
passport_no string Passport number
nationality string Nationality code. ISO 3166-1 alpha-2 country code
room_no string Room number
reservation_no string Reservation number
yas_id string Yas ID
marketing_consent int 0: Opted-out, 1: Opted-in

# Response

TIP

HTTP/1.1 200 OK

{
  "data": {
    "id": "FBN2234",
    "username": "269FBDC5",
    "name": "Sally Brown",
    "email": "sbrown@iperasolutions.com",
    "birth_date": "1991-02-06",
    "gender": "female",
    "phone": "+13231123341",
    "passport_no": null,
    "nationality": "American",
    "nationality_code": "US",
    "room_number": null,
    "reservation_no": null,
    "hotel_status": null,
    "facebook_id": null,
    "yas_id": "8f627d10-1abc-44d8-b964-a7816388173a",
    "custom_field_1": null,
    "custom_field_2": null,
    "custom_field_3": null,
    "online": false,
    "connection_status": 0,
    "connection_method": "",
    "total_downloaded_data": 0,
    "total_uploaded_data": 0,
    "last_connection_time": null,
    "location_id": "92239FF342CA23",
    "location_name": "Dining East",
    "last_visit_date": "2016-01-21T11:41:39.000000Z",
    "visit_count": 4,
    "receive_marketing": 0,
    "checkin_date": null,
    "checkout_date": null,
    "direct_login": 0,
    "tags": [],
    "device_tags": [],
    "created_at": "2016-01-21T11:41:39.000000Z",
    "updated_at": "2016-01-22T07:29:58.000000Z"
  }
}
Last Updated: 4/16/2025, 8:01:29 AM