TransactionReport

Controller for endpoints related to the transaction report
APIDescription
GET Subscriber/{subscriberId}/Report/Transaction/Query

Endpoint to fetch data for the transaction report for the Filters provided.

GET Subscriber/{subscriberId}/Report/Transaction/Export

Endpoint to fetch the payment transaction records needed to populate a CSV file.

GET Subscriber/{subscriberId}/Report/Transaction/Configuration

Endpoint to fetch any configuration data for the transaction report. Provides data necessary to populate filters, search fields, default values, etc.

PurchaseHistory

Relating to purchases and viewing historical information on them such as summaries or receipts
APIDescription
GET Subscriber/{subscriberId}/Purchases/Contracts/Summary?ConsumerId={ConsumerId}&Skip={Skip}&Top={Top}&PurchaseStartDate={PurchaseStartDate}&PurchaseEndDate={PurchaseEndDate}

Gets contracts purchase history summary

LocationOwner

API endpoints for location owners
APIDescription
GET Subscriber/{subscriberId}/LocationsOwnedByCurrentUser

Get a list of location identifiers corresponding to locations that the requesting user is an owner of

POST Subscriber/{subscriberId}/LocationOwners

Add staff members as location owners

DELETE Subscriber/{subscriberId}/LocationOwners

Delete staff members as location owners

PUT Subscriber/{subscriberId}/LocationOwners

Update location owners' IsLocked values.

GET Subscriber/{subscriberId}/LocationOwners

Get a list of all locations that have owners set, and the LocationOwner object for each.

GET Subscriber/{subscriberId}/EligibleLocationOwners?skip={skip}&take={take}

Get a list of all users for a subscriber that are eligible to be location owners

MarketplaceMembership

Virtual Marketplace Membership
APIDescription
GET Subscriber/{subscriberId}/MarketplaceMembership/Configurations

Called to fetch Marketplace Membership configuration for the subscriber.

GET Subscriber/{subscriberId}/MarketplaceMembership/ConfigurationManagement?membershipType={membershipType}

Gets Marketplace Membership Dashboard configuration management information for the subscriber.

PUT Subscriber/{subscriberId}/MarketplaceMembership/Configurations

Called to Update Marketplace membership configuration for the subscriber on studio level opt-in/out.

GET Subscriber/{subscriberId}/MarketplaceMembership/Locations/Configurations

Fetch all the marketplace membership configuration with locations, service categories and classes

PUT Subscriber/{subscriberId}/MarketplaceMembership/Locations/Configurations

update all the Marketplace membership configuration with location, service category and classes.

CatalogBrowse

Provides endpoints for browsing the catalog of a business
APIDescription
GET Subscriber/{subscriberId}/Catalog/Browse/Config?locationId={locationId}

Get browse config

GET Subscriber/{subscriberId}/Catalog/Browse/ServiceCategories?locationId={locationId}&catalogItemsAvailable={catalogItemsAvailable}

Gets service categories

GET Subscriber/{subscriberId}/Catalog/Browse/RetailCategories?locationId={locationId}&catalogItemsAvailable={catalogItemsAvailable}

Gets retail categories

GET Subscriber/{subscriberId}/Catalog/Browse/AppointmentTypes?locationId={locationId}&catalogItemsAvailable={catalogItemsAvailable}

Gets retail categories

Sync

This controller synchronizes data for subscribers
APIDescription
POST Sync/Change

Handle a change made to an entity

POST Sync/SubscriberRiakDealsCatalog

Fully sync all deals for a subscriber

POST Sync/SubscriberRiakClassesCatalog

Fully sync all classes for a subscriber

POST Sync/SubscriberRiakClassesCatalogForDates

Fully sync all classes for a subscriber for the given date

POST Sync/OnInvoiceEmailRequested

This method sends the invoice email with the pdf attachment (in bytes) to the recipient(s)

POST Sync/OnInvoicesCreated

This method is used to "Populate" an invoice after it has been reserved. One method of determining if an invoice has been populated is to check table Invoice.OriginalInvoiceData JSON contents and if it is not NULL, then it has been populated.

POST Sync/OnInvoicePaymentsCreated

This method is used to "Populate" several invoices in a separate queue than the main Sales workflows queue. Example: AutoPay invoices will use this workflow so to not disrupt/slow down the regular sale population workflow.

POST Sync/Settings

Sync settings for a subscriber

Reservations

Exposes methods for dealing with reservations.
APIDescription
POST Subscriber/{subscriberId}/Scheduling/Reservations/Finalize

Finalizes a list of reservations(classes/enrollments)

POST Subscriber/{subscriberId}/Scheduling/Reservations/FinalizeRecurring

Finalizes a group of recurring reservations(classes/enrollments)

POST Subscriber/{subscriberId}/Scheduling/Reservations/Cancellations/Finalize

Finalizes a list of cancelled reservations(classes/enrollments)

POST Subscriber/{subscriberId}/Scheduling/Reservations/ResendFinalize

Resend client form finalize

POST Subscriber/{subscriberId}/Scheduling/Reservations/Waitlist/Finalize

Finalizes a list of reservation from waitlist confirmations

POST Subscriber/{subscriberId}/Scheduling/Reservations/Waitlist/FirstToClaim

Sends first-to-claim notifications to clients on a waitlist

POST Subscriber/{subscriberId}/Scheduling/Reservations/Waitlist/PaymentIssue

Sends payment issue notification to clients on a waitlist

MarketplaceConfiguration

Rules within the Subscriber Sales system
APIDescription
GET Subscriber/{subscriberId}/Rules/Shopping

Gets global shopping rules for the acting user at the subscriber

Push

Controller for Push related operations
APIDescription
POST push

Raises an event to the push system

CartUsers

APIDescription
GET Subscriber/{subscriberId}/CartUsers/Staff?EarnsCommissions={EarnsCommissions}&ReceivesTips={ReceivesTips}&IsSalesRep={IsSalesRep}

Searches for staff that are usable in carting actions (is either a sales rep, earns commissions, and/or can receive tips).

GET Subscriber/{subscriberId}/Carting/Users/ShoppingProfile/{consumerId}

Fetches the shopping profile for a consumer

StripeWebhook

Endpoint to be used for Stripe webhook events.
APIDescription
POST StripeWebhook/Handler/{platformName}?testMode={testMode}

The action to handle the Stripe Platform webhook events.

POST StripeWebhook/Handler

The action to handle the Stripe Platform webhook events.

POST StripeWebhook/ConnectHandler/{platformName}?testMode={testMode}

The action to handle the Stripe Connect webhook events.

POST StripeWebhook/ConnectHandler

The action to handle the Stripe Connect webhook events.

MindbodyFlexRevenueReport

Controller for endpoints related to the Mindbody Flex Revenue report
APIDescription
GET Subscriber/{subscriberId}/Report/MindbodyFlexRevenue/Configuration

Endpoint to fetch any configuration data for the Mindbody Flex Revenue report. Provides data necessary to populate filters, default values, etc.

POST Subscriber/{subscriberId}/Report/MindbodyFlexRevenue/Query

Endpoint to fetch data for the Mindbody Flex Revenue report for the Filters provided.

POST Subscriber/{subscriberId}/Report/MindbodyFlexRevenue/Export

Endpoint to fetch data for the Mindbody Flex Revenue report for the export to return file.

CartDiscounts

Controller that handles discount items in cart
APIDescription
POST Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Discounts

Adds Catalog Discount Item to cart

POST Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Discounts/Promotions

Adds a promotion code to the cart

PUT Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Discounts

Update a discount item that exists in a cart

DELETE Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Discounts/{discountItemId}

Removes a discount item from the cart

AppointmentReminder

Endpoints for sending and resending appointment reminder notifications
APIDescription
POST Subscriber/{subscriberId}/Scheduling/AppointmentReminder/Resend

Resend appointment reminders for the givin client ids, date, and time

Appointments

Exposes methods for dealing with appointments.
APIDescription
POST Subscriber/{subscriberId}/Scheduling/Appointments/Finalize

Finalizes a list of appointments

POST Subscriber/{subscriberId}/Scheduling/Appointments/ResendFinalize

Resend client form with specific appointment

MindbodyNetwork

MINDBODY Network changes and information
APIDescription
GET Subscriber/{subscriberId}/MindbodyNetwork/Configuration

Called to fetch Mindbody Network configuration for the subscriber.

PUT Subscriber/{subscriberId}/MindbodyNetwork/DynamicPricingConfiguration

Called to update dynamic pricing configuration for the subscriber.

PUT Subscriber/{subscriberId}/MindbodyNetwork/PromotedDealsConfiguration

Called to update promoted deals configuration for the subscriber.

PUT Subscriber/{subscriberId}/MindbodyNetwork/PartnerNetworkConfiguration

Called to update promoted deals configuration for the subscriber.

PUT Subscriber/{subscriberId}/MindbodyNetwork/PartnerNetworkConfiguration/AutoEnable

Called to update partner network configuration for the non SA subscriber(first time only).

GET Subscriber/{subscriberId}/MindbodyNetwork/ConfigurationManagement

Gets Mindbody Network configuration management information for the subscriber

GET Subscriber/{subscriberId}/MindbodyNetwork/CheckIfEligibleForPartnerNetworkAutoEnable

Check whether studio is eligible for auto enable partner network or not

DynamicPricing

API endpoints for dynamic pricing
APIDescription
GET Subscriber/{subscriberId}/DynamicPricing/Organization

Retrieve dynamic pricing organization meta data

POST Subscriber/{subscriberId}/DynamicPricing/Organization

Add an organization

PUT Subscriber/{subscriberId}/DynamicPricing/Organization

Updates an organization

GET Subscriber/{subscriberId}/DynamicPricing/DropInPrice/{dropInPrice}

Gets dynamic pricing defaults

GET Subscriber/{subscriberId}/DynamicPricing/Configurations

Retrieve dynamic pricing configs data

SubscriberMembershipPayoutsBilling

Membership Payouts billing processing
APIDescription
POST MembershipPayoutsBilling/Process

Called to start processing for Membership Payouts billing at Zuora side. Do not use this once Aria is available for Flex Credit in PROD. The authentication for this endpoint uses the X-SERVICE-TRUST header along with your JWT i.e. X-SERVICE-TRUST: {{jwt}} We can pass ("test_request = "true") in the request header just to test connectivity to this endpoint. It will not hit Subscriber Service

POST MembershipPayoutsBilling/Process/Credit

Called to start processing for Membership Payouts billing at Aria side. The authentication for this endpoint uses the X-SERVICE-TRUST header along with your JWT i.e. X-SERVICE-TRUST: {{jwt}} We can pass ("test_request = "true") in the request header just to test connectivity to this endpoint. It will not hit Subscriber Service

CartItems

Working with items in a shopping cart.
APIDescription
POST Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Items

Deprecated. Use Subscriber/{subscriberId:int}/Location/{locationId:int}/Cart/{cartId:guid}/Items2.

Adds an item to a shopping cart

POST v2/Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Items

Adds an item to a shopping cart

POST Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Items/{catalogItemId}?quantity={quantity}

Adds an item to shopping cart via the catalog item id

PUT Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Items

Updates an item in a shopping cart

DELETE Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Items/{cartItemId}

Deletes an item from a shopping cart

Amenity

API endpoints for location amenities
APIDescription
GET Amenities

Retrieve a list of all amenities that can be applied to a location.

GET Subscriber/{subscriberId}/Amenities

Retrieve a list of all amenities that can be applied to a location.

GET Subscriber/{subscriberId}/Location/{locationId}/Amenities

Retrieve a list of all amenities assigned to the location indicated.

PUT Subscriber/{subscriberId}/Location/{locationId}/Amenities

Updates the amenities list assigned to a specific location to the amenities specified in the body.

CartPackages

Working with packages in a shopping cart.
APIDescription
POST Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Packages

Adds a package to a shopping cart.

For contracts with autopays, the valid payment method types are CreditCards and AccountBalance.
The CreditCard specified must be the same across all contracts. The CreditCard specified will be stored to the consumer's profile and all existing autopays will now use it as their payment method.

PUT Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Packages

Updates a package in a shopping cart. Use Item endpoints to update items within a package.

For contracts with autopays, the valid payment method types are CreditCards and AccountBalance.
The CreditCard specified must be the same across all contracts. The CreditCard specified will be stored to the consumer's profile and all existing autopays will now use it as their payment method.

DELETE Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Packages/{cartPackageId}

Deletes a package from a shopping cart

PayoutReport

Controller for endpoints related to the subscriber payout report
APIDescription
GET subscriber/{subscriberId}/report/payout?startDate={startDate}&endDate={endDate}&page={page}

Endpoint to fetch data for the subscriber payout report for the date range specified.

GET subscriber/{subscriberId}/report/payout/configuration

Endpoint to fetch any configuration data for the subscriber payout report. For example, the first payout date is needed for populating date dropdowns.

GET subscriber/{subscriberId}/report/payout/export?startDate={startDate}&endDate={endDate}

Returns an exported CSV of the currently filtered payout report.

VirtualMembership

Virtual Marketplace Membership
APIDescription
GET Subscriber/{subscriberId}/VirtualMembership/Configurations

Called to fetch virtual Marketplace Membership configuration for the subscriber.

GET Subscriber/{subscriberId}/VirtualMembership/ConfigurationManagement?membershipType={membershipType}

Gets Virtual Marketplace Membership Dashboard configuration management information for the subscriber

PUT Subscriber/{subscriberId}/VirtualMembership/Configurations

Called to Create Or Update Virtual membership configuration for the subscriber.

PUT Subscriber/{subscriberId}/VirtualMembership/Locations/Configuration

Called to Create Or Update Virtual membership Location configurations for the subscriber.

CartScheduleItems

Cart schedule items
APIDescription
POST Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/ScheduleItems

Adds schedule item to cart optionally with a payment option.
This will will attempt to associate all the schedule items passed in with the payment option provided. If at least one schedule item cannot be reconciled with the payment option, a validation failure will ocurr.

DELETE Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/ScheduleItems/{cartScheduleItemId}

Delete schedule item in cart. Returns 404 when not found.

SubscriberSettings

API Endpoints for managing SubscriberSettings
APIDescription
PUT Subscriber/Settings

Update Subscriber Settings

CartAccountScheduleItemPayments

Cart account schedule item payments
APIDescription
POST Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/AccountScheduleItemPayments

Adds account schedule item payment to cart. Returns 409 if already in cart.

DELETE Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/AccountScheduleItemPayments/{cartAccountScheduleItemPaymentId}

Removes cart account schedul eitem payment from cart. Returns 404 when not found. This will leave any schedule items that were linked to it within the cart.

ServiceTag

API endpoints for managing service category metadata
APIDescription
POST Subscriber/{subscriberId}/ServiceTags/Suggestions

Suggest a new service tag for an appointment

Catalog

Catalog controller
APIDescription
POST Subscriber/{subscriberId}/Location/{locationId}/Catalog/Search/Services/{serviceCategoryType}/{instanceId}/PaymentMethods?consumerId={consumerId}

Pass in a Service Category Type instance as a staff member to find all pricing options that can pay for the id Service Category Types: • Class • Appointment • Enrollment

GET Subscriber/{subscriberId}/Location/{locationId}/Catalog/Search/Services/{itemsRequestId}

Builds items from a search request. The Odata options of top and skip are accepted.
OData example: $top=10&$skip=20

GET Subscriber/{subscriberId}/Location/{locationId}/Catalog/Search/Tip

Gets tip item to use for tips in a cart. The item returned is meant to be reused by the client.

GET Subscriber/{subscriberId}/Location/{locationId}/Catalog/Package/{packageId}?consumerId={consumerId}

Prepares a catalog package for carting.

GET Subscriber/{subscriberId}/Location/{locationId}/Catalog/CatalogItem/{catalogItemId}?consumerId={consumerId}

Prepares a catalog item for carting.

POST Subscriber/{subscriberId}/Catalog/ScheduleItemPayments

Get schedule item payment options for some schedule item

POST Subscriber/{subscriberId}/Catalog/AccountScheduleItemPayments

Get schedule item account payment options for some schedule item

GET Subscriber/{subscriberId}/Catalog/Unpaids

Finds unpaid schedule items for a consumer

Classes

APIDescription
GET subscriber/{subscriberId}/classinstances?StartDateTime={StartDateTime}&EndDateTime={EndDateTime}&LocationId={LocationId}&ServiceCategory={ServiceCategory}&ClassType={ClassType}&ClassLevel={ClassLevel}&TeacherId={TeacherId}

Returns a list of classes for the specified subscriber according to the dates and filters provided in the request.

AccountContract

Account contracts
APIDescription
PUT Subscriber/{subscriberId}/AccountContract/{accountContractId}/Signature

Puts account contract signature. Max file size of 4MB.

StripePayoutAccount

Subscriber configuration changes.
APIDescription
POST Subscriber/{subscriberId}/PayoutAccount/Stripe

Creates a new default payout account for a subscriber.

PUT Subscriber/{subscriberId}/PayoutAccount/Stripe

Updates a subscriber stripe payout account with the values in provided account

GET Subscriber/{subscriberId}/PayoutAccount/Stripe

Fetches a subscriber stripe payout account given a subscriber id

GET Subscriber/{subscriberId}/PayoutAccount/Stripe/Status

Fetches the status of a subscriber stripe payout account. Includes eligibility status for determining the existance of a subscriber payout account and whether a subscriber can be migrated to a stripe account.

POST Subscriber/{subscriberId}/PayoutAccount/Stripe/Migrate

Migrates from subscribers using TSYS for dynamic pricing to a subscriber stripe payout account for dynamic pricing.

FeeRate

Used to manage fee rates for subscribers (primarily stripe right now). Provides access
to default rates as well as custom subscriber rates.
APIDescription
GET Subscriber/{subscriberId}/ApplicableFeeRates

Retrieves all applicable fee rates for a subscriber.

StripePayoutAccountV2

Onboarding flows for Stripe for international (and domestic)
APIDescription
GET v2/Subscriber/{subscriberId}/Location/{locationId}/PayoutAccount/Stripe/OnboardingRequirements

Obtains the required fields and associated validations needed to onboard a subscriber at a country for a Stripe Payout account.

GET v2/Subscriber/{subscriberId}/Location/{locationId}/PayoutAccount/Stripe/OnboardingBankRequirements

Obtains the required fields and associated bank validations needed to onboard a subscriber at a country for a Stripe Payout account.

GET v2/Subscriber/{subscriberId}/Location/{locationId}/PayoutAccount/Stripe

Gets a subscriber Stripe account for an individual location.

GET v2/Subscriber/{subscriberId}/PayoutAccount/Stripe/Status

Gets all subscriber Stripe payout accounts and their associated statuses given you have the appropriate permissions. Includes both the Stripe specific status in addition to Stripe onboarding eligibility status.

POST v2/Subscriber/{subscriberId}/Location/{locationId}/PayoutAccount/Stripe

Creates a subscriber Stripe payout account for an individual location

PUT v2/Subscriber/{subscriberId}/Location/{locationId}/PayoutAccount/Stripe

Updates a subscriber Stripe payout account for an individual location

POST v2/Subscriber/{subscriberId}/Location/{locationId}/PayoutAccount/Stripe/VerificationDocuments/Owner/{ownerIndex}

Manages the identity verification document submission associated with Stripe accounts

Poynt

Allows terminal management
APIDescription
POST Poynt/Terminal/Assign

Creates a request to assign a poynt terminal. This will create the terminal if it does not exist along with the merchant account information. Warning: Please NOTE that If the terminal is already assigned to a different subscriber, all links to the previous subscriber will be REMOVED.

POST Subscriber/Poynt/Terminal/Assign

Creates a request to assign a poynt terminal. This will create the terminal if it does not exist along with the merchant account information. Warning: Please NOTE that If the terminal is already assigned to a different subscriber, all links to the previous subscriber will be REMOVED.

Kafka

Controller for Kafka message publishing
APIDescription
POST kafka/{subscriberId}/publish

Publish message

AccountingIntegration

Endpoints for initializing and configuring an accounting integration
APIDescription
GET {scope}/AccountingIntegration/{accountingType}/Initialize

Initializes the workflow for configuring an accounting integration; the next step in the workflow should be determined based on the Status property Examples: Status of Available means the next step is to go through the oauth linking process, Status of Initialized means the next step is to go through the mapping configuration process, Status of Configured means they can skip to the management/history step

POST {scope}/AccountingIntegration/{accountingType}/Map

Stores an AccountingMap for the provided subscriber Can be used to save a single map or a collection

POST {scope}/AccountingIntegration/{accountingType}/Save

Validates and saves the integration for the provided subscriber. If it is valid, it updates the integration status to be "Configured"

POST {scope}/AccountingIntegration/{accountingType}/Sync

Kicks off the sync process for sales data

POST {scope}/AccountingIntegration/{accountingType}/Resync

Kicks off the a resync request for the specified sync record. This action is idempotent in the sense that once a sync has successfully pushed all orders, calling this again for that sync will have no effect other than to confirm that the sync has been successful.

POST {scope}/AccountingIntegration/{accountingType}/Remove

Removes the stored integration

POST {scope}/AccountingIntegration/{accountingType}/Refresh

Forces a manual refresh of any cached configuration data within the integration

POST {scope}/AccountingIntegration/{accountingType}/SaveXeroTaxRate

Adds a new Xero tax rate. Note that the entry-point is specific to integration type, but there could potentially be multiple entry points that use the same service call.

CartPayments

Working with payments in a shopping cart.
APIDescription
POST Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Payments

adds payment method to a cart, using consumption amounts if provided

DELETE Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Payments/{paymentItemId}

Deletes payment method from a cart

PUT Subscriber/{subscriberId}/Location/{locationId}/Cart/{cartId}/Payments

Updates payment items

CatalogFeed

Endpoints for CatalogFeed
APIDescription
POST Subscriber/{subscriberId}/Location/{locationId}/CatalogFeed/OData?consumerId={consumerId}

This endpoint construct a catalog feed (a collection of catalog items). The items to include are specified by an OData filter.

OData Filtering

To specify which catalog items to include in the feed, you may include an OData $filter parameter. The available fields to filter by are described below.

  • ItemType (string) - One of GiftCard, ServicePricingOption, Retail, AccountCredit, Package.

  • ItemId (int) - The ID of the item.

  • Name (string) - The name of the item.

  • Price (Decimal) - The price of the item.

  • AvailableOnline (bool) - Is the item available in the online store?

  • Introductory (bool) - Is the item an introductory offer?

  • ServiceCategoryId (int) - Service category ID. Not applicable to all item types.

  • AppointmentTypeId (int) - Appointment type ID. Not applicable to all item types.

  • LastUpdated (DateTime) - When the item was last updated.

  • BarcodeId (string) - The barcode ID for the item.

  • Favorite (bool) - Is the item marked as a favorite for the consumer?

  • QuickCash (bool) - Is the item a Quick Cash product? Only applicable to the Retail item type.

  • ProductGroupId (int) - Product group ID. Not applicable to all item types.

  • HasContract (bool) - Does the package contain a contract? Applicable only to the Package item type.

  • IsProfessionalProduct (bool) - Is the item a professional product? Only applicable to retail products. Professional products are never returned for non-professional consumers.

  • PrimaryCategoryId (int) - Primary category for retail products.

  • SecondaryCategoryId (int) - Secondary category for retail products.

  • SubcategoryId (int) - Subcategory for retail products.

  • PrimaryRevenueCategoryId (int) - Primary revenue category for service pricing options. Typically a negative ID.

  • SecondaryRevenueCategoryId (int) - Secondary revenue category for service pricing options. Typically a negative ID.

For example, you may construct a feed containing contracts like so:

$filter=ItemType eq 'Package' and HasContract eq true

Result Ordering

Some of the above fields can also be used in an $orderby OData parameter. For example you may order by price high to low like so:

$orderby=Price desc

POST Subscriber/{subscriberId}/Location/{locationId}/CatalogFeed/ScheduleItem?consumerId={consumerId}&scheduleItemId={scheduleItemId}&serviceCategoryType={serviceCategoryType}

Creates a CatalogFeed for ServicePricingOptions or Packages with ServicePricingOptions that can be used to pay for a scheduled item

GET Subscriber/{subscriberId}/Location/{locationId}/CatalogFeed/{catalogFeedId}?skip={skip}&top={top}

Gets the results for a CatalogFeed. This endpoint is intended to be polled. It will return Accepted if building of the CatalogFeed is still in progress.
Excessive requests to a CatalogFeed that is still in progress will cancel it and return a Gone. A completed CatalogFeed will be returned through a OK.

A CatalogFeed will have at most 250 items in it's result set.

For a page size of 20: Page 1 (skip 0, top 20), Page 2 (skip 20, top 20), Page 3 (skip 40, top 20)

GET Subscriber/{subscriberId}/Location/{locationId}/CatalogFeed/Search?consumerId={consumerId}&ignoreMembershipRestrictions={ignoreMembershipRestrictions}

This endpoint construct a catalog feed (a collection of catalog items). The items to include are specified by an OData filter.

OData Filtering

To specify which catalog items to include in the feed, you may include an OData $filter parameter. The available fields to filter by are described below.

  • ItemType (string) - One of GiftCard, ServicePricingOption, Retail, AccountCredit, Package.

  • ItemId (int) - The ID of the item.

  • Name (string) - The name of the item.

  • Price (Decimal) - The price of the item.

  • AvailableOnline (bool) - Is the item available in the online store?

  • Introductory (bool) - Is the item an introductory offer?

  • ServiceCategoryId (int) - Service category ID. Not applicable to all item types.

  • AppointmentTypeId (int) - Appointment type ID. Not applicable to all item types.

  • LastUpdated (DateTime) - When the item was last updated.

  • BarcodeId (string) - The barcode ID for the item.

  • Favorite (bool) - Is the item marked as a favorite for the consumer?

  • QuickCash (bool) - Is the item a Quick Cash product? Only applicable to the Retail item type.

  • ProductGroupId (int) - Product group ID. Not applicable to all item types.

  • HasContract (bool) - Does the package contain a contract? Applicable only to the Package item type.

  • IsProfessionalProduct (bool) - Is the item a professional product? Only applicable to retail products. Professional products are never returned for non-professional consumers.

  • PrimaryCategoryId (int) - Primary category for retail products.

  • SecondaryCategoryId (int) - Secondary category for retail products.

  • SubcategoryId (int) - Subcategory for retail products.

  • PrimaryRevenueCategoryId (int) - Primary revenue category for service pricing options. Typically a negative ID.

  • SecondaryRevenueCategoryId (int) - Secondary revenue category for service pricing options. Typically a negative ID.

For example, you may construct a feed containing contracts like so:

$filter=ItemType eq 'Package' and HasContract eq true

Result Ordering

Some of the above fields can also be used in an $orderby OData parameter. For example you may order by price high to low like so:

$orderby=Price desc

Pagination

A CatalogFeed will have at most 250 items in it's result set. Paging can be achieved with the OData $skip and $top parameters.

For a page size of 20: Page 1 ($skip 0, $top 20), Page 2 ($skip 20, $top 20), Page 3 ($skip 40, $top 20)

ClientForm

Exposes methods for dealing with client form.
APIDescription
POST Subscriber/{subscriberId}/Scheduling/ClientForm/SendForm

Resend client form with specific form Id

SmokeTest

Controller for the Sales Service smoke test
APIDescription
GET SmokeTest/Ping

The ping endpoint for the application

GET SmokeTest/Status

The Status endpoint for the application

Configuration

Subscriber configuration changes.
APIDescription
POST Subscriber/{subscriberId}/Configuration/DynamicPricingConfiguration

Update the opt in and enabled status of the Dynamic Pricing Configuration

GET Subscriber/{subscriberId}/Configuration/MerchantProcessorConfiguration

Gets the Merchant Processor Configuration values for the subscriber The authentication for this endpoint uses the X-SERVICE-TRUST header along with your JWT i.e. X-SERVICE-TRUST: {{jwt}}

Terminal

Allows terminal management for POYNT devices
APIDescription
POST Terminal

Creates a terminal using rest

GET Terminals?page={page}&pageSize={pageSize}

Finds a list of terminals with optional paging support

GET Terminal/{id}

Find a terminal by its id

DELETE Terminal/{id}

Remove a terminal by its terminal id

GET TerminalLinks?page={page}&pageSize={pageSize}

Finds a terminal along with its merchant account links, if they exist. Results returned are ordered by the terminal external id, studio name and location id.

GET Terminal/{id}/MerchantAccounts

Get all terminal merchant accounts associated with this terminal

GET MerchantAccounts?page={page}&pageSize={pageSize}

Gets all terminal merchant accounts, ordered by terminal external id, subscriber name and location id.

GET Location/{id}/MerchantAccounts

get list of terminal merchant accounts by location

POST Poynt/MerchantAccount/Assign

Add a terminal merchant account

DELETE MerchantAccount/{id}

Delete a terminal merchant account

Order

Contains endpoints for order management
APIDescription
POST Subscriber/{subscriberId}/Location/{locationId}/Order/{orderId}/Tips

Adds post auth tips to an order's credit card payments. Order must not be voided or refunded. Staff members receiving tips must be configured to do so. Tip amounts must be greater than 0. Payment transactions must not already be settled. A settled payment transaction cannot be modified. PaymentMethods must be the same PaymentMethod that was used in the original order creation.

PUT Subscriber/{subscriberId}/Order/{orderId}/Signature

Puts order signature. Max file size of 4MB.

Carts

Sales Carts
APIDescription
POST Subscriber/{subscriberId}/Location/{locationId}/Carts/StartShopping?consumerId={consumerId}

Attempts to start a shopping session. Will either return an existing valid cart, or create a new one.

POST Subscriber/{subscriberId}/Location/{locationId}/Carts/StartWalkInShopping

Attempts to start a shopping session for a walk in consumer.

POST Subscriber/{subscriberId}/Location/{locationId}/Carts/{cartId}/Checkout

Checkout a cart and initiate payment processing. GetCart must be used to check payment processing status.

Returns metadata about the order and account information that is pending finalization from this cart's processing. This data is only usable if the cart successfuly processes.

DELETE Subscriber/{subscriberId}/Location/{locationId}/Carts/{cartId}

Abandon Cart

GET Subscriber/{subscriberId}/Location/{locationId}/Carts/{cartId}

Returns Cart

POST Subscriber/{subscriberId}/Location/{locationId}/Carts/{cartId}/ChangeLocation

Attempts to change the location context of a cart

GET Subscriber/{subscriberId}/Consumer/{consumerId}/Carts/Identifiers

Finds current cart identifiers for a consumer. They are ordered by most recent first.

POST Subscriber/{subscriberId}/Location/{locationId}/Carts/{cartId}/StartPoyntTransaction

Marks the cart as participating in a client side transaction. Transaction will be completed once a cart is checked out and finalized successfully.

MarketplaceReceipts

Relating to purchases and viewing historical information on them such as summaries or receipts
APIDescription
GET Subscriber/{subscriberId}/Order/{orderId}/Receipts?types[0]={types[0]}&types[1]={types[1]}

Gets receipts for an order. This will return all receipts requested as one response.

The request below generates a merchant copy receipt:

/Subscriber/6283/Order/123/Receipts?types[0]=Merchant

To also generate a customer copy, include a types[1]=Customer parameter.

Both receipts will be returned individually, along with a combined version separated by a page break for easy printing.

GET Subscriber/{subscriberId}/AccountContract/{accountContractId}/Agreement

Gets account contract agreement receipt

POST Subscriber/{subscriberId}/Order/{orderId}/Receipt/Send

Triggers the sending of an order receipt notification. Accepts configuration overrides