Lyrical Systems Report API

These are the resources available to access the Lyrical Systems Integrated GRM and POS Reporting package.

Please contact us to receive an API key to use these features.

See the overview documentation for details about response codes, error handling, organizations, sessions, and other background that will be assumed in this document.

CSV Support

Each report can also be accessed as a CSV, by supplying .csv as the format.
It will contain the same information as the data field within the JSON response, organized as a simple CSV file, which can be opened in programs such as Excel.

Resource Overview

There is currently just a single weekly report, which can return many useful values.


GET /api/version/reports/weekly.format

Get various values for each week per location.

Parameters

  • api_key (required)
    This key is provided by Lyrical Systems to its clients.
    Without this key, clients are unable to access reports.

  • start_date (optional)
    Start date of report.
    Defaults to 52-weeks before end\date_, starting on Monday.
    Accepts a variety of formats, but the following is recommended: 2012-02-14

  • end_date (optional)
    End date of report.
    Defaults to end of the current week (Sunday)
    Accepts a variety of formats, but the following is recommended: 2012-02-14

  • time_slice (optional)
    Specify which days or times should be included in the result. This API is always a weekly report, but can summarize over a subset of time.
    Currently supports the following time slices: ‘entire_week’, ‘sun_thurs’, ‘fri_sat’, ‘monday’, ‘tuesday’, ‘wednesday’, ‘thursday’, ‘friday’, ‘saturday’, ‘sunday’
    Note that ‘sun_thurs’ actually refers to Monday through Thursday, plus the following Sunday, to wrap up the week.
    Defaults to ‘entire_week’

  • location (optional)
    Filter to only return the given location(s) by name. For Voicebox, it may be one of ‘Northwest’, ‘Southeast’, ‘RiNo’, ‘BoDo’, ‘FortWorth’.
    It accepts a comma-separated list, to get multiple locations.
    It may also be omitted or left blank, to get information for all locations.

  • region (optional)
    Filter to only return the given region(s) by name. For Voicebox, it may be one of ‘Portland’, ‘Denver’, ‘Boise’, ‘DFW’.
    It accepts a comma-separated list, to get multiple regions.
    It may also be omitted or left blank, to get information for all regions.

  • columns (optional)
    Specify which data should be returned per week. Accepts a comma-separated list. Defaults to just return ‘reservations_created’.

Column Data Type Description
reservations_created integer Count of reservations created during this time slice.
Excludes buffers and reservations abandoned within 8 hours of creation.
reservations_completed integer Count of reservations completed during this time slice.
Excludes buffer reservations.
reservation_hours float Number of hours covered by completed reservations.
Excludes buffer reservations.
guest_count integer Count of guests for completed reservations, as given by party size.
Uses the average if a range is left on the calendar.
guest_hours float Sum of (duration * party_size) for completed reservations.
play_count integer Count of songs played.
play_hours float Number of hours spent playing songs.
staff_hours float Number of hours worked by staff as reported by Paycom or Netchex.
total_revenue decimal Total revenue as reported by the POS.
karaoke_revenue decimal Revenue categorized as karaoke time, as reported by the POS.
(Major group = Voicebox)
total_discounts decimal Total discounts given out, as reported by the POS.
karaoke_discounts decimal Discounts given on karaoke time, as reported by the POS.
  • all_columns (optional)
    Shorthand to select all columns above. Helpful for testing. Please avoid using in production.
    Defaults to ‘false’

Examples

To get selected info for Portland locations, starting in 2020:

GET /api/v1/reports/weekly?organization=00000000000000000000000000000000&api_key=ThisIsNotARealKey&start_date=2020-01-01&region=Portland&columns=reservations_created,total_revenue,karaoke_revenue

Example Response

{
  "start_date": "2020-01-01",
  "end_date": "2020-02-16",
  "time_slice": "entire_week",
  "location": null,
  "region": "Portland",
  "columns": [
    "reservations_created",
    "total_revenue",
    "karaoke_revenue"
  ],
  "data": [
    {
      "week": "2019-12-30",
      "fiscal_week": 1,
      "fiscal_year": 2020,
      "location": "Northwest",
      "region": "Portland",
      "reservations_created": 71,
      "total_revenue": 10514.0,
      "karaoke_revenue": 5789.0
    },
    {
      "week": "2019-12-30",
      "fiscal_week": 1,
      "fiscal_year": 2020,
      "location": "Southeast",
      "region": "Portland",
      "reservations_created": 112,
      "total_revenue": 18755.75,
      "karaoke_revenue": 9665.75
    },
    {
      "week": "2020-01-06",
      "fiscal_week": 2,
      "fiscal_year": 2020,
      "location": "Northwest",
      "region": "Portland",
      "reservations_created": 96,
      "total_revenue": 11964.25,
      "karaoke_revenue": 6746.75
    },
    {
      "week": "2020-01-06",
      "fiscal_week": 2,
      "fiscal_year": 2020,
      "location": "Southeast",
      "region": "Portland",
      "reservations_created": 179,
      "total_revenue": 24700.87,
      "karaoke_revenue": 12843.25
    }
  ]
}

Powered by Lyrical Systems