{ "openapi": "3.0.1", "info": { "title": "Advantage API", "version": "v1" }, "paths": { "/api/v1/activities": { "get": { "tags": [ "Activities" ], "operationId": "getActivities", "parameters": [ { "name": "Name", "in": "query", "schema": { "type": "string" } }, { "name": "skip", "in": "query", "schema": { "minimum": 0, "type": "integer", "format": "int64", "default": 0 } }, { "name": "take", "in": "query", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int64", "default": 20 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of activities with given filter", "schema": { "type": "integer", "description": "Total number of activities with given filter", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Activity" } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/activities/{id}/starttimes": { "get": { "tags": [ "Activities" ], "operationId": "getActivityStartTimes", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "Date", "in": "query", "schema": { "type": "string", "format": "date" } }, { "name": "StartAfter", "in": "query", "schema": { "type": "string", "format": "time" } }, { "name": "EndBefore", "in": "query", "schema": { "type": "string", "format": "time" } }, { "name": "AllowedUserTypes", "in": "query", "schema": { "$ref": "#/components/schemas/UserTypes" } }, { "name": "AllowedBookingTypes", "in": "query", "schema": { "$ref": "#/components/schemas/BookingTypes" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ActivityStartTime" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/auth/token": { "post": { "tags": [ "Auth" ], "operationId": "token", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/TokenRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/TokenRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/TokenRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/TokenRequest" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "403.0.15.0", "messages": [ "Something went wrong" ] } } } } } } } } }, "/api/v1/authentication/phoenix": { "post": { "tags": [ "Authentication" ], "summary": "Posts a request to log in to the Phoenix system", "operationId": "postAuthentication", "requestBody": { "description": "The request to authenticate with the system", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/AuthenticationRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticationRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AuthenticationRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/AuthenticationRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticationResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/authentication/phoenix/test": { "get": { "tags": [ "Authentication" ], "summary": "Tests Phoenix authentication", "operationId": "testAuthentication", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "boolean" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/bulkwaiverimport": { "post": { "tags": [ "BulkWaiverImport" ], "summary": "Create a waiver.", "operationId": "bulkWaiverImport", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WaiverExportJob" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/businessentity/phoenix/businessentity/{id}": { "get": { "tags": [ "BusinessEntity" ], "summary": "Get Phoenix BusinessEntity", "operationId": "getBusinessEntity", "parameters": [ { "name": "id", "in": "path", "description": "Business entity id", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BusinessEntityResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "401.0.15.0", "messages": [ "Unauthorized" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/cardlayout": { "get": { "tags": [ "CardLayout" ], "summary": "Get a list of Card Layouts.", "operationId": "getCardLayouts", "parameters": [ { "name": "skip", "in": "query", "description": "Skip this many card layouts.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Return at most this many card layouts.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of pass types", "schema": { "type": "integer", "description": "Total number of pass types", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CardLayout" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/productcatalogs/default/catalogentries": { "get": { "tags": [ "CatalogEntries" ], "summary": "Get a list of catalog entries.", "operationId": "getCatalogEntries", "parameters": [ { "name": "categoryId", "in": "query", "description": "Optional filter by category ID.", "schema": { "type": "integer", "format": "int64" } }, { "name": "status", "in": "query", "description": "Optional filter by status.", "schema": { "$ref": "#/components/schemas/CatalogEntryStatusFilter" } }, { "name": "skip", "in": "query", "description": "Skip this many catalog entries.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Return at most this many catalog entries.", "schema": { "maximum": 1000, "minimum": 1, "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of catalog entries", "schema": { "type": "integer", "description": "Total number of catalog entries", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CatalogEntry" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/productcatalogs/default/catalogentries/{catalogEntryId}": { "get": { "tags": [ "CatalogEntries" ], "summary": "Get a single catalog entry by Id.", "operationId": "getCatalogEntry", "parameters": [ { "name": "catalogEntryId", "in": "path", "description": "Catalog Entry ID.", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogEntry" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/productcatalogs/default/categories": { "get": { "tags": [ "Categories" ], "summary": "Get a list of categories.", "operationId": "getCategories", "parameters": [ { "name": "parentCategoryId", "in": "query", "description": "Optional parent category restriction.", "schema": { "type": "integer", "format": "int64" } }, { "name": "status", "in": "query", "description": "Optional category status restriction.", "schema": { "$ref": "#/components/schemas/CategoryStatus" } }, { "name": "skip", "in": "query", "description": "Skip this many categories.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Return at most this many categories.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 100 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of categories", "schema": { "type": "integer", "description": "Total number of categories", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Category" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/productcatalogs/default/categories/{categoryId}": { "get": { "tags": [ "Categories" ], "summary": "Get a single category by Id.", "operationId": "getCategory", "parameters": [ { "name": "categoryId", "in": "path", "description": "Catagory ID.", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Category" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/customercards/{cardNumber}": { "get": { "tags": [ "CustomerCards" ], "summary": "Get a single customer by their customer card number.", "operationId": "getCustomerFromCard", "parameters": [ { "name": "cardNumber", "in": "path", "description": "Customer card number.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/customers": { "get": { "tags": [ "Customers" ], "summary": "Get a list of customers.", "operationId": "getCustomers", "parameters": [ { "name": "q", "in": "query", "description": "Query string to filter results.", "schema": { "type": "string" } }, { "name": "skip", "in": "query", "description": "Number of customers to skip.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Maximum number of customers to return.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 10 } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Customer" } } } } } }, "security": [ { "Bearer": [ ] } ] }, "post": { "tags": [ "Customers" ], "summary": "Create a customer.", "operationId": "createCustomer", "requestBody": { "description": "Customer details.", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateCustomerRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateCustomerRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateCustomerRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateCustomerRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/customers/{customerId}": { "get": { "tags": [ "Customers" ], "summary": "Get a single customer by ID.", "operationId": "getCustomer", "parameters": [ { "name": "customerId", "in": "path", "description": "Customer ID.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "includeRelationships", "in": "query", "description": "Whether the customer's relationships should also be returned", "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/customers/{oldCustomerId}/merge/{newCustomerId}": { "put": { "tags": [ "Customers" ], "summary": "Perform a customer merge operation", "operationId": "mergeCustomers", "parameters": [ { "name": "oldCustomerId", "in": "path", "description": "Original Customer ID being merged.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "newCustomerId", "in": "path", "description": "Customer to be merged to", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Customer" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/customers/{customerId}/waivers": { "get": { "tags": [ "CustomerWaivers" ], "summary": "Get a list of waivers for a specific customer.", "operationId": "getCustomerWaivers", "parameters": [ { "name": "customerId", "in": "path", "description": "CustomerId of the Customer", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "skip", "in": "query", "description": "Skip this many waivers.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Return at most this many waivers.", "schema": { "maximum": 20, "minimum": 1, "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of waivers", "schema": { "type": "integer", "description": "Total number of waivers", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Waiver" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/divisions/{divisionId}": { "get": { "tags": [ "Divisions" ], "summary": "Get a single division by Id.", "operationId": "getDivision", "parameters": [ { "name": "divisionId", "in": "path", "description": "Division Id.", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Division" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/divisions": { "get": { "tags": [ "Divisions" ], "summary": "Get a list of divisions.", "operationId": "getDivisions", "parameters": [ { "name": "skip", "in": "query", "description": "Skip this many divisions.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Return at most this many divisions.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of divisions", "schema": { "type": "integer", "description": "Total number of divisions", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Division" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/fingerprints": { "post": { "tags": [ "Fingerprints" ], "summary": "Gets the employee number by fingerprint.", "operationId": "getEmployee", "requestBody": { "description": "Fingerprint byte array", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/EmployeeFingerprintRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EmployeeFingerprintRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EmployeeFingerprintRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/EmployeeFingerprintRequest" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmployeeFingerprintResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/groupevents/{id}/notify": { "post": { "tags": [ "GroupEvents" ], "operationId": "notifyGroupEventUpdated", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/groupevents/{id}": { "get": { "tags": [ "GroupEvents" ], "summary": "Get a single group event by id.", "operationId": "getGroupEvent", "parameters": [ { "name": "id", "in": "path", "description": "Group Event id.", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GroupEvent" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/jobs/{jobId}": { "get": { "tags": [ "Jobs" ], "summary": "Check the status of a phoenix job", "operationId": "getJobStatus", "parameters": [ { "name": "jobId", "in": "path", "description": "Id of the job you want to check.", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "jobType", "in": "query", "description": "type of the job you are checking.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JobStatus" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/media/parse": { "post": { "tags": [ "Media" ], "summary": "Parse raw media data and return media info.", "operationId": "parse", "requestBody": { "description": "Raw data read from the media.", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/MediaData" } }, "application/json": { "schema": { "$ref": "#/components/schemas/MediaData" } }, "text/json": { "schema": { "$ref": "#/components/schemas/MediaData" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/MediaData" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MediaInfo" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/media/{cardNumber}/balance": { "get": { "tags": [ "MediaBalance" ], "summary": "Parse raw media data and return media info.", "operationId": "getBalance", "parameters": [ { "name": "cardNumber", "in": "path", "description": "Card number.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MediaBalance" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/media/{cardNumber}/playprivilege": { "get": { "tags": [ "MediaPlayPrivilege" ], "summary": "Parse raw media data and return media info.", "operationId": "getPlayPrivileges", "parameters": [ { "name": "cardNumber", "in": "path", "description": "Card number.", "required": true, "schema": { "type": "string" } }, { "name": "skip", "in": "query", "description": "Number of results to skip.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Number of results to take.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 100 } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PlayPrivilege" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/media/{cardNumber}/timeplay": { "get": { "tags": [ "MediaTimePlay" ], "summary": "Get the list of time plays on a piece of media.", "operationId": "getTimePlays", "parameters": [ { "name": "cardNumber", "in": "path", "description": "Card number.", "required": true, "schema": { "type": "string" } }, { "name": "skip", "in": "query", "description": "Number of time plays to skip.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Number of time plays to return.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 100 } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/MediaTimePlay" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/productcatalogs/default/modifiersets": { "get": { "tags": [ "ModifierSets" ], "summary": "Get a list of modifier sets.", "operationId": "getModifierSets", "parameters": [ { "name": "skip", "in": "query", "description": "Skip this many modifier sets.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Return at most this many modifier sets.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of modifier sets", "schema": { "type": "integer", "description": "Total number of modifier sets", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ModifierSet" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/productcatalogs/default/modifiersets/{modifierSetId}": { "get": { "tags": [ "ModifierSets" ], "summary": "Get a single modifier set by Id.", "operationId": "getModifierSet", "parameters": [ { "name": "modifierSetId", "in": "path", "description": "Modifier set ID.", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModifierSet" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/passes": { "post": { "tags": [ "Passes" ], "summary": "Creates a single pass", "operationId": "createPass", "requestBody": { "description": "Pass Create Request Dto.", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/PassCreateRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PassCreateRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PassCreateRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/PassCreateRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Pass" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/passes/{passId}": { "get": { "tags": [ "Passes" ], "summary": "Returns a single pass", "operationId": "getPass", "parameters": [ { "name": "passId", "in": "path", "description": "Pass ID.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Pass" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] }, "patch": { "tags": [ "Passes" ], "summary": "Updates a single pass", "operationId": "updatePass", "parameters": [ { "name": "passId", "in": "path", "description": "Pass ID.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "Pass patch document.", "content": { "application/json-patch+json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Operation" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Operation" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Operation" } } }, "application/*+json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Operation" } } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Pass" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/passtype/{id}": { "get": { "tags": [ "PassType" ], "summary": "Get a single pass type by id.", "operationId": "getPassType", "parameters": [ { "name": "id", "in": "path", "description": "Pass type id.", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PassType" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/passtype": { "get": { "tags": [ "PassType" ], "summary": "Get a list of pass types.", "operationId": "getPassTypes", "parameters": [ { "name": "skip", "in": "query", "description": "Skip this many pass types.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Return at most this many pass types.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of pass types", "schema": { "type": "integer", "description": "Total number of pass types", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PassType" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/passes/getusageoptions": { "post": { "tags": [ "PassUseOptions" ], "summary": "Validates which items may be used by a customer's passes", "operationId": "getUsageOptions", "requestBody": { "description": "Details of the pass use options request", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/PassUseOptionsRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PassUseOptionsRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PassUseOptionsRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/PassUseOptionsRequest" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PassUseOptionsResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/passes/{passId}/uses": { "get": { "tags": [ "PassUses" ], "summary": "Returns the list of uses for a single pass", "operationId": "getPassUses", "parameters": [ { "name": "passId", "in": "path", "description": "Pass ID.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PassUse" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/payrollexport": { "get": { "tags": [ "PayrollExport" ], "summary": "Returns a stream of the payroll export in the specified format between the given dates", "operationId": "getPayrollExport", "parameters": [ { "name": "format", "in": "query", "description": "The format desired for the payroll export", "required": true, "schema": { "type": "string" } }, { "name": "startDate", "in": "query", "description": "The inclusive date from which the data should be exported; if not supplied, it starts at the earliest date possible", "schema": { "type": "string", "format": "date-time" } }, { "name": "endDate", "in": "query", "description": "The inclusive date until which the data should be exported; if not supplied, it ends at the latest date possible", "schema": { "type": "string", "format": "date-time" } } ], "responses": { "200": { "description": "Success", "content": { "application/octet-stream": { "schema": { "type": "string", "description": "File download", "format": "binary" } } } }, "400": { "description": "Bad Request", "content": { "text/csv": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } }, "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/productcatalogs/default/catalogentries/{catalogEntryId}/price": { "get": { "tags": [ "Price" ], "summary": "Get a list of catalog entries.", "operationId": "getPrice", "parameters": [ { "name": "catalogEntryId", "in": "path", "description": "Id of the catalog entry.", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "dateTime", "in": "query", "description": "Specific date/time for the price.", "schema": { "type": "string", "format": "date-time" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EffectivePrice" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/pricelists/default/entries": { "get": { "tags": [ "PriceLists" ], "summary": "Get all the entries with prices", "operationId": "getEntriesWithPrice", "parameters": [ { "name": "skip", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 1000 } }, { "name": "entries", "in": "query", "schema": { "type": "array", "items": { "type": "integer", "format": "int64" } } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of entries", "schema": { "type": "integer", "description": "Total number of entries", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Entry" } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/productcatalogs/default/products": { "get": { "tags": [ "Products" ], "summary": "Get a list of products.", "operationId": "getProducts", "parameters": [ { "name": "skip", "in": "query", "description": "Skip this many products.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Return at most this many products.", "schema": { "maximum": 1000, "minimum": 1, "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of products", "schema": { "type": "integer", "description": "Total number of products", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Product" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/productcatalogs/default/products/{productId}": { "get": { "tags": [ "Products" ], "summary": "Get a single product by Id.", "operationId": "getProduct", "parameters": [ { "name": "productId", "in": "path", "description": "Product ID.", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Product" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/productcatalogs/default/products/{productId}/skus": { "get": { "tags": [ "Products" ], "summary": "Get a list of product SKUs by product id.", "operationId": "getProductSkus", "parameters": [ { "name": "productId", "in": "path", "description": "Product Id", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "skip", "in": "query", "description": "Skip this many product SKUs.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Return at most this many product SKUs.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of product skus", "schema": { "type": "integer", "description": "Total number of product skus", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Sku" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/configuration/refresh": { "get": { "tags": [ "Refresh" ], "operationId": "refresh", "responses": { "204": { "description": "No Content" } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/activities/{activityId}/reservations": { "post": { "tags": [ "Reservations" ], "operationId": "createReservation", "parameters": [ { "name": "activityId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateReservationRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateReservationRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateReservationRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateReservationRequest" } } } }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "409.0.15.0", "messages": [ "Conflict" ] } } } } } }, "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnpaidReservation" } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/activities/{activityId}/unpaidreservations/{id}": { "put": { "tags": [ "Reservations" ], "operationId": "updateUnpaidReservation", "parameters": [ { "name": "activityId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateReservationRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateReservationRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateReservationRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateReservationRequest" } } } }, "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "409.0.15.0", "messages": [ "Conflict" ] } } } } } }, "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnpaidReservation" } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/unpaidreservations/{id}": { "get": { "tags": [ "Reservations" ], "operationId": "getUnpaidReservation", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } }, "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnpaidReservation" } } } } }, "security": [ { "Bearer": [ ] } ] }, "delete": { "tags": [ "Reservations" ], "operationId": "deleteUnpaidReservation", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/transactions/salestax/calculate": { "post": { "tags": [ "SalesTax" ], "summary": "Calculate sales tax for a transaction.", "operationId": "calculate", "requestBody": { "description": "Transaction details.", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/SalesTaxTransaction" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SalesTaxTransaction" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SalesTaxTransaction" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/SalesTaxTransaction" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SalesTaxResult" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/station/phoenix": { "post": { "tags": [ "Station" ], "summary": "Creates an Advantage station as described and using the provided short-term authentication", "operationId": "createStation", "parameters": [ { "name": "accessToken", "in": "query", "description": "The bearer token to be used for short-term authentication", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "The configuration of the station to be created", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateStation" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateStation" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateStation" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateStation" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StationResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/ticketformats/{id}": { "get": { "tags": [ "TicketFormats" ], "summary": "Get a Advantage.TicketFormats.Models.TicketFormat by id and type", "operationId": "getTicketFormat", "parameters": [ { "name": "id", "in": "path", "description": "Ticket format id of the format text to return", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TicketFormat" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/ticketformats": { "get": { "tags": [ "TicketFormats" ], "summary": "Get a list of Advantage.TicketFormats.Models.TicketFormats", "operationId": "getTicketFormats", "parameters": [ { "name": "skip", "in": "query", "description": "The number of formats to skip", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "The number of formats to take", "schema": { "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of ticket formats", "schema": { "type": "integer", "description": "Total number of ticket formats", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TicketFormat" } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/tills/{id}": { "get": { "tags": [ "Tills" ], "summary": "Get a single till by Id.", "operationId": "getTill", "parameters": [ { "name": "id", "in": "path", "description": "Till Id.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Till" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/transactions/{transactionId}": { "get": { "tags": [ "Transactions" ], "summary": "Get a single transaction by ID.", "operationId": "getTransaction", "parameters": [ { "name": "transactionId", "in": "path", "description": "Transaction ID.", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Transaction" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] }, "put": { "tags": [ "Transactions" ], "summary": "Update a transaction.", "operationId": "updateTransaction", "parameters": [ { "name": "transactionId", "in": "path", "description": "Transaction id of transaction to update.", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "description": "Transaction details.", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateTransactionRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTransactionRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateTransactionRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateTransactionRequest" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Transaction" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } }, "423": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "423.0.15.0", "messages": [ "Something went wrong" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/transactions": { "post": { "tags": [ "Transactions" ], "summary": "Create a transaction.", "operationId": "createTransaction", "requestBody": { "description": "Transaction details.", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateTransactionRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateTransactionRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateTransactionRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateTransactionRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Transaction" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "409.0.15.0", "messages": [ "Conflict" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/transactions/{transactionId}/notify": { "post": { "tags": [ "Transactions" ], "operationId": "notifyTransactionUpdated", "parameters": [ { "name": "transactionId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/updates/patches": { "get": { "tags": [ "Updates" ], "summary": "Get patches", "operationId": "getPatches", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PatchFileInfo" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } } } }, "/api/v1/updates/{version}": { "get": { "tags": [ "Updates" ], "summary": "Get update file info", "operationId": "updateFilesInfo", "parameters": [ { "name": "version", "in": "path", "description": "Specifies the current version", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PatchFileInfo" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/updates/patches/unapplied": { "get": { "tags": [ "Updates" ], "summary": "Get unapplied patches", "operationId": "unappliedStagingPatches", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PatchFileInfo" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/updates/patches/{path}": { "get": { "tags": [ "Updates" ], "summary": "Get file", "operationId": "getFile", "parameters": [ { "name": "path", "in": "path", "description": "Specifies the path of file", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } } } }, "/api/v1/updates/{version}/{path}": { "get": { "tags": [ "Updates" ], "summary": "Get update file", "operationId": "updateFile", "parameters": [ { "name": "version", "in": "path", "description": "Specifies the current version", "required": true, "schema": { "type": "string" } }, { "name": "path", "in": "path", "description": "Specifies the path of file", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/updates/latestversion": { "get": { "tags": [ "Updates" ], "summary": "Checks the latest version available", "operationId": "latestVersion", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LatestVersion" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/updates/update": { "post": { "tags": [ "Updates" ], "summary": "Applies latest Update", "operationId": "applyUpdate", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateResult" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/updates/stagingfileupdate": { "post": { "tags": [ "Updates" ], "summary": "Applies staging files", "operationId": "applyStagingFiles", "responses": { "200": { "description": "Success" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/updates/patches/station/{stationNo}": { "post": { "tags": [ "Updates" ], "summary": "Updates station applied patch info", "operationId": "updateAppliedPatchInfoAsync", "parameters": [ { "name": "stationNo", "in": "path", "description": "Specifies the path of file", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } } } }, "/api/v1/urltopay": { "get": { "tags": [ "UrlToPay" ], "summary": "Gets the list of UrlToPay objects from the local Advantage database. This data may not be 100% consistent with what is in phoenix due to eventual consistency.", "operationId": "getUrlToPayList", "parameters": [ { "name": "AccountsReceivableInvoiceId", "in": "query", "description": "Id for an Accounts Receivable transaction", "schema": { "type": "string", "format": "uuid" } }, { "name": "EventRefNo", "in": "query", "description": "Id for an Events/Groups transaction", "schema": { "type": "integer", "format": "int64" } }, { "name": "TransactionId", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "StatusFilter", "in": "query", "description": "A status filter list that allows for searching across different combinations of status'. i.e. setting the list to only include Pending will result in returned results only being in pending status\r\n\r\nNote: If the status filter is null/empty, it will be treated as if ALL status' are included.", "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UrlToPayStatus" } } }, { "name": "skip", "in": "query", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 100 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of url to pay transactions", "schema": { "type": "integer", "description": "Total number of url to pay transactions", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UrlToPaySummary" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] }, "post": { "tags": [ "UrlToPay" ], "operationId": "createUrlToPay", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateUrlToPayRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateUrlToPayRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateUrlToPayRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateUrlToPayRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UrlToPay" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/urltopay/{id}": { "get": { "tags": [ "UrlToPay" ], "summary": "This endpoint will GET the UrlToPay object from Phoenix. Intended for internal CE use only", "operationId": "getUrlToPay", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UrlToPay" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] }, "put": { "tags": [ "UrlToPay" ], "operationId": "updateUrlToPay", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateUrlToPayRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateUrlToPayRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateUrlToPayRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateUrlToPayRequest" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UrlToPay" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/urltopay/{id}/paymentdetails/{paymentId}": { "put": { "tags": [ "UrlToPay" ], "operationId": "addPaymentDetails", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "paymentId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/AddUrlToPayPaymentDetailsRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AddUrlToPayPaymentDetailsRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AddUrlToPayPaymentDetailsRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/AddUrlToPayPaymentDetailsRequest" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UrlToPay" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } }, "423": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "423.0.15.0", "messages": [ "Something went wrong" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/urltopay/enabled": { "get": { "tags": [ "UrlToPay" ], "operationId": "getUrlToPayEnabled", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UrlToPayEnabled" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "400.0.15.0", "messages": [ "Bad Request" ] } } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/version": { "get": { "tags": [ "Version" ], "summary": "Get the current Advantage version number.", "operationId": "get", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VersionModel" } } } } } } }, "/api/v1/version/authenticated": { "get": { "tags": [ "Version" ], "summary": "Get the current Advantage version number.", "operationId": "getAuthenticated", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VersionModel" } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/waivers/{waiverId}/document": { "get": { "tags": [ "WaiverDocument" ], "summary": "Gets a document, such as a PDF, for a waiver.", "operationId": "getDocument", "parameters": [ { "name": "waiverId", "in": "path", "description": "Waiver ID.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "description": "File download", "format": "binary" } }, "application/pdf": { "schema": { "type": "string", "description": "File download", "format": "binary" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } }, "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } }, "text/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/waivers": { "get": { "tags": [ "Waivers" ], "summary": "Get a list of waivers.", "operationId": "getWaivers", "parameters": [ { "name": "name", "in": "query", "description": "Filter by name.", "schema": { "type": "string" } }, { "name": "phoneNumber", "in": "query", "description": "Filter by phone number.", "schema": { "type": "string" } }, { "name": "skip", "in": "query", "description": "Skip this many waivers.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Return at most this many waivers.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 20 } }, { "name": "excludeExpired", "in": "query", "description": "exclude expired waivers from the return.", "schema": { "type": "boolean", "default": false } }, { "name": "lookupString", "in": "query", "description": "Unique waiver lookup string (i.e. the waiver's barcode).", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of waivers", "schema": { "type": "integer", "description": "Total number of waivers", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Waiver" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] }, "post": { "tags": [ "Waivers" ], "summary": "Create a waiver.", "operationId": "createWaiver", "requestBody": { "description": "Waiver details.", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateWaiver" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateWaiver" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateWaiver" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateWaiver" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Waiver" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "409.102.15.0", "messages": [ "Email already exists" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/waivers/{waiverId}": { "get": { "tags": [ "Waivers" ], "summary": "Get a single waiver by ID.", "operationId": "getWaiver", "parameters": [ { "name": "waiverId", "in": "path", "description": "Waiver ID.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Waiver" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] }, "put": { "tags": [ "Waivers" ], "summary": "Update an existing waiver.", "operationId": "updateWaiver", "parameters": [ { "name": "waiverId", "in": "path", "description": "Waiver ID.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "Waiver details.", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/Waiver" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Waiver" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Waiver" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/Waiver" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Waiver" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "409.102.15.0", "messages": [ "Email already exists" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/waivers/{waiverId}/similarcustomers": { "get": { "tags": [ "Waivers" ], "summary": "Get a list of potential matching customer records for a waiver signee and dependents.", "operationId": "getWaiverSimilarCustomers", "parameters": [ { "name": "waiverId", "in": "path", "description": "Waiver ID.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "skip", "in": "query", "description": "Skip this many waivers.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Return at most this many waivers.", "schema": { "maximum": 200, "minimum": 1, "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of similar customers", "schema": { "type": "integer", "description": "Total number of similar customers", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SimilarCustomers" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/waivers/{waiverId}/signature": { "get": { "tags": [ "WaiverSignature" ], "summary": "Gets a signature, such as an image, for a waiver.", "operationId": "getSignature", "parameters": [ { "name": "waiverId", "in": "path", "description": "Waiver ID.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "image/jpeg": { "schema": { "type": "string", "format": "byte" } } } }, "404": { "description": "Not Found", "content": { "image/jpeg": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/waivertext/{waiverId}": { "get": { "tags": [ "WaiverText" ], "summary": "Get a single waiver text by id", "operationId": "getWaiverText", "parameters": [ { "name": "waiverId", "in": "path", "description": "ID of the waiver of which to return the text", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WaiverText" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/waivertypes/{id}": { "get": { "tags": [ "WaiverTypes" ], "summary": "Get a single waiver type by id.", "operationId": "getWaiverType", "parameters": [ { "name": "id", "in": "path", "description": "Id of the waiver type to return", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WaiverType" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } }, "/api/v1/waivertypes": { "get": { "tags": [ "WaiverTypes" ], "summary": "Get a list of waiver types.", "operationId": "getWaiverTypes", "parameters": [ { "name": "skip", "in": "query", "description": "Skip this many waivers types.", "schema": { "minimum": 0, "type": "integer", "format": "int32", "default": 0 } }, { "name": "take", "in": "query", "description": "Return at most this many waiver types.", "schema": { "maximum": 200, "minimum": 1, "type": "integer", "format": "int32", "default": 100 } } ], "responses": { "200": { "description": "Success", "headers": { "X-Total-Count": { "description": "Total number of waiver types", "schema": { "type": "integer", "description": "Total number of waiver types", "format": "" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WaiverType" } } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "Default": { "value": { "errorCode": "404.0.15.0", "messages": [ "Not Found" ] } } } } } } }, "security": [ { "Bearer": [ ] } ] } } }, "components": { "schemas": { "Action": { "required": [ "actionType" ], "type": "object", "properties": { "actionType": { "$ref": "#/components/schemas/ActionType" } }, "additionalProperties": false, "discriminator": { "propertyName": "actionType" } }, "ActionType": { "enum": [ "CustomerAction", "MediaAction" ], "type": "string" }, "ActivationType": { "enum": [ "Value", "Pass", "TimePlayDurationMinutes", "TimePlayDate", "TimePlayTime", "TimePlayDateTimeDaily", "PlayPrivilege", "TimePlayDurationDays" ], "type": "string" }, "Activity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "areaId": { "type": "string", "format": "uuid" }, "names": { "$ref": "#/components/schemas/StringSet" }, "maxCapacity": { "type": "integer", "format": "int64" }, "reservedCapacity": { "type": "integer", "format": "int64" }, "allowMixedUse": { "type": "boolean" } }, "additionalProperties": false }, "ActivityStartTime": { "required": [ "activityId", "options", "startDateTime" ], "type": "object", "properties": { "activityId": { "type": "string", "format": "uuid" }, "startDateTime": { "type": "string", "format": "date-time" }, "options": { "type": "array", "items": { "$ref": "#/components/schemas/TicketOption" } } }, "additionalProperties": false }, "Actor": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ActorType" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "ActorType": { "enum": [ "EmployeeActor", "IntegrationActor" ], "type": "string" }, "AddUrlToPayPaymentDetailsRequest": { "required": [ "approvalCode", "approvalTimestamp", "cardType", "netAmount", "shortAccountNumber" ], "type": "object", "properties": { "cardholderName": { "type": "string", "nullable": true }, "shortAccountNumber": { "maxLength": 4, "minLength": 0, "type": "string" }, "approvalTimestamp": { "type": "string", "format": "date-time" }, "approvalCode": { "maxLength": 6, "minLength": 0, "type": "string" }, "cardType": { "$ref": "#/components/schemas/MerchantCardType" }, "paymentToken": { "type": "string", "format": "byte", "nullable": true }, "externalId": { "type": "string", "description": "Used to help differentiate payment history from new payments", "nullable": true }, "netAmount": { "type": "number", "description": "The total amount of the charge for the payment (this INCLUDES gratuity)", "format": "double" }, "includedGratuityAmount": { "type": "number", "description": "The specific amount that was applied to the total that was the gratuity", "format": "double", "nullable": true } }, "additionalProperties": false }, "AgeIssuanceRestriction": { "type": "object", "properties": { "minimumAge": { "type": "integer", "description": "The minimum age valid for using the pass", "format": "int32", "nullable": true }, "maximumAge": { "type": "integer", "description": "The maximum age valid for using the pass", "format": "int32", "nullable": true } }, "additionalProperties": false, "description": "Limits the number of times a pass may be used within the transaction it is issued in" }, "Allocation": { "required": [ "amount", "catalogEntryId" ], "type": "object", "properties": { "catalogEntryId": { "type": "integer", "format": "int64" }, "quantity": { "type": "integer", "format": "int32", "nullable": true }, "amount": { "type": "number", "format": "double" }, "taxCodeIds": { "type": "array", "items": { "type": "integer", "format": "int32" }, "nullable": true } }, "additionalProperties": false }, "AttributeFilteredProductChoiceSet": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/SkuChoiceSet" } ], "properties": { "productId": { "type": "integer", "format": "int64" }, "attributeTypeIds": { "type": "array", "items": { "type": "integer", "format": "int64" }, "nullable": true } }, "additionalProperties": false }, "AttributeValue": { "type": "object", "properties": { "attributeTypeId": { "type": "integer", "format": "int64" }, "namedValues": { "$ref": "#/components/schemas/NamedAttributeValueDisplaySet" } }, "additionalProperties": false }, "AuthenticationRequest": { "required": [ "password", "username" ], "type": "object", "properties": { "username": { "minLength": 1, "type": "string" }, "password": { "minLength": 1, "type": "string" } }, "additionalProperties": false }, "AuthenticationResponse": { "required": [ "accessToken", "permissions", "username" ], "type": "object", "properties": { "username": { "minLength": 1, "type": "string" }, "accessToken": { "minLength": 1, "type": "string" }, "permissions": { "type": "array", "items": { "$ref": "#/components/schemas/Permission" } } }, "additionalProperties": false }, "BarcodeMediaData": { "required": [ "content" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/MediaData" } ], "properties": { "content": { "type": "string" } }, "additionalProperties": false }, "BookingTypes": { "enum": [ "None", "Basic", "GroupEvent", "All" ], "type": "string" }, "BuddyPassUse": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/PassUse" } ], "additionalProperties": false }, "BusinessEntityResponse": { "required": [ "businessEntityId", "businessEntityName" ], "type": "object", "properties": { "businessEntityId": { "minLength": 1, "type": "string" }, "businessEntityName": { "minLength": 1, "type": "string" } }, "additionalProperties": false }, "CalendarSystem": { "type": "object", "properties": { "id": { "type": "string", "nullable": true, "readOnly": true }, "name": { "type": "string", "nullable": true, "readOnly": true }, "minYear": { "type": "integer", "format": "int32", "readOnly": true }, "maxYear": { "type": "integer", "format": "int32", "readOnly": true }, "eras": { "type": "array", "items": { "$ref": "#/components/schemas/Era" }, "nullable": true, "readOnly": true } }, "additionalProperties": false }, "CapacityInfo": { "type": "object", "properties": { "total": { "type": "integer", "format": "int64" }, "available": { "type": "integer", "format": "int64" }, "reserved": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "CardLayout": { "required": [ "id", "name" ], "type": "object", "properties": { "id": { "type": "integer", "description": "Unique identifier.", "format": "int32" }, "name": { "type": "string", "description": "Name of this layout" } }, "additionalProperties": false, "description": "Represents a definition for a Card Layout" }, "CashTender": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Tender" } ], "properties": { "gratuityAmount": { "type": "number", "format": "double" } }, "additionalProperties": false }, "CatalogEntry": { "required": [ "entryType", "id", "productCatalogId" ], "type": "object", "properties": { "entryType": { "$ref": "#/components/schemas/CatalogEntryType" }, "productCatalogId": { "type": "integer", "format": "int64" }, "id": { "type": "integer", "format": "int64" }, "status": { "$ref": "#/components/schemas/CatalogEntryStatus" }, "canBeSold": { "type": "boolean", "nullable": true }, "enforceToGoOrderTaxability": { "type": "boolean" } }, "additionalProperties": false, "discriminator": { "propertyName": "entryType" } }, "CatalogEntryLineItem": { "required": [ "catalogEntryId", "saleAmount" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/LineItem" } ], "properties": { "saleAmount": { "$ref": "#/components/schemas/SaleAmount" }, "netAmount": { "type": "number", "format": "double", "readOnly": true }, "catalogEntryId": { "type": "integer", "format": "int64" }, "customerId": { "type": "string", "format": "uuid", "nullable": true }, "modifiers": { "type": "array", "items": { "$ref": "#/components/schemas/Modifier" }, "nullable": true }, "allocations": { "type": "array", "items": { "$ref": "#/components/schemas/Allocation" }, "nullable": true }, "shiftDate": { "type": "string", "format": "date", "nullable": true }, "reservationId": { "type": "string", "format": "uuid", "nullable": true }, "media": { "type": "array", "items": { "$ref": "#/components/schemas/Media" }, "description": "A list of Advantage.Service.Transactions.Dto.CatalogEntryLineItemDto.Media associated with the transaction", "nullable": true }, "notes": { "type": "string", "description": "Optional text notes associated with the line.", "nullable": true } }, "additionalProperties": false }, "CatalogEntryStatus": { "enum": [ "Undecided", "Active", "Suspended", "Retired" ], "type": "string" }, "CatalogEntryStatusFilter": { "enum": [ "None", "Undecided", "Active", "Suspended", "Retired", "All" ], "type": "string" }, "CatalogEntryType": { "enum": [ "Package", "Sku" ], "type": "string" }, "Category": { "required": [ "enabled", "id", "names" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "names": { "$ref": "#/components/schemas/StringSet" }, "enabled": { "type": "boolean" }, "parentCategoryId": { "type": "integer", "format": "int64", "nullable": true } }, "additionalProperties": false }, "CategoryStatus": { "enum": [ "None", "Enabled", "Disabled", "All" ], "type": "string" }, "CreateCustomerRequest": { "required": [ "lastName" ], "type": "object", "properties": { "firstName": { "type": "string", "nullable": true }, "lastName": { "minLength": 1, "type": "string" }, "dateOfBirth": { "type": "string", "format": "date-time", "nullable": true }, "gender": { "$ref": "#/components/schemas/Gender" }, "phoneNumber": { "type": "string", "nullable": true }, "address": { "$ref": "#/components/schemas/MailingAddress" }, "email": { "type": "string", "nullable": true }, "driverLicenseState": { "type": "string", "nullable": true }, "driverLicenseNumber": { "type": "string", "nullable": true }, "parentIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true }, "childIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false }, "CreateDetail": { "required": [ "actor", "source", "timestamp" ], "type": "object", "properties": { "timestamp": { "type": "string", "format": "date-time" }, "tillId": { "type": "string", "format": "uuid", "nullable": true }, "state": { "$ref": "#/components/schemas/TransactionState" }, "actor": { "$ref": "#/components/schemas/Actor" }, "source": { "$ref": "#/components/schemas/Source" }, "sessionId": { "type": "string", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "CreateReservationRequest": { "required": [ "duration", "quantity", "startDateTime" ], "type": "object", "properties": { "startDateTime": { "type": "string", "format": "date-time" }, "duration": { "type": "integer", "description": "A length in time specified in Minutes", "format": "int32" }, "quantity": { "type": "integer", "format": "int32" }, "expiresIn": { "type": "integer", "description": "A length in time specified in Minutes", "format": "int32", "nullable": true }, "catalogEntryId": { "type": "integer", "format": "int64", "nullable": true } }, "additionalProperties": false }, "CreateStation": { "required": [ "businessEntityId" ], "type": "object", "properties": { "businessEntityId": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "CreateTransactionRequest": { "required": [ "details", "lineItems" ], "type": "object", "properties": { "customerId": { "type": "string", "format": "uuid", "nullable": true }, "isToGoOrder": { "type": "boolean", "description": "Determines if special tax considerations around to go orders should be applied with a given site's tax settings" }, "lineItems": { "type": "array", "items": { "$ref": "#/components/schemas/LineItem" } }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/CreateDetail" } }, "salesTaxCollected": { "type": "array", "items": { "$ref": "#/components/schemas/SalesTaxInfo" }, "nullable": true }, "tenders": { "type": "array", "items": { "$ref": "#/components/schemas/Tender" }, "nullable": true }, "hardware": { "$ref": "#/components/schemas/Hardware" }, "serviceCharge": { "$ref": "#/components/schemas/ServiceCharge" } }, "additionalProperties": false }, "CreateUrlToPayRequest": { "required": [ "merchantAccountId", "netAmount", "target", "taxAmount" ], "type": "object", "properties": { "customer": { "$ref": "#/components/schemas/UrlToPayCustomer" }, "taxAmount": { "type": "number", "format": "double" }, "netAmount": { "type": "number", "format": "double" }, "target": { "$ref": "#/components/schemas/UrlToPayTarget" }, "merchantAccountId": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "CreateWaiver": { "required": [ "signee" ], "type": "object", "properties": { "waiverTypeId": { "type": "string", "format": "uuid", "nullable": true }, "signedDateTime": { "type": "string", "format": "date-time" }, "medium": { "$ref": "#/components/schemas/Medium" }, "signee": { "$ref": "#/components/schemas/Signee" }, "dependents": { "type": "array", "items": { "$ref": "#/components/schemas/Dependent" }, "nullable": true }, "expiresOn": { "type": "string", "format": "date", "nullable": true }, "verification": { "$ref": "#/components/schemas/Verification" }, "waiverText": { "$ref": "#/components/schemas/WaiverText" } }, "additionalProperties": false }, "CreditCardTender": { "required": [ "approvalCode", "approvalTimestamp", "cardTransactionId", "cardType", "shortAccountNumber" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Tender" } ], "properties": { "cardholderName": { "type": "string", "nullable": true }, "shortAccountNumber": { "maxLength": 4, "minLength": 0, "type": "string" }, "approvalTimestamp": { "type": "string", "format": "date-time" }, "approvalCode": { "maxLength": 6, "minLength": 0, "type": "string" }, "gratuityAmount": { "type": "number", "format": "double" }, "cardType": { "$ref": "#/components/schemas/MerchantCardType" }, "cardTransactionId": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "Customer": { "required": [ "customerId" ], "type": "object", "properties": { "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "customerId": { "type": "string", "format": "uuid" }, "dateOfBirth": { "type": "string", "format": "date-time", "nullable": true }, "gender": { "$ref": "#/components/schemas/Gender" }, "phoneNumber": { "type": "string", "nullable": true }, "address": { "$ref": "#/components/schemas/MailingAddress" }, "email": { "type": "string", "nullable": true }, "driverLicenseState": { "type": "string", "nullable": true }, "driverLicenseNumber": { "type": "string", "nullable": true }, "pictureId": { "type": "string", "nullable": true }, "parentIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true }, "childIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false }, "CustomerAction": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Action" } ], "properties": { "requireWaiver": { "type": "boolean", "description": "Indicates if a waiver is required" }, "requireMembership": { "type": "boolean", "description": "Indicates if a membership is required" }, "minimumAge": { "type": "integer", "description": "Indicates the minimum age if any", "format": "int32", "nullable": true }, "maximumAge": { "type": "integer", "description": "Indicates the maximum age if any", "format": "int32", "nullable": true } }, "additionalProperties": false }, "CustomerPassStorageMethod": { "required": [ "customerId" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/PassStorageMethod" } ], "properties": { "customerId": { "type": "string", "description": "Id of the customer", "format": "uuid" } }, "additionalProperties": false }, "DailyBuddyUseRestriction": { "required": [ "maximumUsesPerDay" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/UseRestriction" } ], "properties": { "maximumUsesPerDay": { "type": "integer", "description": "Maximum number of daily uses for the pass", "format": "int32" } }, "additionalProperties": false, "description": "Limits the number of times a pass may be used for a buddy within a given day" }, "DailyTimeRangeMediaTimePlay": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/MediaTimePlay" } ], "properties": { "startDate": { "type": "string", "format": "date" }, "endDate": { "type": "string", "format": "date" }, "dailyStartTime": { "type": "string", "format": "time" }, "dailyEndTime": { "type": "string", "format": "time" } }, "additionalProperties": false }, "DailyUseRestriction": { "required": [ "maximumUsesPerDay" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/UseRestriction" } ], "properties": { "maximumUsesPerDay": { "type": "integer", "description": "Maximum number of daily uses for the pass", "format": "int32" } }, "additionalProperties": false, "description": "Limits the number of times a pass may be used within a given day" }, "DateRangeMediaTimePlay": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/MediaTimePlay" } ], "properties": { "startDate": { "type": "string", "format": "date" }, "endDate": { "type": "string", "format": "date" } }, "additionalProperties": false }, "DateRangeUseRestriction": { "required": [ "validFromDate", "validToDate" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/UseRestriction" } ], "properties": { "validFromDate": { "type": "string", "description": "The date that the pass is valid for use after", "format": "date" }, "validToDate": { "type": "string", "description": "The date that the pass is valid for use before", "format": "date" } }, "additionalProperties": false, "description": "Limits the date that a pass may be used to a specific date range" }, "DateTimePrivilegeRestriction": { "required": [ "type" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/PrivilegeRestriction" } ], "properties": { "startDateTime": { "$ref": "#/components/schemas/LocalDateTime" }, "endDateTime": { "$ref": "#/components/schemas/LocalDateTime" } }, "additionalProperties": false }, "DateTimeRangeMediaTimePlay": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/MediaTimePlay" } ], "properties": { "startDateTime": { "$ref": "#/components/schemas/LocalDateTime" }, "endDateTime": { "$ref": "#/components/schemas/LocalDateTime" } }, "additionalProperties": false }, "DayOfWeekRestriction": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Restriction" } ], "properties": { "dayOfWeek": { "$ref": "#/components/schemas/ExtendedDayOfWeek" } }, "additionalProperties": false }, "DayTimeUseRestriction": { "required": [ "validDayTimes" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/UseRestriction" } ], "properties": { "validDayTimes": { "type": "object", "properties": { "Sunday": { "$ref": "#/components/schemas/TimeRange" }, "Monday": { "$ref": "#/components/schemas/TimeRange" }, "Tuesday": { "$ref": "#/components/schemas/TimeRange" }, "Wednesday": { "$ref": "#/components/schemas/TimeRange" }, "Thursday": { "$ref": "#/components/schemas/TimeRange" }, "Friday": { "$ref": "#/components/schemas/TimeRange" }, "Saturday": { "$ref": "#/components/schemas/TimeRange" }, "Weekdays": { "$ref": "#/components/schemas/TimeRange" }, "Weekends": { "$ref": "#/components/schemas/TimeRange" }, "AllDays": { "$ref": "#/components/schemas/TimeRange" }, "Holiday": { "$ref": "#/components/schemas/TimeRange" } }, "additionalProperties": false, "description": "Dictionary of days and associated times that the pass is valid for use on" } }, "additionalProperties": false, "description": "Limits the day and/or time of day a pass may be used" }, "DaysFromIssueUseRestriction": { "required": [ "numberOfDaysValid" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/UseRestriction" } ], "properties": { "numberOfDaysValid": { "type": "integer", "description": "The maximum number of days from the issuance of a pass when it may be used", "format": "int32" } }, "additionalProperties": false, "description": "Sets the maximum number of days from the issuance of a pass when it may be used" }, "DebitCardTender": { "required": [ "approvalCode", "approvalTimestamp", "cardTransactionId", "shortAccountNumber" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Tender" } ], "properties": { "cardholderName": { "type": "string", "nullable": true }, "shortAccountNumber": { "maxLength": 4, "minLength": 0, "type": "string" }, "approvalTimestamp": { "type": "string", "format": "date-time" }, "approvalCode": { "maxLength": 6, "minLength": 0, "type": "string" }, "cardTransactionId": { "type": "integer", "format": "int64" }, "gratuityAmount": { "type": "number", "format": "double" } }, "additionalProperties": false }, "Dependent": { "type": "object", "properties": { "id": { "type": "string", "nullable": true }, "expirationDate": { "type": "string", "format": "date", "nullable": true }, "signeeRelationship": { "$ref": "#/components/schemas/RelationshipType" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "customerId": { "type": "string", "format": "uuid", "nullable": true }, "dateOfBirth": { "type": "string", "format": "date", "nullable": true }, "gender": { "$ref": "#/components/schemas/Gender" } }, "additionalProperties": false }, "Detail": { "required": [ "actor", "sessionId", "source", "timestamp" ], "type": "object", "properties": { "timestamp": { "type": "string", "format": "date-time" }, "tillId": { "type": "string", "format": "uuid" }, "state": { "$ref": "#/components/schemas/TransactionState" }, "actor": { "$ref": "#/components/schemas/Actor" }, "source": { "$ref": "#/components/schemas/Source" }, "sessionId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "DeviceActivationBenefit": { "required": [ "countsAsUse", "deviceId", "headCountBehavior", "price" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/PassBenefit" } ], "properties": { "deviceId": { "type": "integer", "description": "Unique id of the device that may be activated by this benefit", "format": "int32" }, "headCountBehavior": { "type": "integer", "description": "Head count behavior for this benefit", "format": "int32" }, "price": { "type": "number", "description": "The price for this device activation when using this benefit", "format": "double" } }, "additionalProperties": false, "description": "A benefit in the form of a device activation" }, "DiscountAllocation": { "required": [ "amount", "discountId" ], "type": "object", "properties": { "discountId": { "type": "integer", "format": "int64" }, "amount": { "type": "number", "format": "double" } }, "additionalProperties": false }, "DiscountBenefit": { "required": [ "countsAsUse", "discountId", "firstDayOnly" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/PassBenefit" } ], "properties": { "discountId": { "type": "integer", "description": "Id of the discount associated with this benefit", "format": "int32" }, "firstDayOnly": { "type": "boolean", "description": "This benefit may be used on the first day only" } }, "additionalProperties": false, "description": "A benefit in the form of a discount" }, "DiscountLineItem": { "required": [ "discountId", "quantity" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/LineItem" } ], "properties": { "discountId": { "type": "integer", "format": "int64" }, "quantity": { "type": "integer", "format": "int32" }, "openAmount": { "type": "number", "description": "For open amount discounts, represents the percentage or flat amount of the discount\r\nas entered by the cashier. Only applies to pending transactions.", "format": "double", "nullable": true }, "amount": { "type": "number", "description": "The effective amount of the discount.", "format": "double" }, "sourceCode": { "type": "string", "description": "Optional source code provided with the discount. Typically represents a marketing\r\ncode indicating where a coupon was published.", "nullable": true } }, "additionalProperties": false, "description": "A discount applied to a transaction." }, "Division": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "names": { "$ref": "#/components/schemas/StringSet" }, "isEnabled": { "type": "boolean" } }, "additionalProperties": false }, "DurationDaysMediaTimePlay": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/MediaTimePlayType" }, "days": { "type": "string", "format": "date-span" }, "startOnFirstUse": { "type": "boolean" }, "groupId": { "type": "integer", "format": "int32" }, "expirationDateTime": { "$ref": "#/components/schemas/LocalDateTime" } }, "additionalProperties": false }, "DurationMediaTimePlay": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/MediaTimePlay" } ], "properties": { "startOnFirstUse": { "type": "boolean" } }, "additionalProperties": false }, "DurationMinutesMediaTimePlay": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/MediaTimePlayType" }, "minutes": { "type": "string", "format": "date-span" }, "startOnFirstUse": { "type": "boolean" }, "groupId": { "type": "integer", "format": "int32" }, "expirationDateTime": { "$ref": "#/components/schemas/LocalDateTime" } }, "additionalProperties": false }, "DurationPrivilegeRestriction": { "required": [ "type" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/PrivilegeRestriction" } ], "properties": { "numberOfMinutes": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "EffectivePrice": { "type": "object", "properties": { "price": { "type": "number", "format": "double" } }, "additionalProperties": false, "description": "Effective price based on pricing criteria." }, "EmployeeActor": { "required": [ "id" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Actor" } ], "properties": { "id": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "EmployeeFingerprintRequest": { "type": "object", "properties": { "fingerprintData": { "type": "string", "format": "byte", "nullable": true } }, "additionalProperties": false }, "EmployeeFingerprintResponse": { "type": "object", "properties": { "employeeNumber": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "EntityRestriction": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Restriction" } ], "properties": { "entityId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Entry": { "required": [ "entityId", "id", "price", "priceListId" ], "type": "object", "properties": { "priceListId": { "type": "integer", "format": "int64" }, "id": { "type": "integer", "format": "int64" }, "entityId": { "minLength": 1, "type": "string" }, "price": { "type": "number", "format": "double" }, "overrides": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PricePoint" }, "nullable": true }, "additions": { "type": "array", "items": { "$ref": "#/components/schemas/PricePoint" }, "nullable": true } }, "additionalProperties": false }, "Era": { "type": "object", "properties": { "name": { "type": "string", "nullable": true, "readOnly": true } }, "additionalProperties": false }, "Error": { "required": [ "errorCode", "messages" ], "type": "object", "properties": { "errorCode": { "minLength": 1, "type": "string" }, "messages": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "EventPaymentType": { "enum": [ "Deposit", "Payment" ], "type": "string" }, "ExtendedDayOfWeek": { "enum": [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Weekdays", "Weekends", "AllDays", "Holiday" ], "type": "string" }, "Gender": { "enum": [ "Male", "Female", "Other" ], "type": "string" }, "GroupEvent": { "required": [ "id" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "Hardware": { "type": "object", "properties": { "hasTicketPrinter": { "type": "boolean" } }, "additionalProperties": false, "description": "Indicates the type of hardware the requester is equipped with" }, "HolidayRestriction": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Restriction" } ], "additionalProperties": false }, "IntegrationActor": { "required": [ "name" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Actor" } ], "properties": { "name": { "type": "string" }, "externalId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "IntegrationSource": { "required": [ "name" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Source" } ], "properties": { "name": { "type": "string" }, "externalId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "IsoDayOfWeek": { "enum": [ "None", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "type": "string" }, "IssuanceRestriction": { "anyOf": [ { "type": "object", "properties": { "age": { "$ref": "#/components/schemas/AgeIssuanceRestriction" } }, "required": [ "age" ] }, { "type": "object", "properties": { "waiver": { "$ref": "#/components/schemas/RequireWaiverIssuanceRestriction" } }, "required": [ "waiver" ] }, { "type": "object", "properties": { "customer": { "$ref": "#/components/schemas/RequireCustomerIssuanceRestriction" } }, "required": [ "customer" ] }, { "type": "object", "properties": { "string": { "$ref": "#/components/schemas/String" } }, "required": [ "string" ] } ], "additionalProperties": false }, "String": { "type": "string" }, "JobStatus": { "type": "object", "properties": { "createdOn": { "type": "string", "format": "date" }, "id": { "type": "integer", "format": "int32" }, "lastModifiedOn": { "type": "string", "format": "date", "nullable": true }, "status": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true } }, "additionalProperties": false }, "LatestVersion": { "type": "object", "properties": { "version": { "type": "string", "nullable": true } }, "additionalProperties": false }, "LineItem": { "required": [ "id", "lineType" ], "type": "object", "properties": { "lineType": { "$ref": "#/components/schemas/LineItemType" }, "id": { "type": "integer", "format": "int64" }, "authorizedBy": { "$ref": "#/components/schemas/EmployeeActor" } }, "additionalProperties": false, "discriminator": { "propertyName": "lineType" } }, "LineItemType": { "enum": [ "CatalogEntryLineItem", "SeatHeaderLineItem", "DiscountLineItem" ], "type": "string" }, "LocalDateTime": { "type": "object", "properties": { "calendar": { "$ref": "#/components/schemas/CalendarSystem" }, "year": { "type": "integer", "format": "int32" }, "yearOfEra": { "type": "integer", "format": "int32", "readOnly": true }, "era": { "$ref": "#/components/schemas/Era" }, "month": { "type": "integer", "format": "int32" }, "dayOfYear": { "type": "integer", "format": "int32", "readOnly": true }, "day": { "type": "integer", "format": "int32" }, "dayOfWeek": { "$ref": "#/components/schemas/IsoDayOfWeek" }, "hour": { "type": "integer", "format": "int32" }, "clockHourOfHalfDay": { "type": "integer", "format": "int32", "readOnly": true }, "minute": { "type": "integer", "format": "int32" }, "second": { "type": "integer", "format": "int32" }, "millisecond": { "type": "integer", "format": "int32" }, "tickOfSecond": { "type": "integer", "format": "int32", "readOnly": true }, "tickOfDay": { "type": "integer", "format": "int64", "readOnly": true }, "nanosecondOfSecond": { "type": "integer", "format": "int32", "readOnly": true }, "nanosecondOfDay": { "type": "integer", "format": "int64", "readOnly": true }, "timeOfDay": { "type": "string", "format": "time", "readOnly": true }, "date": { "type": "string", "format": "date", "readOnly": true } }, "additionalProperties": false }, "MagstripeMediaData": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/MediaData" } ], "properties": { "track1": { "type": "string", "description": "Track 1.", "nullable": true }, "track2": { "type": "string", "description": "Track 2.", "nullable": true }, "track3": { "type": "string", "description": "Track 3.", "nullable": true } }, "additionalProperties": false, "description": "Represents raw data from a magnetic stripe (without delimiters like '?', ';', or '%')." }, "MailingAddress": { "type": "object", "properties": { "address1": { "type": "string", "nullable": true }, "address2": { "type": "string", "nullable": true }, "address3": { "type": "string", "nullable": true }, "address4": { "type": "string", "nullable": true }, "address5": { "type": "string", "nullable": true }, "city": { "type": "string", "nullable": true }, "stateProvince": { "type": "string", "nullable": true }, "postalCode": { "type": "string", "nullable": true }, "country": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Media": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/MediaType" }, "number": { "type": "string", "description": "Identifier for media", "nullable": true }, "catalogEntryId": { "type": "integer", "description": "The inv or reservation id, if any", "format": "int32", "nullable": true }, "customerId": { "type": "string", "description": "Id of the customer the media is for, if any", "format": "uuid", "nullable": true }, "providerMetadata": { "type": "object", "additionalProperties": { }, "description": "Optional provider-specific metadata about the media. This may be provided by the /api/v1/media/parse endpoint.", "nullable": true } }, "additionalProperties": false, "description": "Media associated with a transaction", "discriminator": { "propertyName": "type" } }, "MediaAction": { "required": [ "numberSource" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Action" } ], "properties": { "numberSource": { "$ref": "#/components/schemas/NumberSource" }, "printSettings": { "$ref": "#/components/schemas/PrintSettings" }, "activations": { "type": "array", "items": { "$ref": "#/components/schemas/MediaActivation" }, "nullable": true } }, "additionalProperties": false }, "MediaActivation": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ActivationType" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "MediaBalance": { "type": "object", "properties": { "points": { "type": "object", "additionalProperties": { "type": "number", "format": "double" }, "nullable": true } }, "additionalProperties": false }, "MediaData": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/MediaDataType" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "MediaDataType": { "enum": [ "Magstripe", "Barcode" ], "type": "string" }, "MediaInfo": { "type": "object", "properties": { "number": { "type": "string", "nullable": true }, "provider": { "$ref": "#/components/schemas/MediaProvider" }, "providerMetadata": { "type": "object", "additionalProperties": { }, "description": "Optionally provides additional metadata specific to the provider. This metadata may be required\r\nto perform some functions on other endpoints.", "nullable": true } }, "additionalProperties": false }, "MediaPass": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Media" } ], "properties": { "passTypeId": { "type": "integer", "description": "Id indicating the type of pass", "format": "int64" } }, "additionalProperties": false }, "MediaPassStorageMethod": { "required": [ "mediaNumber" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/PassStorageMethod" } ], "properties": { "mediaNumber": { "type": "string", "description": "Number of the media" } }, "additionalProperties": false }, "MediaProvider": { "enum": [ "Generic", "CenterEdge", "Embed", "Sacoa", "Intercard" ], "type": "string" }, "MediaTicketType": { "enum": [ "Basic", "MovieItem", "Capacity" ], "type": "string", "description": "Indicates the type of ticket" }, "MediaTimePlay": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/MediaTimePlayType" }, "groupId": { "type": "integer", "format": "int32" }, "expirationDateTime": { "$ref": "#/components/schemas/LocalDateTime" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "MediaTimePlayType": { "enum": [ "DurationMinutes", "TimeRange", "DateRange", "DateTimeRange", "DailyTimeRange", "DurationDays" ], "type": "string" }, "MediaType": { "enum": [ "PlayerCard", "Ticket", "MediaPass" ], "type": "string", "description": "Indicates the type of media" }, "Medium": { "enum": [ "Digital", "Paper" ], "type": "string" }, "MerchantCardType": { "enum": [ "Unknown", "AmericanExpress", "Visa", "Mastercard", "Discover", "Debit", "Gift", "Bankcard", "ChinaUnionPay", "DinersClub", "JCB", "Laser", "Maestro", "Solo", "Switch", "UATP", "OneWorldBancorp", "Paypal" ], "type": "string" }, "Modifier": { "required": [ "catalogEntryId", "saleAmount", "type" ], "type": "object", "properties": { "catalogEntryId": { "type": "integer", "format": "int64" }, "promptingCatalogEntryId": { "type": "integer", "format": "int64", "readOnly": true }, "saleAmount": { "$ref": "#/components/schemas/SaleAmount" }, "type": { "$ref": "#/components/schemas/ModifierType" }, "repeatIndex": { "type": "integer", "description": "For packages configured to prompt multiple times, this field contains the repeat index associated\r\nwith this modifier.", "format": "int32", "nullable": true }, "allocations": { "type": "array", "items": { "$ref": "#/components/schemas/Allocation" }, "nullable": true }, "notes": { "type": "string", "description": "Optional text notes associated with the modifier.", "nullable": true } }, "additionalProperties": false }, "ModifierSet": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "names": { "$ref": "#/components/schemas/StringSet" }, "minimumChoices": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" }, "maximumChoices": { "maximum": 2147483647, "minimum": 1, "type": "integer", "format": "int32", "nullable": true }, "choiceSets": { "type": "array", "items": { "$ref": "#/components/schemas/SkuChoiceSet" }, "nullable": true } }, "additionalProperties": false }, "ModifierType": { "enum": [ "Basic", "Default", "Add", "Extra", "Hold" ], "type": "string" }, "MultiPrivilegeGroupSelection": { "required": [ "type" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/PrivilegeGroupSelection" } ], "properties": { "groups": { "uniqueItems": true, "type": "array", "items": { "type": "integer", "format": "int32" }, "nullable": true } }, "additionalProperties": false }, "NamedAttributeValue": { "required": [ "name", "value" ], "type": "object", "properties": { "name": { "minLength": 1, "type": "string" }, "value": { "minLength": 1, "type": "string" } }, "additionalProperties": false }, "NamedAttributeValueDisplaySet": { "required": [ "default", "defaults" ], "type": "object", "properties": { "default": { "$ref": "#/components/schemas/NamedAttributeValue" }, "defaults": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/NamedAttributeValue" } }, "translations": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/NamedAttributeValue" } }, "nullable": true } }, "additionalProperties": false }, "NumberSource": { "enum": [ "None", "Pregenerated", "Printed", "Either" ], "type": "string" }, "Operation": { "type": "object", "properties": { "value": { "nullable": true }, "path": { "type": "string", "nullable": true }, "op": { "type": "string", "nullable": true }, "from": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Package": { "required": [ "allocations", "names", "packageSalesAllocationPercent" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/CatalogEntry" } ], "properties": { "names": { "$ref": "#/components/schemas/StringSet" }, "packageSalesAllocationPercent": { "type": "number", "format": "double" }, "allocations": { "type": "array", "items": { "$ref": "#/components/schemas/PackageAllocation" } }, "categoryId": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "PackageAllocation": { "required": [ "catalogEntryId", "quantity", "salesAllocationPercent", "shouldMultiPrompt" ], "type": "object", "properties": { "salesAllocationPercent": { "type": "number", "format": "double" }, "quantity": { "type": "integer", "format": "int32" }, "catalogEntryId": { "type": "integer", "format": "int64" }, "shouldMultiPrompt": { "type": "boolean" }, "lockedAmount": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "Pass": { "required": [ "id", "isMultiSite", "issueDate", "passTypeId", "passUses", "status" ], "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier.", "format": "uuid" }, "issueDate": { "type": "string", "description": "Issue Date for the pass.", "format": "date" }, "status": { "$ref": "#/components/schemas/PassStatus" }, "suspendedUntil": { "type": "string", "description": "If the pass is suspended when is it suspended until", "format": "date", "nullable": true }, "catalogEntryId": { "type": "string", "description": "Which catalog entry id this pass is linked to", "nullable": true }, "isMultiSite": { "type": "boolean", "description": "If True this pass is eligible for use as a multi-site pass." }, "notes": { "type": "string", "description": "Notes related to this pass", "nullable": true }, "expirationOverride": { "type": "string", "description": "The date the expiration is overriden until if expired", "format": "date", "nullable": true }, "passTypeId": { "type": "integer", "description": "The Pass Type of this pass.", "format": "int32" }, "passUses": { "type": "array", "items": { "$ref": "#/components/schemas/PassUse" }, "description": "The uses of this pass" }, "passStorageMethod": { "$ref": "#/components/schemas/PassStorageMethod" } }, "additionalProperties": false, "description": "Represents a particular pass issued to a customer" }, "PassBenefit": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/PassBenefitType" }, "countsAsUse": { "type": "boolean", "description": "Count the use of this benefit" } }, "additionalProperties": false, "description": "Represents a possible benefit gained from a pass type", "discriminator": { "propertyName": "type" } }, "PassBenefitType": { "enum": [ "DiscountBenefit", "ProductDiscountBenefit", "ProductPriceBenefit", "DeviceActivationBenefit" ], "type": "string", "description": "Type of pass benefit (discount or product)" }, "PassCreateRequest": { "required": [ "hasWaiver", "isCustomer", "isMultiSite", "issueDate", "passTypeId", "status" ], "type": "object", "properties": { "issueDate": { "type": "string", "description": "Issue Date for the pass.", "format": "date" }, "status": { "$ref": "#/components/schemas/PassStatus" }, "suspendedUntil": { "type": "string", "description": "If the pass is suspended when is it suspended until", "format": "date", "nullable": true }, "catalogEntryId": { "type": "string", "description": "Which catalog entry id this pass is linked to", "nullable": true }, "isMultiSite": { "type": "boolean", "description": "If True this pass is eligible for use as a multi-site pass." }, "notes": { "type": "string", "description": "Notes related to this pass", "nullable": true }, "expirationOverride": { "type": "string", "description": "The date the expiration is overriden until if expired", "format": "date", "nullable": true }, "passTypeId": { "type": "integer", "description": "The Pass Type of this pass.", "format": "int32" }, "ageOfPassHolder": { "type": "integer", "description": "Age Of Pass Holder.", "format": "int32", "nullable": true }, "hasWaiver": { "type": "boolean", "description": "If true there is a waiver" }, "isCustomer": { "type": "boolean", "description": "If true there is a customer" }, "customerId": { "type": "string", "description": "ID of the customer", "format": "uuid", "nullable": true }, "mediaNumber": { "type": "string", "description": "Number identifying the media", "nullable": true } }, "additionalProperties": false }, "PassMediaActivation": { "required": [ "type" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/MediaActivation" } ], "properties": { "quantity": { "type": "integer", "format": "int32" }, "passTypeId": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "PassStatus": { "enum": [ "Active", "Suspended", "Cancelled" ], "type": "string" }, "PassStorageMethod": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/PassStorageMethodType" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "PassStorageMethodType": { "enum": [ "Customer", "Media" ], "type": "string" }, "PassType": { "required": [ "allowUseDuringSale", "id", "isMultiSitePass", "rainCheckEligible" ], "type": "object", "properties": { "id": { "type": "integer", "description": "Unique identifier.", "format": "int32" }, "mappingId": { "type": "string", "description": "Mapping Id for mapping to PassTypes in older code.", "nullable": true }, "rainCheckEligible": { "type": "boolean", "description": "Is this pass type eligible for rain checks" }, "name": { "type": "string", "description": "Name of the Pass Type.", "nullable": true }, "allowUseDuringSale": { "type": "boolean", "description": "If True this pass type is eligible for use during a sale" }, "isMultiSitePass": { "type": "boolean", "description": "If True this pass type is eligible for use as a multi-site pass." }, "useRestrictions": { "type": "array", "items": { "$ref": "#/components/schemas/UseRestriction" }, "description": "All Use Restrictions on this pass type", "nullable": true }, "issuanceRestrictions": { "type": "array", "items": { "$ref": "#/components/schemas/IssuanceRestriction" }, "description": "All Issuance Restrictions on this pass type", "nullable": true }, "benefits": { "type": "array", "items": { "$ref": "#/components/schemas/PassBenefit" }, "description": "All Pass Benefits on this pass type", "nullable": true } }, "additionalProperties": false, "description": "Represents a definition for a type of pass." }, "PassUse": { "required": [ "id", "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/PassUseType" }, "id": { "type": "integer", "description": "Unique identifier.", "format": "int32" }, "rainCheckUsed": { "type": "boolean", "description": "Has a rain check been used on this pass use" }, "useDateTime": { "type": "string", "description": "When this pass use occured", "format": "date" }, "isMultiSite": { "type": "boolean", "description": "Is this a multi-site pass use" }, "useShiftDate": { "type": "string", "description": "Which product id this pass is linked to", "format": "date" }, "target": { "$ref": "#/components/schemas/PassUseTarget" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "PassUseDevice": { "required": [ "deviceId" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/PassUseTarget" } ], "properties": { "deviceId": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "PassUseOptionsCustomerResponse": { "type": "object", "properties": { "customerId": { "type": "string", "format": "uuid" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/PassUseOptionsResponseItem" }, "nullable": true } }, "additionalProperties": false }, "PassUseOptionsRequest": { "required": [ "customerIds", "items" ], "type": "object", "properties": { "customerIds": { "type": "array", "items": { "type": "string", "format": "uuid" } }, "useDateTime": { "type": "string", "format": "date-time", "nullable": true }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/PassUseOptionsRequestItem" } } }, "additionalProperties": false }, "PassUseOptionsRequestItem": { "required": [ "catalogEntryId", "price", "quantity" ], "type": "object", "properties": { "catalogEntryId": { "type": "integer", "format": "int32" }, "quantity": { "type": "integer", "format": "int32" }, "price": { "type": "number", "format": "double" } }, "additionalProperties": false }, "PassUseOptionsResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/PassUseOptionsCustomerResponse" }, "nullable": true } }, "additionalProperties": false }, "PassUseOptionsResponseItem": { "type": "object", "properties": { "catalogEntryId": { "type": "integer", "format": "int32" }, "passId": { "type": "string", "format": "uuid" }, "newPrice": { "type": "number", "format": "double" }, "quantity": { "type": "integer", "format": "int32" }, "passTypeName": { "type": "string", "nullable": true }, "isBuddyPass": { "type": "boolean" } }, "additionalProperties": false }, "PassUseProduct": { "required": [ "description", "productId" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/PassUseTarget" } ], "properties": { "productId": { "type": "integer", "format": "int32" }, "description": { "type": "string" }, "transactionId": { "type": "string", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "PassUseTarget": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/PassUseTargetType" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "PassUseTargetType": { "enum": [ "Product", "Device" ], "type": "string" }, "PassUseType": { "enum": [ "RegularPassUse", "BuddyPassUse" ], "type": "string" }, "PatchFileInfo": { "type": "object", "properties": { "path": { "type": "string", "nullable": true }, "modifiedDateTime": { "type": "string", "format": "date-time" }, "shA1Hash": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Permission": { "required": [ "businessLocationId", "businessLocationName" ], "type": "object", "properties": { "businessLocationId": { "type": "number", "format": "double" }, "businessLocationName": { "minLength": 1, "type": "string" } }, "additionalProperties": false }, "PlayPrivilege": { "required": [ "groupSelection" ], "type": "object", "properties": { "quantity": { "type": "integer", "description": "Number of uses remaining on the play privilege.", "format": "int32" }, "groupSelection": { "$ref": "#/components/schemas/PlayPrivilegeGroupSelection" }, "dateTimeRestriction": { "$ref": "#/components/schemas/PlayPrivilegeDateTimeRestriction" }, "canRemove": { "type": "boolean", "description": "Indicates if this privilege may be removed by a refund or similar operation." } }, "additionalProperties": false }, "PlayPrivilegeDateTimeRestriction": { "type": "object", "properties": { "startDateTime": { "$ref": "#/components/schemas/LocalDateTime" }, "endDateTime": { "$ref": "#/components/schemas/LocalDateTime" } }, "additionalProperties": false }, "PlayPrivilegeGroupSelection": { "type": "object", "properties": { "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "PlayPrivilegeMediaActivation": { "required": [ "type" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/MediaActivation" } ], "properties": { "quantity": { "type": "integer", "format": "int32" }, "groupSelection": { "$ref": "#/components/schemas/PrivilegeGroupSelection" }, "restriction": { "$ref": "#/components/schemas/PrivilegeRestriction" } }, "additionalProperties": false }, "PlayerCard": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Media" } ], "additionalProperties": false }, "PricePoint": { "type": "object", "properties": { "priceListId": { "type": "integer", "format": "int64" }, "id": { "type": "integer", "format": "int64" }, "entryId": { "type": "integer", "format": "int64" }, "price": { "type": "number", "format": "double" }, "restrictions": { "type": "array", "items": { "$ref": "#/components/schemas/Restriction" }, "nullable": true }, "pricePointType": { "$ref": "#/components/schemas/PricePointType" } }, "additionalProperties": false }, "PricePointType": { "enum": [ "Override", "Addition" ], "type": "string" }, "PrintSettings": { "type": "object", "properties": { "mediaFormatId": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "PrivilegeGroupSelection": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/PrivilegeGroupSelectionType" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "PrivilegeGroupSelectionType": { "enum": [ "Single", "Multi" ], "type": "string" }, "PrivilegeRestriction": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/PrivilegeRestrictionType" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "PrivilegeRestrictionType": { "enum": [ "Duration", "Time", "DateTime" ], "type": "string" }, "Product": { "required": [ "categoryId", "id", "names", "productCatalogId" ], "type": "object", "properties": { "productCatalogId": { "type": "integer", "format": "int64" }, "id": { "type": "integer", "format": "int64" }, "names": { "$ref": "#/components/schemas/StringSet" }, "categoryId": { "type": "integer", "format": "int64" }, "pickUpAtCounter": { "type": "boolean", "nullable": true }, "actions": { "type": "array", "items": { "$ref": "#/components/schemas/Action" }, "nullable": true }, "modifierSets": { "type": "array", "items": { "$ref": "#/components/schemas/ProductModifier" }, "nullable": true }, "components": { "type": "array", "items": { "$ref": "#/components/schemas/ProductComponent" }, "nullable": true } }, "additionalProperties": false }, "ProductBenefit": { "required": [ "countsAsUse", "productId" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/PassBenefit" } ], "properties": { "productId": { "type": "integer", "description": "Id of the product associated with this benefit", "format": "int32" } }, "additionalProperties": false }, "ProductComponent": { "required": [ "catalogEntryId", "quantity", "shouldMultiPrompt" ], "type": "object", "properties": { "quantity": { "type": "integer", "format": "int32" }, "catalogEntryId": { "type": "integer", "format": "int64" }, "shouldMultiPrompt": { "type": "boolean" } }, "additionalProperties": false }, "ProductDiscountBenefit": { "required": [ "countsAsUse", "discount", "productId", "type" ], "type": "object", "properties": { "discount": { "type": "number", "description": "The discount for this product when using this benefit", "format": "double" }, "productId": { "type": "integer", "description": "Id of the product associated with this benefit", "format": "int32" }, "countsAsUse": { "type": "boolean", "description": "Count the use of this benefit" }, "type": { "$ref": "#/components/schemas/PassBenefitType" } }, "additionalProperties": false, "description": "A benefit in the form of a discount for a product" }, "ProductModifier": { "type": "object", "properties": { "modifierSetId": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "ProductPriceBenefit": { "required": [ "countsAsUse", "price", "productId", "type" ], "type": "object", "properties": { "price": { "type": "number", "description": "The price for this product when using this benefit", "format": "double" }, "productId": { "type": "integer", "description": "Id of the product associated with this benefit", "format": "int32" }, "countsAsUse": { "type": "boolean", "description": "Count the use of this benefit" }, "type": { "$ref": "#/components/schemas/PassBenefitType" } }, "additionalProperties": false, "description": "A benefit in the form of a special price for a product" }, "RegularPassUse": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/PassUse" } ], "additionalProperties": false }, "RelationshipType": { "enum": [ "Parent", "Guardian" ], "type": "string" }, "RequireCustomerIssuanceRestriction": { "type": "object", "additionalProperties": false, "description": "Requires a valid customer before issuing a pass" }, "RequireWaiverIssuanceRestriction": { "type": "object", "additionalProperties": false, "description": "Requires a customer to have a valid waiver before issuing a pass" }, "Restriction": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/RestrictionType" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "RestrictionType": { "enum": [ "DayOfWeekRestriction", "EntityRestriction", "HolidayRestriction" ], "type": "string" }, "SaleAmount": { "required": [ "originalPrice", "quantity" ], "type": "object", "properties": { "quantity": { "type": "integer", "format": "int32" }, "originalPrice": { "type": "number", "format": "double" }, "effectiveTotal": { "type": "number", "format": "double", "nullable": true }, "discountAmount": { "type": "number", "description": "When discounts have been applied, this is the total discount which was applied to\r\nthis specific line item. The total discount amount for all catalog entry line items\r\nand modifiers should match the total of all discount line items.", "format": "double" }, "discountAllocations": { "type": "array", "items": { "$ref": "#/components/schemas/DiscountAllocation" }, "description": "Optional list breaking down how different discounts make up the Advantage.Service.Transactions.Dto.SaleAmountDto.DiscountAmount.", "nullable": true } }, "additionalProperties": false }, "SalesTaxDateResult": { "required": [ "taxCodeDetails", "taxDate", "taxLineItemDetails", "totalTaxAmount" ], "type": "object", "properties": { "taxDate": { "type": "string", "description": "Date when sales tax is being posted.", "format": "date" }, "taxCodeDetails": { "type": "array", "items": { "$ref": "#/components/schemas/TaxCodeDetail" }, "description": "Details about how specific tax codes were applied to the transaction." }, "taxLineItemDetails": { "type": "array", "items": { "$ref": "#/components/schemas/TaxLineItemDetail" }, "description": "Details about the application of taxes to a particular line items." }, "totalTaxAmount": { "type": "number", "description": "Total amount of tax applied to the transaction.", "format": "double" } }, "additionalProperties": false, "description": "The result of a sales tax calculation for a specific date." }, "SalesTaxInfo": { "required": [ "amount", "taxableAmount", "taxCodeId" ], "type": "object", "properties": { "taxCodeId": { "type": "integer", "format": "int32" }, "amount": { "type": "number", "format": "double" }, "taxableAmount": { "type": "number", "format": "double" }, "shiftDate": { "type": "string", "format": "date", "nullable": true } }, "additionalProperties": false }, "SalesTaxResult": { "required": [ "taxResultsByDate", "totalTaxAmount" ], "type": "object", "properties": { "taxResultsByDate": { "type": "array", "items": { "$ref": "#/components/schemas/SalesTaxDateResult" }, "description": "Tax results, grouped by date." }, "totalTaxAmount": { "type": "number", "description": "Total amount of tax applied to the transaction.", "format": "double" } }, "additionalProperties": false, "description": "The result of a sales tax calculation." }, "SalesTaxTransaction": { "required": [ "lineItems" ], "type": "object", "properties": { "isToGoOrder": { "type": "boolean", "description": "Determines if special tax considerations around to go orders should be applied with a given site's tax settings" }, "lineItems": { "type": "array", "items": { "$ref": "#/components/schemas/TaxLineItem" }, "description": "Line items included on the transaction." } }, "additionalProperties": false, "description": "Represents a transaction to apply tax calculations against." }, "SeatHeaderLineItem": { "required": [ "seatNumber" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/LineItem" } ], "properties": { "seatNumber": { "maxLength": 10, "minLength": 0, "type": "string" } }, "additionalProperties": false, "description": "Indicates that every line after this one is related to a specific seat at a table\r\nuntil a new seat header line is encountered." }, "ServiceCharge": { "type": "object", "properties": { "amount": { "type": "number", "format": "double" }, "percent": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "Signee": { "type": "object", "properties": { "phoneNumber": { "type": "string", "nullable": true }, "address": { "$ref": "#/components/schemas/MailingAddress" }, "driverLicenseState": { "type": "string", "nullable": true }, "driverLicenseNumber": { "type": "string", "nullable": true }, "email": { "type": "string", "nullable": true }, "isWaived": { "type": "boolean" }, "bulkEmail": { "type": "boolean" }, "textMessages": { "type": "boolean" }, "hasPicture": { "type": "boolean" }, "pictureId": { "type": "string", "nullable": true }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "customerId": { "type": "string", "format": "uuid", "nullable": true }, "dateOfBirth": { "type": "string", "format": "date", "nullable": true }, "gender": { "$ref": "#/components/schemas/Gender" } }, "additionalProperties": false }, "SimilarCustomers": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "customers": { "type": "array", "items": { "$ref": "#/components/schemas/Customer" }, "nullable": true } }, "additionalProperties": false }, "SinglePrivilegeGroupSelection": { "required": [ "type" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/PrivilegeGroupSelection" } ], "properties": { "groupId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Sku": { "required": [ "attributeValues", "productId" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/CatalogEntry" } ], "properties": { "productId": { "type": "integer", "format": "int64" }, "attributeValues": { "type": "array", "items": { "$ref": "#/components/schemas/AttributeValue" } } }, "additionalProperties": false }, "SkuChoiceSet": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/SkuChoiceSetType" }, "id": { "type": "integer", "format": "int64" }, "quantity": { "type": "integer", "format": "int32" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "SkuChoiceSetType": { "enum": [ "AttributeFilteredProductChoiceSet" ], "type": "string" }, "Source": { "required": [ "sourceType" ], "type": "object", "properties": { "sourceType": { "$ref": "#/components/schemas/SourceType" } }, "additionalProperties": false, "discriminator": { "propertyName": "sourceType" } }, "SourceType": { "enum": [ "StationSource", "IntegrationSource" ], "type": "string" }, "StationResponse": { "required": [ "applicationKey", "businessEntityId", "stationName" ], "type": "object", "properties": { "businessEntityId": { "type": "integer", "format": "int64" }, "applicationKey": { "type": "string", "format": "uuid" }, "stationName": { "minLength": 1, "type": "string" } }, "additionalProperties": false }, "StationSource": { "required": [ "id" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Source" } ], "properties": { "id": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "StringSet": { "required": [ "default", "defaults" ], "type": "object", "properties": { "default": { "minLength": 1, "type": "string" }, "defaults": { "type": "object", "additionalProperties": { "type": "string" } }, "translations": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "string" } }, "nullable": true } }, "additionalProperties": false }, "TaxCodeDetail": { "required": [ "amount", "taxableSaleAmount", "taxCodeId" ], "type": "object", "properties": { "taxCodeId": { "maximum": 15, "minimum": 1, "type": "integer", "description": "The tax code ID.", "format": "int32" }, "amount": { "type": "number", "description": "The amount of tax to be charged.", "format": "double" }, "taxableSaleAmount": { "type": "number", "description": "The total sale amount which is taxed by this tax code.", "format": "double" } }, "additionalProperties": false, "description": "Details about the application of a particular tax code to a transaction." }, "TaxLineItem": { "required": [ "allocations", "id", "salesDate" ], "type": "object", "properties": { "id": { "type": "integer", "description": "Unique identifier for this line item which can be used to help map it to results.", "format": "int64" }, "salesDate": { "type": "string", "description": "Date of sale for this line item, which is the date when taxes will be posted.", "format": "date" }, "allocations": { "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/TaxLineItemAllocation" }, "description": "A set of allocations to products that make up this line item.\r\nAt least one allocation is required." } }, "additionalProperties": false, "description": "Represents a line item on a transaction which may be taxed." }, "TaxLineItemAllocation": { "required": [ "amount", "catalogEntryId" ], "type": "object", "properties": { "catalogEntryId": { "type": "integer", "description": "Product identifier.", "format": "int64" }, "amount": { "type": "number", "description": "Amount of the sale, net after discounts.", "format": "double" } }, "additionalProperties": false, "description": "An allocation of some portion of a line item to a specific product." }, "TaxLineItemAllocationDetail": { "required": [ "catalogEntryId", "originalSaleAmount", "taxCodeIds" ], "type": "object", "properties": { "catalogEntryId": { "type": "integer", "description": "Product identifier.", "format": "int64" }, "taxCodeIds": { "uniqueItems": true, "type": "array", "items": { "type": "integer", "format": "int32" }, "description": "List of tax codes which were applied to this allocation." }, "originalSaleAmount": { "type": "number", "description": "Original sale amount of this allocation prior to any tax included reductions.", "format": "double" }, "taxIncludedReduction": { "type": "number", "description": "Amount this allocation was reduced due to included taxes.", "format": "double" } }, "additionalProperties": false, "description": "Details about the application of taxes to a particular line item allocation." }, "TaxLineItemDetail": { "type": "object", "properties": { "lineItemId": { "type": "integer", "description": "Source line item.", "format": "int64" }, "allocations": { "type": "array", "items": { "$ref": "#/components/schemas/TaxLineItemAllocationDetail" }, "description": "Details about the application of taxes to a particular line item allocations.", "nullable": true }, "newSaleAmount": { "type": "number", "description": "New sale amount, after accounting for any included taxes.", "format": "double" }, "taxableSaleAmount": { "type": "number", "description": "Portion of the sale amount which is taxable.", "format": "double" }, "untaxedSaleAmount": { "type": "number", "description": "Portion of the sale amount which is not taxable.", "format": "double" } }, "additionalProperties": false, "description": "Details about the application of taxes to a particular line item." }, "Tender": { "required": [ "amount", "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/TenderType" }, "amount": { "type": "number", "format": "double" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "TenderType": { "enum": [ "CreditCardTender", "DebitCardTender", "CashTender" ], "type": "string" }, "Ticket": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Media" } ], "properties": { "ticketType": { "$ref": "#/components/schemas/MediaTicketType" }, "ticketFormatId": { "type": "integer", "description": "The format of the ticket for printing.", "format": "int32", "nullable": true } }, "additionalProperties": false, "description": "Media type that has additional information related to tickets" }, "TicketFormat": { "required": [ "id", "name", "ticketFormatTexts" ], "type": "object", "properties": { "id": { "type": "integer", "description": "Id of the ticket format", "format": "int32" }, "name": { "type": "string", "description": "Name of the ticket format" }, "ticketFormatTexts": { "type": "array", "items": { "$ref": "#/components/schemas/TicketFormatText" }, "description": "A list of ticket format texts" } }, "additionalProperties": false, "description": "Represents a definition for a Card Layout" }, "TicketFormatText": { "required": [ "ticketFormatType", "ticketText" ], "type": "object", "properties": { "ticketFormatType": { "$ref": "#/components/schemas/TicketFormatType" }, "ticketText": { "type": "array", "items": { "type": "string" }, "description": "The format text of the ticket" } }, "additionalProperties": false, "description": "The format text for a specific ticket format" }, "TicketFormatType": { "enum": [ "Boca", "Receipt", "Cognitive", "Web", "ZPL" ], "type": "string", "description": "Specifies the type of the ticket" }, "TicketOption": { "required": [ "duration", "names" ], "type": "object", "properties": { "names": { "$ref": "#/components/schemas/StringSet" }, "duration": { "type": "integer", "description": "A length in time specified in Minutes", "format": "int32" }, "catalogEntryId": { "type": "integer", "format": "int64", "nullable": true }, "capacityInfo": { "$ref": "#/components/schemas/CapacityInfo" }, "ticketType": { "$ref": "#/components/schemas/TicketType" } }, "additionalProperties": false }, "TicketType": { "enum": [ "Standard", "DurationOverride", "Other" ], "type": "string" }, "Till": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "$ref": "#/components/schemas/TillStatus" }, "shiftDate": { "type": "string", "format": "date" }, "divisionNumber": { "type": "integer", "format": "int32" }, "stationNumber": { "type": "integer", "format": "int32", "nullable": true }, "primaryEmployeeNumbers": { "uniqueItems": true, "type": "array", "items": { "type": "integer", "format": "int32" }, "nullable": true } }, "additionalProperties": false }, "TillStatus": { "enum": [ "Open", "Frozen", "Closed", "SignedIn", "CashingOut", "Pulled" ], "type": "string" }, "TimePlayDateMediaActivation": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ActivationType" }, "startDate": { "type": "string", "format": "date" }, "endDate": { "type": "string", "format": "date" }, "groupId": { "type": "integer", "format": "int32", "nullable": true }, "expireHours": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "TimePlayDateTimeDailyMediaActivation": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ActivationType" }, "startDate": { "type": "string", "format": "date" }, "endDate": { "type": "string", "format": "date" }, "dailyStartTime": { "type": "string", "format": "time" }, "dailyEndTime": { "type": "string", "format": "time" }, "groupId": { "type": "integer", "format": "int32", "nullable": true }, "expireHours": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "TimePlayDurationDaysMediaActivation": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ActivationType" }, "numberOfDays": { "type": "integer", "format": "int32" }, "startOnFirstUse": { "type": "boolean" }, "groupId": { "type": "integer", "format": "int32", "nullable": true }, "expireHours": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "TimePlayDurationMinutesMediaActivation": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ActivationType" }, "numberOfMinutes": { "type": "integer", "format": "int32" }, "startOnFirstUse": { "type": "boolean" }, "groupId": { "type": "integer", "format": "int32", "nullable": true }, "expireHours": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "TimePlayMediaActivation": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/MediaActivation" } ], "properties": { "groupId": { "type": "integer", "format": "int32", "nullable": true }, "expireHours": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "TimePlayMediaDurationActivation": { "required": [ "type" ], "type": "object", "properties": { "startOnFirstUse": { "type": "boolean" }, "groupId": { "type": "integer", "format": "int32", "nullable": true }, "expireHours": { "type": "integer", "format": "int32", "nullable": true }, "type": { "$ref": "#/components/schemas/ActivationType" } }, "additionalProperties": false }, "TimePlayPlayerCard": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Media" } ], "additionalProperties": false }, "TimePlayTimeMediaActivation": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ActivationType" }, "startTime": { "type": "string", "format": "time" }, "endTime": { "type": "string", "format": "time" }, "groupId": { "type": "integer", "format": "int32", "nullable": true }, "expireHours": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "TimePrivilegeRestriction": { "required": [ "type" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/PrivilegeRestriction" } ], "properties": { "startTime": { "type": "string", "format": "time" }, "endTime": { "type": "string", "format": "time" } }, "additionalProperties": false }, "TimeRange": { "required": [ "endTime", "startTime" ], "type": "object", "properties": { "startTime": { "type": "string", "description": "The time of day that the pass is valid for use after", "format": "time" }, "endTime": { "type": "string", "description": "The time of day that the pass is valid for use before", "format": "time" } }, "additionalProperties": false, "description": "Restricts the time of day that the pass is valid for use on" }, "TimeRangeMediaTimePlay": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/MediaTimePlay" } ], "properties": { "startTime": { "type": "string", "format": "time" }, "endTime": { "type": "string", "format": "time" } }, "additionalProperties": false }, "TokenRequest": { "required": [ "key" ], "type": "object", "properties": { "key": { "minLength": 1, "type": "string" } }, "additionalProperties": false }, "TokenResponse": { "required": [ "token" ], "type": "object", "properties": { "token": { "minLength": 1, "type": "string" } }, "additionalProperties": false }, "TotalBuddyUseRestriction": { "required": [ "maximumUses" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/UseRestriction" } ], "properties": { "maximumUses": { "type": "integer", "description": "Maximum number of total uses for the pass", "format": "int32" } }, "additionalProperties": false, "description": "Limits the total number of uses of a pass" }, "TotalUseRestriction": { "required": [ "maximumUses" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/UseRestriction" } ], "properties": { "maximumUses": { "type": "integer", "description": "Maximum number of total uses for the pass", "format": "int32" } }, "additionalProperties": false, "description": "Limits the total number of uses of a pass" }, "Transaction": { "required": [ "details", "id", "netAmount", "number" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "number": { "type": "string" }, "netAmount": { "type": "number", "format": "double" }, "customerId": { "type": "string", "format": "uuid", "nullable": true }, "isToGoOrder": { "type": "boolean", "description": "Determines if special tax considerations around to go orders should be applied with a given site's tax settings" }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/Detail" } }, "lineItems": { "type": "array", "items": { "$ref": "#/components/schemas/LineItem" }, "nullable": true }, "salesTaxCollected": { "type": "array", "items": { "$ref": "#/components/schemas/SalesTaxInfo" }, "nullable": true }, "tenders": { "type": "array", "items": { "$ref": "#/components/schemas/Tender" }, "nullable": true }, "serviceCharge": { "$ref": "#/components/schemas/ServiceCharge" } }, "additionalProperties": false }, "TransactionState": { "enum": [ "Pending", "AwaitingGratuity", "Completed" ], "type": "string" }, "UniqueDaysUseRestriction": { "required": [ "maxUniqueDays" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/UseRestriction" } ], "properties": { "maxUniqueDays": { "type": "integer", "description": "Maximum number of unique days the pass may be used", "format": "int32" } }, "additionalProperties": false, "description": "Limits the number of unique days a pass may be used" }, "UnpaidReservation": { "required": [ "activityId", "duration", "id", "quantity", "startDateTime" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "activityId": { "type": "string", "format": "uuid" }, "startDateTime": { "type": "string", "format": "date-time" }, "expiration": { "type": "string", "format": "date-time", "nullable": true }, "duration": { "type": "integer", "description": "A length in time specified in Minutes", "format": "int32" }, "quantity": { "type": "integer", "format": "int32" }, "catalogEntryId": { "type": "integer", "format": "int64", "nullable": true } }, "additionalProperties": false }, "UpdateDetail": { "required": [ "actor", "source", "timestamp" ], "type": "object", "properties": { "timestamp": { "type": "string", "format": "date-time" }, "tillId": { "type": "string", "format": "uuid", "nullable": true }, "state": { "$ref": "#/components/schemas/TransactionState" }, "actor": { "$ref": "#/components/schemas/Actor" }, "source": { "$ref": "#/components/schemas/Source" } }, "additionalProperties": false }, "UpdateReservationRequest": { "required": [ "duration", "quantity", "startDateTime" ], "type": "object", "properties": { "startDateTime": { "type": "string", "format": "date-time" }, "duration": { "type": "integer", "description": "A length in time specified in Minutes", "format": "int32" }, "quantity": { "type": "integer", "format": "int32" }, "expiresIn": { "type": "integer", "description": "A length in time specified in Minutes", "format": "int32", "nullable": true }, "catalogEntryId": { "type": "integer", "format": "int64", "nullable": true } }, "additionalProperties": false }, "UpdateResult": { "type": "object", "properties": { "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdateTransactionRequest": { "required": [ "details", "lineItems" ], "type": "object", "properties": { "customerId": { "type": "string", "format": "uuid", "nullable": true }, "lineItems": { "type": "array", "items": { "$ref": "#/components/schemas/LineItem" } }, "isToGoOrder": { "type": "boolean", "description": "Determines if special tax considerations around to go orders should be applied with a given site's tax settings" }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/UpdateDetail" } }, "salesTaxCollected": { "type": "array", "items": { "$ref": "#/components/schemas/SalesTaxInfo" }, "nullable": true }, "tenders": { "type": "array", "items": { "$ref": "#/components/schemas/Tender" }, "nullable": true }, "serviceCharge": { "$ref": "#/components/schemas/ServiceCharge" } }, "additionalProperties": false }, "UpdateUrlToPayRequest": { "required": [ "merchantAccountId", "netAmount", "status", "target", "taxAmount" ], "type": "object", "properties": { "customer": { "$ref": "#/components/schemas/UrlToPayCustomer" }, "taxAmount": { "type": "number", "format": "double" }, "netAmount": { "type": "number", "format": "double" }, "target": { "$ref": "#/components/schemas/UrlToPayTarget" }, "merchantAccountId": { "type": "integer", "format": "int64" }, "status": { "$ref": "#/components/schemas/UrlToPayStatus" } }, "additionalProperties": false }, "UrlToPay": { "required": [ "gratuityAmount", "id", "invoiceCreationTime", "netAmount", "status", "target" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "netAmount": { "type": "number", "format": "double" }, "gratuityAmount": { "type": "number", "format": "double" }, "status": { "$ref": "#/components/schemas/UrlToPayStatus" }, "target": { "$ref": "#/components/schemas/UrlToPayTarget" }, "invoiceCreationTime": { "type": "string", "format": "date-time" }, "urlToPayUri": { "type": "string", "nullable": true }, "paymentDetails": { "type": "array", "items": { "$ref": "#/components/schemas/UrlToPayPaymentDetails" }, "nullable": true } }, "additionalProperties": false }, "UrlToPayAccountsReceivableTarget": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/UrlToPayTarget" } ], "properties": { "invoiceId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "UrlToPayCardPaymentDetails": { "required": [ "cardType" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/UrlToPayPaymentDetails" } ], "properties": { "cardType": { "$ref": "#/components/schemas/MerchantCardType" }, "shortAccountNumber": { "maxLength": 4, "minLength": 0, "type": "string", "nullable": true }, "cardholderName": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UrlToPayCashPaymentDetails": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/UrlToPayPaymentDetails" } ], "additionalProperties": false }, "UrlToPayCustomer": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "firstName": { "type": "string", "nullable": true }, "lastName": { "type": "string", "nullable": true }, "organizationName": { "type": "string", "nullable": true }, "emailAddress": { "type": "string", "nullable": true }, "mobilePhone": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UrlToPayEnabled": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "additionalProperties": false }, "UrlToPayEventsTarget": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/UrlToPayTarget" } ], "properties": { "referenceNumber": { "type": "integer", "format": "int64" }, "paymentType": { "$ref": "#/components/schemas/EventPaymentType" } }, "additionalProperties": false }, "UrlToPayPaymentDetails": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/UrlToPayPaymentType" }, "approvalTimeStamp": { "type": "string", "format": "date-time" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "UrlToPayPaymentType": { "enum": [ "UrlToPayCardPaymentDetails", "UrlToPayCashPaymentDetails" ], "type": "string" }, "UrlToPayStatus": { "enum": [ "Pending", "Canceled", "Complete" ], "type": "string" }, "UrlToPaySummary": { "type": "object", "properties": { "gratuityAmount": { "type": "number", "format": "double", "nullable": true }, "id": { "type": "string", "format": "uuid" }, "netAmount": { "type": "number", "format": "double" }, "urlToPayUri": { "type": "string", "format": "uri", "nullable": true }, "taxAmount": { "type": "number", "format": "double" }, "target": { "$ref": "#/components/schemas/UrlToPayTarget" }, "invoiceCreationTime": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "UrlToPayTarget": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/UrlToPayTargetType" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "UrlToPayTargetType": { "enum": [ "UrlToPayAccountsReceivableTarget", "UrlToPayEventsTarget", "UrlToPayTransactionTarget" ], "type": "string" }, "UrlToPayTransactionTarget": { "required": [ "transactionId" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/UrlToPayTarget" } ], "properties": { "transactionId": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "UseRestriction": { "required": [ "type" ], "type": "object", "properties": { "type": { "$ref": "#/components/schemas/UseRestrictionType" } }, "additionalProperties": false, "discriminator": { "propertyName": "type" } }, "UseRestrictionType": { "enum": [ "DailyUseRestriction", "DailyBuddyUseRestriction", "DateRangeUseRestriction", "DaysFromIssueUseRestriction", "DayTimeUseRestriction", "UniqueDaysUseRestriction", "TotalUseRestriction", "TotalBuddyUseRestriction" ], "type": "string" }, "UserTypes": { "enum": [ "None", "Cashier", "OnlineCustomer", "SelfServiceCustomer", "All" ], "type": "string" }, "ValueMediaActivation": { "required": [ "type" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/MediaActivation" } ], "properties": { "bucketNumber": { "type": "integer", "format": "int32" }, "points": { "type": "number", "format": "double" }, "revenueAllocation": { "type": "number", "format": "float" }, "bonusPointsEligible": { "type": "boolean" } }, "additionalProperties": false }, "Verification": { "type": "object", "properties": { "employeeNumber": { "type": "integer", "format": "int32", "nullable": true }, "verifiedOn": { "type": "string", "format": "date-time" }, "employeeName": { "type": "string", "nullable": true } }, "additionalProperties": false }, "VersionModel": { "type": "object", "properties": { "version": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Waiver": { "required": [ "signee" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "nullable": true }, "waiverLookupString": { "type": "string", "nullable": true }, "waiverTypeId": { "type": "string", "format": "uuid", "nullable": true }, "signedDateTime": { "type": "string", "format": "date-time" }, "medium": { "$ref": "#/components/schemas/Medium" }, "signee": { "$ref": "#/components/schemas/Signee" }, "dependents": { "type": "array", "items": { "$ref": "#/components/schemas/Dependent" }, "nullable": true }, "expiresOn": { "type": "string", "format": "date", "nullable": true }, "verification": { "$ref": "#/components/schemas/Verification" }, "hasDocument": { "type": "boolean" } }, "additionalProperties": false }, "WaiverExportJob": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "WaiverText": { "type": "object", "properties": { "text": { "type": "string", "nullable": true }, "languageId": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "WaiverType": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "typeNo": { "type": "integer", "format": "int32" }, "isDefaultType": { "type": "boolean" }, "name": { "type": "string", "nullable": true }, "daysValid": { "type": "integer", "format": "int32", "nullable": true }, "minimumAge": { "type": "integer", "format": "int32" }, "enabled": { "type": "boolean" } }, "additionalProperties": false } }, "securitySchemes": { "Bearer": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } } } }