Skip to main content
Automated reports

What automated reports are, how they can be configured and what data is available with each report type.

Updated yesterday

Requirements

Transfer Configuration

The below table lists the information required to configure where automated reports will be transferred and how they will be stored. Take note that Booxi doesn’t provide hosting service.

Protocol

Select one of the supported protocols: FTP, FTPS, SFTP or GCS. For GCS, no further details are required for the transfer configuration. Contact your Booxi representative for the GCS guide.

Storage URL

Hostname or IP of FTP site where reports will be sent.

  • Must not include protocol (ex. ftp.domain.com)

  • Must not include a trailing / (slash) (ex.domain.com/)

Storage Port

FTP port on which to connect.

Storage Directory

Folder on the destination FTP site in which to store reports.

Host Key Fingerprint

If you opt for SFTP, provide a host key fingerprint.

Storage Login User

User to log into the storage URL.

Storage Login Password

Password to log into the storage URL.

Report Configuration

The content of the reports will be configured per the information below.

Merchant ID

or

Merchant ID Template

Merchant ID or template or any merchant within group for which the report will be generated. For group reports, it must be used in combination with "includeMerchantGroupLocations".

Options

Select one of the preconfigured reports. For custom reports, a list of fields to be exported must be provided in a JSON format.

Options JSON

For custom reports only. Fields to be exported in JSON format.

Schedule

Time at which reports must be generated. Time must be provided in 24H format, in merchant local time. All reports are generated daily.

Report Frequency

Defines the frequency of report generation (in days)

Default value : 1

Maximum value: 120

If no value is specified, the report will be generated daily.

0 and negative numbers are not accepted.

Offset Days

Defines the number of days to be included in the report, allowing negative (past) or positive (future) values.

Default value : -1

Max value : 180

Min value : -180

If no value is specified, the report will cover the previous day.

0 is not accepted.

*The report frequency value cannot be greater than the offset days value, since it will cause some days to be skipped and thus, not reported.


Report Types

Preconfigured Reports

Booxi provides a list of reports to choose from, each report comes with a predetermined list of fields. Take note that the preconfigured report will only export data marked as default. However, it is possible for a merchant to create a custom report by selecting any combination of fields. Consult your Booxi representative to make a selection.

Appointment

Export all daily appointments of a merchant location. The report includes date, duration, service, staff, client and revenue associated with each appointment.

Reservation

Export all daily reservations of a merchant location. The report includes date, duration, service, staff, client and revenue associated with a reservation.

Time Slot

Export all calendar time slots associated with a merchant. The report includes dates, duration, status, associated staff and store information.

Consent Status

Export consent records.

Metric Merchant Occupancy

Export data on the number of bookings, scheduled, booked and serviced hours for a merchant.

Metric Merchant Appointment

Export data on the number of bookings and their status. Additional fields are available.

Metric Service Occupancy

Export occupancy for each service offered by a merchant. It includes the number of bookings, booked and serviced hours as well as revenue service.

Metric Staff Occupancy

Export the occupancy of each staff associated with a merchant. It includes the number of scheduled, booked and serviced hours, time slots and #bookings.

Metric Resource Occupancy

Export the occupancy of each resource associated with a merchant. It includes the number of scheduled, booked and serviced hours.


Customizations

Field Selection

Reports can be customized by selecting any combination of fields. If you wish to customize the content of any report, consult your Booxi representative.

Field Names

Reports are generated in CSV format with each field as an individual column. If you wish to rename any or all columns appearing in a report, consult your Booxi representative.

Field Order

When providing a custom list of fields, the order in which the fields are listed will dictate the order in which they will appear in the report. If you wish to change the order in which fields appear in a report, consult your Booxi representative.


Appointment

Generate a report of all daily appointments for a merchant location. The report includes the date, duration, service, staff, client and revenue associated with each appointment.

Filters

The following filters are provided to further customize the report’s content. Once set, all appointment reports will be generated with the selected filters.

Filter

Description

Default Value

excludeCancelled

Exclude cancelled appointments when exporting.

FALSE

includeMerchantGroupLocations

Include all merchants in the target merchant group.

TRUE

splitPriceAndCurrency

Strip currency symbols from all prices and display them in a distinct column.

FALSE

splitServiceNameAndCategory

Appointment’s total duration excluding free spacing.

FALSE

useDateFormatYMD

Display dates as “yyyy-mm-dd” instead of “dd mmm yyyy”.

TRUE

useTimeFormat24h

Display time in 24H format instead of 12H.

TRUE

dateFilter

Set which date field to select appointments by, start date or last modified date.

START

quoteMode

Specify which quote mode to use, all, minimal, all none null, non numeric. Leave blank if none.

ALL

encodingFormat

Specify which file encoding format to use, UTF-8 or UTF-16-LE.

UTF-16-LE

Fields

The below table lists all available fields for an “Appointment” type report. For multi-service appointments, service fields will be repeated up to 5 times, once for each service assigned to the appointment.

Field

Description

Default

id

Appointment's ID.

start_date

Appointment’s start date.

start_time

Appointment’s start time.

duration

Appointment’s total duration excluding free spacing.

status

Appointment’s status at the time the report is generated.

created_on_date

Appointment’s creation date.

created_on_time

Appointment’s creation time.

booked_by

Shows if an appointment was booked by a client or a member of staff.

last_modified_by

Shows if an appointment was last modified by a client or a member of staff.

last_modified_on_date

Date an appointment was last modified on.

last_modified_on_time

Time an appointment was last modified on.

location

Appointment’s location.

location_details

Details about the appointment’s location.

reminder

Should a reminder be sent to the client?

client_request

Client request for an appointment.

quick_note

Quick note associated with an appointment.

invoice_subtotal

Invoice’s subtotal.

invoice_tax_1

Amount for first tax.

invoice_tax_2

Amount for second tax.

invoice_total

Invoice’s total price.

invoice_fee

Transaction fee.

invoice_paid

Has the invoice been paid or not?

invoice_balance

Balance left to be paid.

currency

Currency ISO code.

staff_id

ID of the staff assigned to the appointment.

staff_name

Full name of the assigned staff.

customer_id

External customer ID used with a custom client module.

cegid_customer_id

External customer ID used CEGID module (only if applicable).

membership_id

Client’s membership ID if any.

client_id

Client’s unique ID.

client_name

Client’s full name.

client_first_name

Client’s first name.

client_last_name

Client’s last name.

client_email

Client’s email address.

client_phone

Client’s phone number (formatted per locale).

client_phone_int

Client’s phone (unformatted/RAW).

client_mobile

Client’s mobile phone (formatted per locale).

client_mobile_int

Client’s mobile phone (unformatted/RAW).

client_dob

Client’s date of birth.

client_gender

Client’s gender.

client_language

Client’s preferred language.

client_postal_code

Client’s postal or ZIP code.

home_address

Client’s home address.

home_street

Street of a client’s home address.

home_city

City of a client’s home address.

home_state

State of a client’s home address.

home_country

Country of a client’s home address.

home_postal_code

Postal or ZIP code of a client’s home address.

service_id

[repeatable for multi-service appointment]
Service ID associated with the appointment.

category_name

[repeatable for multi-service appointment]
Service’s category name.

service_name

[repeatable for multi-service appointment]
Service’s name.

service_duration

[repeatable for multi-service appointment]
Service’s duration in minutes.

service_spacing

[repeatable for multi-service appointment]
Service’s spacing in minutes if any.

service_question

[repeatable for multi-service appointment]
Service’s pre-booking question (single question). If a survey is assigned to the question, this field will be set to "survey" but questions will not be exported.

service_answer

[repeatable for multi-service appointment]
Service’s pre-booking answer (single question). If a survey is assigned to the service, this field will contain an array of answers.

resource_id

Resource ID associated with the appointment.

resource_name

Resource’s name.

store_id

Store ID where the appointment is held.

store_number

Store’s number.

store_name

Store’s name.

store_city

City in which the store is located.

store_state

Store’s state, province or territory.

store_postal_code

Store’s postal or ZIP code.

store_country

Store’s country.

cegid_staff_id

CEGID staff ID (if applicable).

cegid_product_id

CEGID product ID (if applicable).

client.metadata.{SUB_FIELD}

Client metadata sub-field, where {SUB_FIELD} is any custom metadata.

sevice.metadata.{SUB_FIELD}

Service metadata sub-field, where {SUB_FIELD} is any custom metadata.

staff.metadata.{SUB_FIELD}

Staff metadata sub-field, where {SUB_FIELD} is any custom metadata.

store.metadata.{SUB_FIELD}

Store metadata sub-field, where {SUB_FIELD} is any custom metadata.

acquisition_channel

The booking's acquisition channel (i.e. source) obtained upon booking creation. Value defined by the business.

Reservation

Generate a report of all daily reservations of a merchant location. The report includes date, duration, service, staff, client and revenue associated with a reservation.

Filters

The following filters are provided to further customize the report’s content. Once set, all reservation reports will be generated with the selected filters.

Filter

Description

Default Value

excludeCancelled

Exclude cancelled reservations when exporting.

FALSE

includeMerchantGroupLocations

Include all merchants in the target merchant group.

FALSE

splitPriceAndCurrency

Strip currency symbols from all prices and display them in a distinct column.

FALSE

useDateFormatYMD

Display dates as “yyyy-mm-dd” instead of “dd-mmm-yyyy”.

TRUE

useTimeFormat24h

Display time in 24H format instead of 12H.

FALSE

detailOptions

Determine the level of details to export with, group summary, reservations or attendees.

RESERVATIONS

quoteMode

Specify which quote mode to use, all, minimal, all none null, non numeric. Leave blank if none.

ALL

encodingFormat

Specify which file encoding format to use, UTF-8 or UTF-16-LE.

UTF-16-LE

Fields

The below table lists all available fields for a “Reservation” type report. Fields marked with an asterisk (*) are exported by default. Three levels of detail are available for this report type. Consult the table to know what fields are available for each detail option.

Legend: S=Summary, R=Reservation, A=Attendee

Field

Description

S

R

A

group_id*

Group event’s ID.

start_date*

Date on which the group event starts.

start_time*

Time on which the group event starts.

start_date_time

Date and time on which the group event starts.

duration*

Group event’s duration excluding spacing.

capacity

Group event’s capacity.

attendee_count

Group event’s attendee count.

place_left

Number of places left in the group event.

price_per_person

Price per person.

service_price

Service's price.

staff_id*

ID of the staff assigned to the group event.

staff_first_name*

Staff’s first name.

staff_last_name*

Staff’s last name.

service_id*

ID of the service provided at the event.

service_name*

Service’s name.

category_name

Service’s category.

location

Location where the event is held.

location_details

Details associated with the event.

store_id

Store id (i.e. merchant id).

store_number*

Store’s number.

store_name

Store’s name.

store_city

City where the store is located.

store_state

State, province or territory where the store is located.

longitude

Location’s longitude (geolocation).

latitude

Location’s latitude (geolocation).

merchant_id

Merchant’s ID.

reservation_id*

Group event’s ID.

NA

reservation_attendee_count

Number of attendees for the event.

NA

reservation_status*

Reservation’s status.

NA

customer_id*

External customer ID used with a custom client module.

NA

membership_id

Client’s membership ID.

NA

client_id*

Client’s ID.

NA

client_first_name

Client’s first name.

NA

client_last_name

Client’s last name.

NA

client_email*

Client’s email address.

NA

client_phone*

Client’s phone number.

NA

client_mobile*

Client’s mobile phone number.

NA

client_mobile_or_phone

Uses client_mobile, but falls back to client_phone.

NA

client_dob

Client’s date of birth.

NA

client_gender

Client’s gender.

NA

client_language

Client’s preferred language.

NA

client_postal_code

Client’s postal or ZIP code.

NA

home_street

Street of a client’s home address.

NA

home_city

City of a client’s home address.

NA

home_state

State, province or territory of a client's home address.

NA

home_country

Country of a client’s home address.

NA

home_postal_code

Postal or ZIP code of a client’s home address.

NA

reminder

Should a reminder be sent to the client?

NA

booked_by*

Shows if a reservation was booked by a client or a member of staff.

NA

modified_by

Shows if a reservation was last modified by a client or a member of staff.

NA

modified_date

Date a reservation was last modified on.

NA

modified_time

Time a reservation was last modified on.

NA

modified_date_time

Date and time a reservation was last modified.

NA

created_date

Creation date of the reservation.

NA

created_time

Creation time of the reservation.

NA

created_date_time

Creation date and time of the reservation.

NA

invoice_subtotal

Invoice’s subtotal.

NA

NA

invoice_tax_1

Invoice’s first tax.

NA

NA

invoice_tax_2

Invoice’s second tax.

NA

NA

invoice_total*

Total price.

NA

NA

invoice_fee

Transaction fee.

NA

NA

invoice_paid

Has the invoice been paid?

NA

NA

invoice_balance

Balance due on the payment.

NA

NA

currency

Currency in ISO code.

NA

NA

attendee_id

Attendee’s ID.

NA

NA

attendee_name

Attendee’s full name.

NA

NA

attendee_first_name

Attendee’s first name.

NA

NA

attendee_last_name

Attendee’s last name.

NA

NA

attendee_email

Attendee’s email address.

NA

NA

attendee_phone

Attendee’s phone.

NA

NA

attendee_mobile

Attendee’s mobile phone.

NA

NA

attendee_dob

Attendee’s date of birth.

NA

NA

attendee_gender

Attendee’s gender.

NA

NA

attendee_language

Attendee’s language.

NA

NA

attendee_postal_code

Attendee’s postal or ZIP code.

NA

NA

attendee_status

Attendee’s status.

NA

NA

service_question

Service pre-booking question (single question). If a survey is assigned to the service, this field will be set to "survey" but questions will not be exported.

NA

NA

service_answer

Service pre-booking answer (single question). If a survey is assigned to the service, this field will contain an array of answers.

NA

NA

client_request

Client’s request associated with a reservation.

NA

NA

client_metadata.{SUB_FIELD}

Client metadata sub-field, where {SUB_FIELD} is any client metadata sub-field.

service_metadata.{SUB_FIELD}

Service metadata sub-field, where {SUB_FIELD} is any service metadata sub-field.

staff_metadata.{SUB_FIELD}

Staff metadata sub-field, where {SUB_FIELD} is any staff metadata sub-field.

store_metadata.{SUB_FIELD}

Store metadata sub-field, where {SUB_FIELD} is any store metadata sub-field.

acquisition_channel

The booking's acquisition channel (i.e. source) obtained upon booking creation. Value defined by the business.

Time Slot

Identify peak and downtimes by generating a report of all calendar time slots associated with a merchant. The report includes dates, duration, status, associated staff and store information.

Filters

The following filters are provided to further customize the report’s content. Once set, all timeslot reports will be generated in accordance with the selected filters.

Filter

Description

Default Value

includeMerchantGroupLocations

Include all merchants in the target merchant group.

FALSE

useDateFormatYMD

Display dates as “yyyy-mm-dd” instead of “dd mmm yyyy”.

FALSE

useTimeFormat24h

Display time in 24H format instead of 12H.

FALSE

detailOptions

Determine what level of details to export with, available, busy, imported or all.

ALL

quoteMode

Specify which quote mode to use, all, minimal, all none null, non numeric. Leave blank if none.

ALL

encodingFormat

Specify which file encoding format to use, UTF-8 or UTF-16-LE.

UTF-16-LE

Fields

The below table lists all available fields for a “Time Slots” type report.

Field

Description

Default

start_date

Date on which the time slot starts.

start_time

Time on which the time slot starts.

duration

Time slot’s duration in minutes.

status

Time slot’s status, available, busy, etc…

label

The custom label assigned to the time slot.

description

Time slot’s description.

staff_id

ID of the staff assigned to the time slot.

staff_name

Name of the staff assigned to the time slot.

cegid_staff_id

External staff ID used for the CEGID module.

staff_metadata.{SUB_FIELD}

Staff metadata sub-field, where {SUB_FIELD} is any staff metadata sub-field.

store_id

Store’s ID.

store_group_id

Store’s merchant group ID.

store_tag

Location filter tags assigned to the store.

store_number

Store’s number.

store_name

Store’s name.

store_city

Store’s city.

store_state

Store’s state, province or territory.

store_country

Store’s country.

Consent Status

Fields

The below table lists all available fields for a “Consent Status” type report.

Name

Description

Default

client_id

Unique Booxi generated client ID

client_name

Client's first and last name

client_first_name

Client's first name

  • Note: the client's name at the time the consent was granted or revoked.

client_last_name

Client's last name

  • Note: the client's name at the time the consent was granted or revoked.

external_client_id

Client's external ID (ex: Salesforce)

client_email

Client's email address

client_phone

Client's phone number

client_mobile

Client's mobile number

client_postal_code

Client's postal code

client_address

Client's address

client_city

Client's city

client_state

Client's state/province/territory, etc.

client_country

Client's country

client_ip_address

Client IP address

  • Note: May be captured in IPv4 or IPv6

client_user_agent

OS, browser, IP, etc.

booking_id

Unique Booxi generated booking ID

service_id

Unique Booxi generated service ID

service_name

Name of the queue service given by the brand

merchant_id

Merchant ID associated with the booking where the consent was captured.

merchant_name

Name of the store/merchant

merchant_address

Store/merchant’s address

merchant_city

Store/merchant’s city

merchant_postal_code

Store/merchant’s postal code

merchant_country

Store/merchant’s country

staff_id

Unique Booxi generated staff ID

external_staff_id

Staff’s external ID (ex: CEGID)

consent_status

  • Granted

  • Revoked

consent_id

Unique Booxi generated consent ID

consent_name

The consent name

consent_version

The version of the consent that was displayed to the client

consent_mandatory

Whether the consent is mandatory

consent_language

The language of the consent text presented to the client.

  • Ex: EN, FR, etc.

consent_text

The text presented to the client when they granted or revoked their consent

date_and_timestamp

The date and time that the consent was granted or revoked by or on behalf of the client (based on merchant timezone).

  • The import of consent information is not supported.

  • You are responsible for storing and maintaining your client consent data. For more information, contact your Booxi representative.

  • We (Booxi) do not keep a copy of the generated reports.


Metric Reports

Metric reports provide a concise and comprehensive set of metrics to analyze how your business is performing. Several report types are offered to focus on specific data. See below for a list of all metric reports.

Merchant Occupancy

Generate a comprehensive summary of all merchants within a group. Examine the performance of each location by comparing the number of bookings, booked, scheduled and serviced hours as well as busy time slots.

Merchant Appointment

Generate a detailed report of appointments booked at each merchant location. The report includes the number of appointments, their status, the number of booked, scheduled and serviced hours as well as the revenue generated.

Service Occupancy

Analyze how each service provided is performing by examining the number of bookings, booked and serviced hours as well as the revenue generated. Use these metrics to implement changes to your service offering, refocus resources on services generating more revenue, etc…

Staff Occupancy

Analyze how staff are performing, from the number of bookings they were involved with to the number of scheduled, booked and serviced hours. Modify work schedule based on peak hours.

Resource Occupancy

Survey how resources are performing, the number of bookings the resource was used for along with booked and serviced time.

Metric Filters

The following filters are provided to further customize the report’s content. Take note that all metric report types will be generated with the selected filters.

Filter

Description

Default Value

includeMerchantGroupLocations

Include all merchants in the target merchant group.

TRUE

splitPriceAndCurrencry

Strip currency symbols from all prices and display them in a distinct column.

FALSE

useDateFormatYMD

Display dates as “yyyy-mm-dd” instead of “dd mmm yyyy”.

FALSE

useTimeFormat24h

Display time in 24H format instead of 12H.

FALSE

quoteMode

Specify which quote mode to use, all, minimal, all none null, non numeric. Leave blank if none.

ALL

encodingFormat

Specify which file encoding format to use, UTF-8 or UTF-16-LE.

UTF-16-LE

Merchant Occupancy

Fields

The below table lists all available fields for a “Merchant Occupancy” type report.

Field

Description

Default

date

The date on which the data was compiled.

store_id

Booxi Merchant ID.

store_group_id

Booxi Merchant Group ID.

sore_tag

Location tags associated with a store.

store_number

Store count of the merchant group.

store_name

Store’s name.

store_city

Store’s city.

store_state

Store’s state, province or territory.

store_country

Store’s country.

open_minutes

Total scheduled time in minutes for all staff on the same date.

open_hours

Total scheduled time in hours for all staff on the same day.

booked_minutes

Total time booked in minutes.

booked_hours

Total time booked in hours.

serviced_minutes

Total time serviced in minutes.

serviced_hours

Total time serviced in hours.

busy_timeslot_minutes

Total of all busy time slots in minutes.

busy_timeslot_hours

Total busy time slots in hours.

nb_bookings_total

Number of bookings.

Merchant Appointment

Fields

The below table lists all available fields for a “Merchant Appointment” type report.

Field

Description

Default

date

Date of the appointment.

store_id

Booxi merchant ID.

store_group_id

Booxi Merchant Group ID.

store_tag

Location filter tags associated with a store.

store_number

Store count in the merchant group.

store_name

Store’s name.

store_city

Store’s city.

store_state

Store’s state, province or territory.

store_country

Store’s country.

nb_bookings_confirmed

Number of bookings with the status “approved” (“pending client” and “requested” are excluded).

nb_bookings_requested

Number of bookings with the status “requested.

nb_bookings_rescheduled

Number of bookings with the status “rescheduled”.

nb_bookings_pending_client

Number of bookings with the status “pending client”.

nb_bookings_client_arrived

Number of bookings with the status “ongoing”.

nb_bookings_completed

Number of bookings with the status “completed”.

nb_bookings_staff_canceled

Number of bookings with the status “canceled by staff”.

nb_bookings_client_canceled

Number of bookings with the status “canceled by client”.

nb_bookings_no_show

Number of bookings with the status “no show”.

nb_bookings_total

Total number of bookings (all status).

nb_bookings_online

Number of bookings made online (client origin).

nb_bookings_offline

Number of bookings made offline (staff origin).

booked_minutes

Total minutes booked in a day.

booked_hours

Total hours booked in a day.

serviced_minutes

Total minutes serviced in a day.

serviced_hours

Total hours serviced in a day.

booked_revenue_subtotal

Subtotal revenue booked in a day (excluding taxes).

booked_revenue_total

Total revenue booked in a day (including taxes).

serviced_revenue_subtotal

Subtotal revenue serviced in a day (excluding taxes).

serviced_revenue_total

Total revenue serviced in a day (including taxes).

Service Occupancy

Fields

The below table lists all available fields for a “Service Occupancy” type report.

Field

Description

Default

date

Date on which the appointment started.

store_id

Booxi merchant ID.

store_group_id

Booxi Merchant Group ID.

store_tag

Location filter tags associated with a store.

store_number

Store count in the merchant group.

store_name

Store’s name.

store_city

Store’s city.

store_state

Store’s state, province or territory.

store_country

Store’s country.

service_id

Booxi Service ID.

service_name

Service’s name.

service_tags

Tags assigned to a service.

cegid_product_id

CEGID product ID (if applicable).

nb_bookings_online

Number of bookings made online (client origin).

nb_bookings_offline

Number of bookings made offline (staff origin).

booked_minutes

Total minutes booked in a day for a service.

booked_hours

Total hours booked in a day for a service.

serviced_minutes

Total minutes serviced in a day for service.

serviced_hours

Total hours serviced in a day for service.

booked_revenue_subtotal

Subtotal revenue booked in a day (excluding taxes) for a service.

booked_revenue_total

Total revenue booked in a day (including taxes) for a service.

serviced_revenue_subtotal

Subtotal revenue serviced in a day (excluding taxes) for a service.

serviced_revenue_total

Total revenue serviced in a day (including taxes) for a service.

nb_bookings_total

Number of bookings made with a service.

service_metadata.salesforce_service_id

Salesforce service ID from metadata (if applicable).

Staff Occupancy

Fields

The below table lists all available fields for a “Staff Occupancy” type report.

Field

Description

Default

date

Date on which the appointment started.

store_id

Booxi merchant ID.

store_group_id

Booxi Merchant Group ID.

store_tag

Location filter tags associated with a store.

store_number

Store count in the merchant group.

store_name

Store’s name.

store_city

Store’s city.

store_state

Store’s state, province or territory.

store_country

Store’s country.

staff_id

Booxi Staff ID.

staff_name

Staff’s name.

cegid_staff_id

CEGID Staff ID (if applicable).

open_minutes

Open hours in minutes.

open_hours

Open hours in hours.

scheduled_minutes

Total scheduled time in minutes for a staff member.

scheduled_hours

Total scheduled time in hours for a staff member.

booked_minutes

Total booked time in minutes for a staff member.

booked_hours

Total booked time in hours for a staff member.

serviced_minutes

Total serviced time in minutes for a staff member.

serviced_hours

Total serviced time in hours for a staff member.

busy_timeslot_minutes

Total of all busy time slots in minutes for a staff member.

busy_timeslot_hours

Total of all busy time slots in hours for a staff member.

nb_bookings_total

Number of bookings for a staff member.

nb_assigned_services

Number of appointment-type services assigned to the staff.

staff_metadata.salesforce_staff_id

Salesforce Staff ID from metadata (if applicable).

Resource Occupancy

Fields

The below table lists all available fields for a “Resource Occupancy” type report.

Field

Description

Default

date

Date on which the appointment started.

store_id

Booxi merchant ID.

store_group_id

Booxi Merchant Group ID.

store_tag

Location filter tags associated with a store.

stoer_number

Store count in the merchant group.

store_name

Store’s name.

store_city

Store’s city.

store_state

Store’s state, province or territory.

store_country

Store’s country.

resource_id

Booxi Resource ID.

resource_name

Resource’s name.

open_minutes

Open hours in minutes.

open_hours

Open hours in hours.

scheduled_minutes

Total scheduled time in minutes for a resource.

scheduled_hours

Total scheduled time in hours for a resource.

booked_minutes

Total booked time in minutes for a resource.

booked_hours

Total booked time in hours for a resource.

serviced_minutes

Total serviced time in minutes for a resource.

serviced_hours

Total serviced time in hours for a staff resource.

nb_bookings_total

Number of appointments that were booked with the resource.


Protocol Options

Here is a list of protocols supported with the automated FTP report. When it comes to selecting a transfer method between FTP, FTPS or SFTP we highly recommend avoiding the basic FTP protocol and choosing a more secure option. As an alternative, reports can be uploaded to Google Cloud Storage by specifying GCS as a protocol.

Booxi is using dedicated outbound IPs for all reports except GCS. They should be whitelisted by customers.

FTP

FTP exchanges data using two separate channels known as the command channel and data channel. With FTP, both channels are unencrypted, leaving any data sent over these channels vulnerable to being intercepted and read. It should only be used in limited cases or on networks you trust.

FTPS

Like FTP, FTPS uses two connections: a command channel and a data channel. It authenticates your connection using a user ID and password, a certificate, or both. When connecting to a trading partner's FTPS server, your FTPS client will validate if the server's certificate is trusted.

SFTP

SSH File Transfer Protocol is a separate protocol packaged with SSH that works in a similar way but over a secure connection. The advantage is the ability to leverage a secure connection to transfer files and traverse the filesystem on both the local and remote system. SFTP is preferable to FTP because of its underlying security features and ability to piggy-back on an SSH connection. Furthermore, SFTP needs only a single port number for all SFTP communications, making it easy to secure.


Public Key Fingerprint

SFTP supports server fingerprint as an optional security feature. Our implementation requires the key to be in MD5 format.


Your server’s fingerprint can be obtained with the following console command:

ssh-keygen -lf /path/to/public_key/pubkey_in_openssh_format.pub

A remote server’s fingerprint can be obtained like so:

ssh-keyscan -t rsa ftp.host.com > key.pub
ssh-keygen -l -f key.pub -E md5

Google Cloud Storage (GCS)

Google Cloud Storage is the object storage service offered by Google Cloud. In Cloud Storage, different objects are grouped in unique “namespaces” called buckets. A bucket can hold multiple objects yet, a single object will belong to only one bucket.


Client Configuration

The client must configure its destination storage bucket, using a Service Account. A destination folder must be created as files can’t be saved on the root. Contact your Account Manager or CS to request an account.


We recommend configuring the storage bucket with the following settings.

  • Region: Can either be Multi-Region or Region specific

  • Storage Class: Standard

  • Public Access: NOT Public

  • Access Control: Uniform

  • Protection: Activate one or more of the following protection options: Object Versioning Retention Policy or Default Event-Based Hold Option.

  • Life Cycle rules: Weekly data deletion

  • Requesters Pay: OFF

  • Permissions: storage.buckets.get and storage.objects.create

The above permissions are included into the below roles:

  • Storage Legacy Bucket Reader

    • Needed to read the metadata and the permissions on the bucket.

  • Storage Object Creator

    • Needed to write the file blob.

Storage Directory

The client can specify in what “destination folder” reports will be exported. Folders and sub-folders must be formatted as : 'level1/level2/'. Leading '/' is unnecessary unless a root '/' folder is needed.


Furthermore, the storage directory must follow the below naming guidelines as provided by Google:

  • Object names can contain any sequence of valid Unicode characters, of length 1-1024 bytes when UTF-8 encoded.

  • Object names cannot contain Carriage Return or Line Feed characters.

  • Object names cannot start with .well-known/acme-challenge/.

  • Objects cannot be named . or ...

For more information about the naming guidelines, consult this article.

Did this answer your question?