> For the complete documentation index, see [llms.txt](https://docs.podplay.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.podplay.app/api/use-cases/use-case-charging-products.md).

# Use Case: Charging Products

### Overview

Integrators can create product charges programmatically using the same flow available in the Web Admin Dashboard.

This allows you to:

* Charge a customer for a product
* Create ad-hoc charges (e.g. infractions, penalties)
* Associate charges with a specific event
* Generate payment links or charge immediately

Two common use cases are supported:

1. **Charge a product directly (Dashboard-style)**
2. **Charge a product within an Event context**

### Authentication & Permissions

Endpoint:

```
POST /orders
```

Authentication:

```
x-api-key: <your_api_key>
```

### Use Case 1 — Charge a Product (Dashboard-Style)

This creates an order on behalf of a customer.

#### Required Fields

* `"type": "ORDER"`\
  (Use `"PREVIEW"` to validate without charging.)
* `user.id` (the customer being charged)
* At least one item in `items`

#### Example – Ad-Hoc Infraction Charge at Pod-Level

```
curl -sS -X POST \
  -H "x-api-key: <your_api_key>" \
  -H "Content-Type: application/json" \
  "https://sandbox1.podplay.app/apis/v2/orders" \
  -d '{

  "type": "ORDER",
  "user": { "id": "NdYLe9xdUOQPTaJiggf2amNIece2" },
  "pod": { "id": "b066d668-e64f-480a-ad31-110b3433c080" },
  "items": [
    {
      "type": "INFRACTION_FINE",
      "name": "Court rule violation",
      "description": "Noise after hours",
      "quantity": 1,
      "price": 25
    }
  ],
  "paymentMethod": "CARD"
}'
```

It now appears in the Admin Dashboard as shown below.

<figure><img src="https://storage.googleapis.com/podplay-gitbook/assets/api-create-order-01-ad-hoc-v2.png" alt=""><figcaption></figcaption></figure>

Pay attention to the **Location** field: *Venue 1 – Pod 1*.\
The purchase is registered at the **Pod level**.

In the following example, the structure is similar, but the Location appears as *Venue 1*, because the purchase is registered at the **area level** instead.

{% hint style="info" %}
A location must be assigned to the order unless the Podplay App configuration explicitly allows non-location-related purchases.
{% endhint %}

#### Example – Ad-Hoc Infraction Charge at Area-Level

```
curl -sS -X POST \
  -H "x-api-key: <your_api_key>" \
  -H "Content-Type: application/json" \
  "https://sandbox1.podplay.app/apis/v2/orders" \
  -d '{
  "type": "ORDER",
  "user": { "id": "NdYLe9xdUOQPTaJiggf2amNIece2" },
  "areas": { "items": [{ "id": "19e71e9a-751e-4cfd-9f28-4de4704a3c50" }] },
  "items": [
    {
      "type": "INFRACTION_FINE",
      "name": "Paddle rental not returned",
      "description": "Equipment not returned by due time",
      "quantity": 1,
      "price": 15
    }
  ],
  "paymentMethod": "CARD"
}'
```

Example – POS/Shop Product

```
curl -sS -X POST \
  -H "x-api-key: <your_api_key>" \
  -H "Content-Type: application/json" \
  "https://sandbox1.podplay.app/apis/v2/orders" \
  -d '{
  "type": "ORDER",
  "user": { "id": "NdYLe9xdUOQPTaJiggf2amNIece2" },
  "areas": { "items": [{ "id": "19e71e9a-751e-4cfd-9f28-4de4704a3c50" }] },
  "items": [
    {
      "posProductOffering": { "id": "7af209f4-4628-454c-91e0-deff5f61ae66" },
      "quantity": 1
    }
  ],
  "paymentMethod": "CASH"
}'
```

{% hint style="info" %}
The producto shall be available in the area.
{% endhint %}

<figure><img src="https://storage.googleapis.com/podplay-gitbook/assets/api-create-order-item-from-shop.png" alt=""><figcaption></figcaption></figure>

### Use Case 2 — Charge Within an Event

To associate the charge with a specific event, include:

```
"event": { "id": "<event-id>" }
```

This links the order to that event for reporting and operational context.

#### Example – Infraction Linked to an Event

```
curl -sS -X POST \
  -H "x-api-key: <your_api_key>" \
  -H "Content-Type: application/json" \
  "https://sandbox1.podplay.app/apis/v2/orders" \
  -d '{
  "type": "ORDER",
  "user": { "id": "NdYLe9xdUOQPTaJiggf2amNIece2" },
  "event": { "id": "181207ba-2222-4c8e-8f1e-84d90c2858af" },
  "areas": { "items": [{ "id": "19e71e9a-751e-4cfd-9f28-4de4704a3c50" }] },
  "items": [
    {
      "type": "INFRACTION_FINE",
      "name": "Paddle rental not returned",
      "description": "Equipment not returned by due time",
      "quantity": 1,
      "price": 15
    }
  ],
  "paymentMethod": "CARD"
}'
```

It now appears in the Admin Dashboard as shown below.

<figure><img src="https://storage.googleapis.com/podplay-gitbook/assets/api-create-order-event-v2.png" alt=""><figcaption></figcaption></figure>

### Orders API — Technical Specification

For the complete programmatic definition of the `POST /orders` endpoint (order creation), including request structure and response schema, refer to the API specification below.

## POST /orders

>

```json
{"openapi":"3.0.0","info":{"title":"PodPlay Inc API","version":"2.0"},"tags":[{"name":"Orders","description":"Order creation, updates, and fulfillment."}],"servers":[{"url":"/apis/v2","description":"Current Server"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"OrderCreationDto":{"type":"object","properties":{"type":{"type":"string","enum":["PREVIEW","ORDER"]},"status":{"type":"string","enum":["DRAFT","INVALID","PENDING","CONFIRMED","CANCELED","PARTIALLY_CANCELED","CHARGE_FAILED","REFUNDED","PARTIALLY_REFUNDED","REQUIRES_AUTHENTICATION","PROCESSING"]},"paymentMethod":{"type":"string","enum":["CASH","CARD","POS"]},"virtualCredits":{"type":"number"},"taxExempt":{"type":"boolean","default":false},"vendingMachineOrderId":{"type":"string"},"user":{"$ref":"#/components/schemas/ItemRefDto"},"areas":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"pod":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"event":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"items":{"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/OrderItemCreationDto"}},"terminal":{"nullable":true,"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"paymentMethodSettings":{"type":"string","writeOnly":true,"enum":["STORE"]}},"required":["type","paymentMethod","user","areas","pod","event","items","terminal"]},"ItemRefDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"}},"required":["id"]},"ItemRefCollectionDto":{"type":"object","properties":{"items":{"description":"The array containing the elements of the collection","type":"array","items":{"type":"string"}},"_total":{"type":"number","description":"The total amount of elements in this collection, counting also the elements from the succesive pages"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["items"]},"LinksDto":{"type":"object","properties":{"self":{"description":"A `LinkDto` to the resource itself","allOf":[{"$ref":"#/components/schemas/LinkDto"}]}},"required":["self"]},"LinkDto":{"type":"object","properties":{"href":{"type":"string","description":"A URL"}},"required":["href"]},"OrderItemCreationDto":{"type":"object","properties":{"type":{"type":"string","enum":["BOOKING","EVENT_SIGNUP","GUEST_SPOT","SERIES_SIGNUP","PRODUCT","PADDLE_RENTAL","MEMBERSHIP","GIFT_CARD","CLUB_COACHING_SESSION","KIDS_AND_BEGINNERS_COACHING_SESSION","NATIONAL_COACHING_SESSION","NATIONAL_PLUS_COACHING_SESSION","CAMP","PODLINGS","PODSTERS","PRIVATE_EVENT","CONVENIENCE_FEE","INFRACTION_FINE","GUESTS","REPLAY","VARIOUS","COACHING_SESSION","KIDS_CLASS","RESCHEDULE","COURT_SWITCH","DAY_PASS","SHOP"]},"name":{"type":"string","maxLength":255},"description":{"type":"string","maxLength":255},"quantity":{"type":"number"},"price":{"type":"number"},"productOffering":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"posProductOffering":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"event":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"replay":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"sku":{"type":"string"},"appliesTo":{"nullable":true,"description":"Users that this order item applies to","allOf":[{"$ref":"#/components/schemas/UserCollectionDto"}]}},"required":["type","name","description","quantity","price","productOffering","posProductOffering","event","replay","sku","appliesTo"]},"UserCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserDto"}},"_pagination":{"$ref":"#/components/schemas/PaginationDto"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_pagination","_links"]},"UserDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"email":{"type":"string","format":"email","readOnly":true},"firstName":{"type":"string"},"lastName":{"type":"string"},"description":{"type":"string"},"notes":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"phoneNumberPreview":{"type":"string","readOnly":true},"phoneNumber":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"roles":{"type":"array","readOnly":false,"items":{"type":"string","enum":["ADMIN","PODPLAY_ADMIN","OWNER","CLUB_OWNER","KIOSK","SECURITY","COACH","MANAGER","STAFF","BETA_TESTER"]}},"rolesAreas":{"$ref":"#/components/schemas/ItemRefCollectionDto"},"membershipType":{"type":"string","enum":["NONE","GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER"],"readOnly":true,"deprecated":true},"membershipArea":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipBookingHorizonDays":{"type":"number","readOnly":true,"deprecated":true},"flags":{"type":"array","items":{"type":"string","enum":["NEW","BLOCKED","VACCINATED","ANONYMOUS","HAS_REPLAYS","HAS_RESERVATIONS","HAS_NOTES","HAS_ADMIN_DASHBOARD_ACCESS","JOINED_CHAT","ACTIVE_DAY_PASS"]}},"paymentMethod":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"paymentElements":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"freeQuickReplays":{"type":"number"},"picture":{"$ref":"#/components/schemas/ItemRefDto"},"gender":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"favoriteReplays":{"type":"object","readOnly":true},"profile":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"coachProfile":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"qrCode":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipEnrollment":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscription":{"nullable":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"membershipSubscriptionHistory":{"readOnly":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"ratings":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"securityPicture":{"$ref":"#/components/schemas/ItemRefDto"},"chat":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"segmentation":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","email","description","rolesAreas","membershipType","flags","favoriteReplays","coachProfile","membershipEnrollment","membershipSubscription","membershipSubscriptionHistory","ratings","chat","segmentation","_links"]},"CollectionRefDto":{"type":"object","properties":{"_total":{"type":"number","description":"The total amount of elements in this collection"}}},"PaginationDto":{"type":"object","properties":{"page":{"type":"number"},"ipp":{"type":"number"},"count":{"type":"number"},"total":{"type":"number"}},"required":["page","ipp","count","total"]},"OrderDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"code":{"type":"string","readOnly":true},"createdDate":{"format":"date-time","type":"string","readOnly":true},"settlingDate":{"format":"date-time","type":"string","readOnly":true},"type":{"type":"string","enum":["PREVIEW","ORDER"]},"status":{"type":"string","enum":["DRAFT","INVALID","PENDING","CONFIRMED","CANCELED","PARTIALLY_CANCELED","CHARGE_FAILED","REFUNDED","PARTIALLY_REFUNDED","REQUIRES_AUTHENTICATION","PROCESSING"]},"source":{"type":"string","enum":["BOOKING","COACHING","EVENT_SIGNUP","SERIES_SIGNUP","CHECK_IN","REPLAY","POD_SHOP","VENDING_MACHINE","CUSTOMER_SERVICE","MEMBERSHIP","RESCHEDULE","INVITATION"],"readOnly":true},"paymentMethod":{"type":"string","enum":["CASH","CARD","POS"]},"currency":{"type":"string","readOnly":true,"description":"A three letter code in upper case as described in https://www.iso.org/iso-4217-currency-codes.html"},"subtotal":{"type":"number","readOnly":true},"tax":{"type":"number","readOnly":true},"taxes":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/TaxDto"}]},"fee":{"type":"number","readOnly":true},"fees":{"type":"number","readOnly":true},"discount":{"type":"number","readOnly":true},"virtualCredits":{"type":"number"},"taxExempt":{"type":"boolean","default":false},"total":{"type":"number","readOnly":true},"capturedTotal":{"type":"number","readOnly":true},"vendingMachineOrderId":{"type":"string"},"items":{"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/OrderItemDto"}},"creator":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"user":{"$ref":"#/components/schemas/ItemRefDto"},"areas":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefCollectionDto"}]},"pod":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"event":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"payments":{"type":"object","readOnly":true},"transfers":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/TransferCollectionDto"}]},"cancellations":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrderItemCancellationCollectionDto"}]},"products":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/DeprecatedProductCollectionDto"}]},"events":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/EventCollectionDto"}]},"replays":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/EventCollectionDto"}]},"coupon":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"passes":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/CollectionRefDto"}]},"virtualCreditsTransactions":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/VirtualCreditsTransactionsPaginatedCollectionDto"}]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"_links":{"type":"object"}},"required":["id","code","createdDate","settlingDate","type","source","paymentMethod","currency","subtotal","tax","taxes","fee","fees","discount","total","capturedTotal","items","creator","user","areas","pod","event","payments","transfers","cancellations","products","events","replays","coupon","passes","virtualCreditsTransactions","errors","_links"]},"TaxDto":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"amount":{"type":"number","readOnly":true,"description":"Amount (in $) corresponding to this tax item"},"percentage":{"type":"number","readOnly":true,"description":"Tax percentage that was applied to a subtotal amount, used to display the tax rate. eg: {TaxName}: 9%"}},"required":["name","amount","percentage"]},"OrderItemDto":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["BOOKING","EVENT_SIGNUP","GUEST_SPOT","SERIES_SIGNUP","PRODUCT","PADDLE_RENTAL","MEMBERSHIP","GIFT_CARD","CLUB_COACHING_SESSION","KIDS_AND_BEGINNERS_COACHING_SESSION","NATIONAL_COACHING_SESSION","NATIONAL_PLUS_COACHING_SESSION","CAMP","PODLINGS","PODSTERS","PRIVATE_EVENT","CONVENIENCE_FEE","INFRACTION_FINE","GUESTS","REPLAY","VARIOUS","COACHING_SESSION","KIDS_CLASS","RESCHEDULE","COURT_SWITCH","DAY_PASS","SHOP"]},"name":{"type":"string","maxLength":255},"description":{"type":"string","maxLength":255},"quantity":{"type":"number"},"price":{"type":"number"},"subtotal":{"type":"number","readOnly":true},"tax":{"type":"number","readOnly":true},"fee":{"type":"number","readOnly":true},"discount":{"type":"number","readOnly":true},"virtualCredits":{"type":"number","readOnly":true},"total":{"type":"number","readOnly":true},"productOffering":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"posProductOffering":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"product":{"nullable":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"event":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"replay":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]}},"required":["id","type","name","description","quantity","price","subtotal","tax","fee","discount","total","productOffering","posProductOffering","product","event","replay"]},"TransferCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TransferDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"TransferDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"amount":{"type":"number","readOnly":true},"reversedAmount":{"type":"number","readOnly":true,"nullable":true},"reversedDate":{"format":"date-time","type":"string","readOnly":true,"nullable":true},"currency":{"type":"string","readOnly":true},"status":{"type":"string","enum":["PENDING","FAILED","TRANSFERRED","REVERSED"],"readOnly":true},"transferDate":{"format":"date-time","type":"string","readOnly":true},"stripe":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"payment":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"user":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"reversedByUser":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object","readOnly":true}},"required":["id","amount","reversedAmount","reversedDate","currency","status","transferDate","stripe","payment","user","reversedByUser","_links"]},"OrderItemCancellationCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemCancellationDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"OrderItemCancellationDto":{"type":"object","properties":{"id":{"type":"string"},"event":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"summary":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrderItemCancellationSummaryDto"}]},"_links":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["id","event","summary","_links"]},"OrderItemCancellationSummaryDto":{"type":"object","properties":{"policy":{"type":"string","enum":["FREE_OF_CHARGE","10MIN_GRACE","PLUS_6HS_IN_ADVANCE","PLUS_12HS_IN_ADVANCE","PLUS_24HS_IN_ADVANCE","BETWEEN_12HS_TO_2HS_IN_ADVANCE","24HS_OR_LESS_IN_ADVANCE","2HS_OR_LESS_IN_ADVANCE","FULL_REFUND_VIRTUAL_CREDITS","FULL_REFUND","NO_REFUND","CANCELED_BY_ADMIN","TENANT_CUSTOM"],"readOnly":true},"policySubtype":{"type":"object","readOnly":true},"policyDescription":{"type":"object","readOnly":true},"extensionId":{"type":"object","readOnly":true},"cancellingUser":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserProfileDto"}]},"cancellationTime":{"format":"date-time","type":"string","readOnly":true},"validUntilTime":{"format":"date-time","type":"string","readOnly":true},"cancellationFee":{"type":"number","readOnly":true},"refund":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/EventCancellationSummaryRefundDto"}]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}}},"required":["policy","policySubtype","policyDescription","extensionId","cancellingUser","cancellationTime","validUntilTime","cancellationFee","refund","errors"]},"UserProfileDto":{"type":"object","properties":{"id":{"type":"string"},"user":{"$ref":"#/components/schemas/ItemRefDto"},"type":{"type":"string","enum":["REGULAR","GLOBAL_MEMBER","ANGEL_MEMBER","BASIC_MEMBER","AREA_MEMBER","COACH"],"readOnly":true},"membershipArea":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"firstName":{"type":"string","readOnly":true},"lastName":{"type":"string","readOnly":true},"gender":{"type":"string","readOnly":true},"birthday":{"format":"date-time","type":"string","readOnly":true},"initials":{"type":"string","readOnly":true},"description":{"type":"string"},"picture":{"type":"object","readOnly":true,"nullable":true},"usattRating":{"type":"number","readOnly":true,"nullable":true},"duprProfileUrl":{"type":"string","readOnly":true,"nullable":true},"memberSince":{"format":"date-time","type":"string","readOnly":true},"membershipSubscription":{"type":"object","nullable":true,"readOnly":true,"deprecated":true},"membershipEnrollment":{"type":"object","nullable":true,"readOnly":true},"kids":{"type":"object","nullable":true,"readOnly":true},"_links":{"type":"object"}},"required":["id","user","type","description","memberSince","kids","_links"]},"EventCancellationSummaryRefundDto":{"type":"object","properties":{"reimbursement":{"type":"number","readOnly":true},"virtualCredits":{"type":"number","readOnly":true},"passes":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrderPassCollectionDto"}]}},"required":["reimbursement","virtualCredits","passes"]},"OrderPassCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/OrderPassDto"}},"_total":{"type":"number"},"_links":{"type":"object"}},"required":["items","_total","_links"]},"OrderPassDto":{"type":"object","properties":{"id":{"type":"object"},"available":{"type":"number","readOnly":true,"description":"Either for applicable or refundable passes this represents potential but not the actual number to be applied/refunded"},"quantity":{"type":"number","readOnly":true,"description":"Either for applicable or refundable passes this represents actual number to be applied/refunded"},"displayName":{"type":"string","readOnly":true},"displayNamePlural":{"type":"string","readOnly":true},"rate":{"type":"number","readOnly":true}},"required":["id","available","quantity","displayName","displayNamePlural","rate"]},"ValidationErrorDto":{"type":"object","properties":{"code":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"details":{"type":"object","readOnly":true,"nullable":true}},"required":["code","message","details"]},"DeprecatedProductCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DeprecatedProductDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"DeprecatedProductDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"sku":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["LIFESTYLE","MERCHANDISE","EQUIPMENT","SNACK","FOOD","DRINKS","CUSTOM_REPLAY","QUICK_REPLAY","ENHANCED_REPLAY","MEMBERSHIP","BOOKING","EVENT_SIGNUP","SERIES_SIGNUP","VENDING_MACHINE","OTHER","APPAREL","CAMP","PODLINGS","PODSTERS","GIFT_CARD","PRIVATE_EVENT","CONVENIENCE_FEE","INFRACTION_FINE","GUEST_SPOT","PADDLE_RENTAL","CLUB_COACHING_SESSION","KIDS_AND_BEGINNERS_COACHING_SESSION","NATIONAL_COACHING_SESSION","NATIONAL_PLUS_COACHING_SESSION","OLYMPIC_COACHING_SESSION","HITTING_PARTNER_COACHING_SESSION","COACHING_SESSION","RESCHEDULE","COURT_SWITCH","TABLE","GUESTS","GENERIC","WATER","ALCOHOL","SHOP"]},"images":{"readOnly":true,"deprecated":true,"type":"array","items":{"type":"string"}},"picture":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/DeprecatedProductPictureDto"}]},"price":{"type":"number"},"areas":{"$ref":"#/components/schemas/ItemRefCollectionDto"},"_links":{"type":"object"}},"required":["id","sku","name","description","type","images","picture","price","areas","_links"]},"DeprecatedProductPictureDto":{"type":"object","properties":{"small":{"$ref":"#/components/schemas/LinkDto"},"medium":{"$ref":"#/components/schemas/LinkDto"},"large":{"$ref":"#/components/schemas/LinkDto"}},"required":["small","medium","large"]},"EventCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EventDto"}},"_total":{"type":"number","deprecated":true},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"EventDto":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["REGULAR","CLASS","EVENT","INTERNAL"],"readOnly":true},"subtype":{"type":"string","enum":["OPERATIONS","PRIVATE","COACHING","KIDS_CLASS","ADULT_CLASS","OPEN_PLAY","LEAGUE_NIGHT","TOURNAMENT","PARTY","PRIVATE_EVENT"]},"customType":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"startTime":{"format":"date-time","type":"string"},"endTime":{"format":"date-time","type":"string"},"pods":{"$ref":"#/components/schemas/PodCollectionDto"},"tables":{"$ref":"#/components/schemas/EventTableCollectionDto"},"access":{"$ref":"#/components/schemas/AccessDto"},"guests":{"$ref":"#/components/schemas/GuestsDto"},"reservations":{"$ref":"#/components/schemas/ReservationCollectionDto"},"bookingMode":{"type":"string","enum":["USER_BOOKED","FREE_OF_CHARGE"],"readOnly":true},"paymentMethod":{"type":"string","enum":["CASH","CARD","POS"],"readOnly":true},"bookedBy":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"totalTeams":{"type":"number"},"teamSize":{"type":"number"},"admission":{"type":"string","enum":["OPEN","MEMBERS_ONLY","CLOSED"]},"admissionRating":{"$ref":"#/components/schemas/EventAdmissionRatingDto"},"admissionRate":{"$ref":"#/components/schemas/EventAdmissionRateDto"},"admissionDate":{"$ref":"#/components/schemas/EventAdmissionDateDto"},"admissionKids":{"type":"string","enum":["OPEN","CLOSED"]},"allowedMemberships":{"type":"object"},"coachRate":{"type":"number"},"freeSignupCancellationHorizonHours":{"type":"number"},"tags":{"type":"array","items":{"type":"string"}},"picture":{"$ref":"#/components/schemas/ItemRefDto"},"visibility":{"type":"string","enum":["LISTED","UNLISTED"]},"invitations":{"type":"object"},"payments":{"type":"object"},"completeInvitations":{"type":"integer","minimum":0,"maximum":10,"deprecated":true},"replays":{"type":"object"},"cancellation":{"type":"object"},"notes":{"type":"object"},"openInvitations":{"type":"object"},"signups":{"type":"object"},"waitlist":{"type":"object"},"features":{"type":"array","nullable":true,"items":{"type":"string","enum":["WAITLIST","PUBLIC_ATTENDEE_LIST","QUICK_REPLAYS","CUSTOM_REPLAYS","ENHANCED_REPLAYS","SUBMIT_MATCHES_RESULTS","SHOW_SPOTS_LEFT"]}},"stats":{"type":"object"},"series":{"$ref":"#/components/schemas/ItemRefDto"},"suspension":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"status":{"type":"string","enum":["INVALID","DRAFT","CONFIRMED","PUBLISHED"]},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"tournamentDivision":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/TournamentDivisionDto"}]},"visibilitySchedules":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/EventVisibilityScheduleCollectionDto"}]},"recurrence":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"teams":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/EventTeamCollectionDto"}]},"_links":{"type":"object"}},"required":["id","type","subtype","customType","name","description","startTime","endTime","pods","tables","access","guests","reservations","bookingMode","paymentMethod","bookedBy","totalTeams","teamSize","admission","admissionRating","admissionRate","admissionDate","admissionKids","allowedMemberships","coachRate","freeSignupCancellationHorizonHours","tags","visibility","invitations","payments","completeInvitations","replays","cancellation","notes","openInvitations","signups","waitlist","features","stats","status","errors","tournamentDivision","visibilitySchedules","recurrence","teams","_links"]},"PodCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PodDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"PodDto":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"displayName":{"type":"string"},"displayNameShort":{"type":"string"},"description":{"type":"string"},"address":{"$ref":"#/components/schemas/PodAddressDto"},"timezone":{"type":"string"},"type":{"type":"string","enum":["PRIVATE","MULTI_TABLE","ROBOT"]},"status":{"type":"string","enum":["NOT_AVAILABLE","AVAILABLE","TEMPORARILY_CLOSED","COMING_SOON"]},"sport":{"type":"string","enum":["PICKLEBALL","TABLE_TENNIS","POOL","TENNIS","PADDLE","SQUASH","SOCCER","GOLF","RACING_SIMULATOR","CRICKET","BASEBALL","HOCKEY","PETS","CORN_HOLE","SWIMMING"]},"area":{"type":"object"},"tables":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/TableCollectionDto"}]},"openTime":{"$ref":"#/components/schemas/TimeDto"},"closeTime":{"$ref":"#/components/schemas/TimeDto"},"closedTimeOverrides":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PodClosedTimeOverrideCollectionDto"}]},"guests":{"$ref":"#/components/schemas/PodGuestsDto"},"rates":{"type":"object"},"settings":{"$ref":"#/components/schemas/PodSettingsCollectionDto"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"_links":{"type":"object"}},"required":["id","slug","displayName","displayNameShort","description","address","timezone","type","status","sport","area","tables","openTime","closeTime","closedTimeOverrides","guests","rates","settings","errors","_links"]},"PodAddressDto":{"type":"object","properties":{"street":{"type":"string"},"floor":{"type":"string"},"city":{"type":"string"},"zip":{"type":"string"},"displayName":{"type":"string"}},"required":["street","floor","city","zip","displayName"]},"TableCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TableDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"TableDto":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"displayName":{"type":"string"},"displayNameShort":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["STANDARD","PREMIUM"]},"status":{"type":"string","enum":["AVAILABLE","NOT_AVAILABLE"]},"features":{"type":"array","items":{"type":"string","enum":["REPLAYS","QUICK_REPLAYS","CUSTOM_REPLAYS","ENHANCED_REPLAYS","SCOREBOARD","ROBOT","PRIVATE"]}},"pod":{"type":"object"},"settings":{"$ref":"#/components/schemas/CourtSettingsCollectionDto"},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"_links":{"type":"object"}},"required":["id","slug","displayName","displayNameShort","description","type","status","features","pod","settings","errors","_links"]},"CourtSettingsCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CourtSettingDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"CourtSettingDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"value":{"type":"object"}},"required":["id","value"]},"TimeDto":{"type":"object","properties":{"hours":{"type":"number","minimum":0,"maximum":23},"minutes":{"type":"number","minimum":0,"maximum":59}},"required":["hours","minutes"]},"PodClosedTimeOverrideCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PodClosedTimeOverrideDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"PodClosedTimeOverrideDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"days":{"type":"array","items":{"type":"number","maximum":6,"minimum":0}},"from":{"$ref":"#/components/schemas/TimeDto"},"to":{"$ref":"#/components/schemas/TimeDto"}},"required":["id","days","from","to"]},"PodGuestsDto":{"type":"object","properties":{"private":{"$ref":"#/components/schemas/ExtraGuestsDto"},"coach":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/ExtraGuestsDto"}]}},"required":["private","coach"]},"ExtraGuestsDto":{"type":"object","properties":{"min":{"type":"string"},"max":{"type":"string"}},"required":["min","max"]},"PodSettingsCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PodSettingDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"PodSettingDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"value":{"type":"object"}},"required":["id","value"]},"EventTableCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EventTableDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"EventTableDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","enum":["FIXED_TABLE","AUTO"]},"table":{"$ref":"#/components/schemas/ItemRefDto"},"startTime":{"format":"date-time","type":"string","readOnly":true},"endTime":{"format":"date-time","type":"string","readOnly":true},"features":{"type":"array","items":{"type":"string","enum":["REPLAYS","QUICK_REPLAYS","CUSTOM_REPLAYS","ENHANCED_REPLAYS","SCOREBOARD","ROBOT","PRIVATE"]}},"status":{"type":"string","enum":["INVALID","CONFIRMED"],"readOnly":true},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"_links":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/LinksDto"}]}},"required":["id","type","table","startTime","endTime","features","status","errors","_links"]},"AccessDto":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["OPEN","RESTRICTED"],"readOnly":true},"startTime":{"format":"date-time","type":"string","readOnly":true},"endTime":{"format":"date-time","type":"string","readOnly":true}},"required":["id","type","startTime","endTime"]},"GuestsDto":{"type":"object","properties":{"displayName":{"type":"string"},"displayNameShort":{"type":"string"},"max":{"type":"number","nullable":true}},"required":["displayName","displayNameShort","max"]},"ReservationCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReservationDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"ReservationDto":{"type":"object","properties":{"id":{"type":"string"},"startTime":{"format":"date-time","type":"string"},"endTime":{"format":"date-time","type":"string"},"tableAssignment":{"type":"string","enum":["PENDING","LOCKED_BY_SYSTEM","LOCKED_BY_USER","LOCKED_BY_ADMIN","CANCELED_BY_USER","CANCELED_BY_ADMIN"]},"sessions":{"$ref":"#/components/schemas/ReservationSessionCollectionDto"},"pod":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"table":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"coach":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"guests":{"type":"number","nullable":true},"charges":{"$ref":"#/components/schemas/CollectionRefDto"},"quickReplays":{"$ref":"#/components/schemas/CollectionRefDto"},"customReplays":{"$ref":"#/components/schemas/CollectionRefDto"},"_links":{"type":"object"}},"required":["id","startTime","endTime","tableAssignment","sessions","pod","table","coach","guests","charges","quickReplays","customReplays","_links"]},"ReservationSessionCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReservationSessionDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"ReservationSessionDto":{"type":"object","properties":{"id":{"type":"string"},"session":{"$ref":"#/components/schemas/ItemRefDto"},"coupon":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"charge":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","session","coupon","charge","_links"]},"EventAdmissionRatingDto":{"type":"object","properties":{"minRating":{"type":"number"},"maxRating":{"type":"number"},"type":{"type":"string","enum":["SINGLES","DOUBLES"]}},"required":["minRating","maxRating","type"]},"EventAdmissionRateDto":{"type":"object","properties":{"regular":{"type":"number"},"member":{"type":"number","readOnly":true},"membersDefault":{"type":"number"},"dayPass":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PodPassRateDto"}]},"memberships":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/EventAdmissionRateMembershipCollectionDto"}]},"chargingStrategy":{"type":"string","enum":["spot+","court+"],"nullable":true},"_links":{"type":"object"}},"required":["regular","member","membersDefault","dayPass","memberships","chargingStrategy","_links"]},"PodPassRateDto":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"rate":{"type":"number"}},"required":["id","displayName","rate"]},"EventAdmissionRateMembershipCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EventAdmissionRateMembershipDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"EventAdmissionRateMembershipDto":{"type":"object","properties":{"membership":{"$ref":"#/components/schemas/ItemRefDto"},"rate":{"type":"number"}},"required":["membership","rate"]},"EventAdmissionDateDto":{"type":"object","properties":{"regular":{"format":"date-time","type":"string","nullable":true},"member":{"format":"date-time","type":"string","readOnly":true,"nullable":true},"membersDefault":{"format":"date-time","type":"string","nullable":true},"memberships":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/EventAdmissionDateMembershipCollectionDto"}]},"_links":{"type":"object"}},"required":["regular","member","membersDefault","memberships","_links"]},"EventAdmissionDateMembershipCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EventAdmissionDateMembershipDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"EventAdmissionDateMembershipDto":{"type":"object","properties":{"membership":{"$ref":"#/components/schemas/ItemRefDto"},"date":{"format":"date-time","type":"string"}},"required":["date"]},"TournamentDivisionDto":{"type":"object","properties":{"id":{"type":"string","description":"Tournament Division ID","readOnly":true},"tournament":{"description":"Tournament ID","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"provider":{"type":"string","enum":["SWISH","PODPLAY"]},"swish":{"description":"Tournament data specific to Swish","allOf":[{"$ref":"#/components/schemas/SwishDto"}]},"podplay":{"description":"Tournament data specific to PodPlay","allOf":[{"$ref":"#/components/schemas/PodPlayTournamentDto"}]},"status":{"type":"string","enum":["DRAFT","SUCCESS","FAILED"],"description":"Current status of the tournament","readOnly":true},"createdAt":{"format":"date-time","type":"string","description":"When the tournament was created","readOnly":true},"event":{"description":"ID of the event the tournament is associated with","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"lastSyncedAt":{"format":"date-time","type":"string","description":"Last time the tournament was synced with the provider"},"visibility":{"type":"string","enum":["HIDDEN","VISIBLE"],"description":"Visibility status: HIDDEN (admin only), VISIBLE (shown to users), or null"},"_links":{"type":"object","readOnly":true}},"required":["id","tournament","provider","event","_links"]},"SwishDto":{"type":"object","properties":{"eventFormat":{"type":"string","enum":["regular_play","rotating_partners_round_robin","set_partners_round_robin","mixed_gender_round_robin","custom_team_format","minor_league_pickleball_round_robin","king_of_the_court","league-rotating_partners_round_robin","league-set_partners_round_robin","league-mixed_gender_round_robin","ladder-league-rotating_partners_round_robin","league-king_of_the_court","league-custom_team_format","league-minor_league_pickleball_round_robin"]},"gameId":{"type":"string"},"editPlayersPath":{"type":"string"}},"required":["eventFormat","editPlayersPath"]},"PodPlayTournamentDto":{"type":"object","properties":{"eventFormat":{"type":"string","description":"The event format for PodPlay tournaments"},"gameId":{"type":"string","description":"Game ID from PodPlay provider"},"url":{"type":"string","description":"URL to the tournament in PodPlay provider"}},"required":["eventFormat","url"]},"EventVisibilityScheduleCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EventVisibilityScheduleDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"EventVisibilityScheduleDto":{"type":"object","properties":{"id":{"type":"string","nullable":true},"event":{"readOnly":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"listDaysBefore":{"type":"number"},"membersOnly":{"type":"boolean","nullable":true},"executed":{"type":"boolean","readOnly":true,"nullable":true},"status":{"type":"string","enum":["INVALID","CONFIRMED"],"nullable":true,"readOnly":true},"errors":{"readOnly":true,"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDto"}},"_links":{"type":"object"}},"required":["id","event","listDaysBefore","membersOnly","executed","status","errors","_links"]},"EventTeamCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EventTeamDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"EventTeamDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the resource"},"_links":{"description":"A `LinksDto` structure containing URL references to propertes that can be expanded","allOf":[{"$ref":"#/components/schemas/LinksDto"}]},"teamLeader":{"$ref":"#/components/schemas/UserProfileDto"},"teamMembers":{"$ref":"#/components/schemas/UserProfileCollectionDto"},"teamMemberCount":{"type":"number"}},"required":["id","teamLeader","teamMembers","teamMemberCount"]},"UserProfileCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserProfileDto"}},"_total":{"type":"number"},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_total","_links"]},"VirtualCreditsTransactionsPaginatedCollectionDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/VirtualCreditsTransactionDto"}},"_pagination":{"$ref":"#/components/schemas/PaginationDto"},"_total":{"type":"number","deprecated":true},"_links":{"$ref":"#/components/schemas/LinksDto"}},"required":["items","_pagination","_total","_links"]},"VirtualCreditsTransactionDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"order":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"user":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"createdAt":{"format":"date-time","type":"string","readOnly":true},"amountType":{"type":"string","enum":["INCOME","OUTCOME"]},"amount":{"type":"number"},"balance":{"type":"number","readOnly":true},"source":{"type":"string","enum":["BOOKING","EVENT_SIGNUP","SYSTEM","CANCELLATION","RESCHEDULE","REFUND","CUSTOMER_SERVICE","INVITATION","SQUARE_GIFT_CARD"],"readOnly":true},"reason":{"type":"string"},"updatedBy":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ItemRefDto"}]},"_links":{"type":"object"}},"required":["id","order","user","createdAt","amountType","amount","balance","source","updatedBy","_links"]},"ErrorDto":{"type":"object","properties":{"statusCode":{"type":"number","readOnly":true},"message":{"type":"object","readOnly":true},"error":{"type":"string","readOnly":true}},"required":["statusCode","message","error"]}}},"paths":{"/orders":{"post":{"operationId":"OrdersController_create","parameters":[{"name":"isAdminAppliedCharge","required":false,"in":"query","explode":true,"schema":{"type":"boolean"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderCreationDto"}}}},"responses":{"201":{"description":"Returns an `Order`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderDto"}}}},"409":{"description":"Returns an error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorDto"}}}},"422":{"description":"Returns an `ErrorDto` in case of validation errors or failures.<br/><br>Possible error codes are:<br>`EO000`: This action requires a logged in user.<br>`EO042`: Order amount exceeds role limit.<br>`EO001`: Items quantity must be greater than 0.<br>`EO002`: Invalid item ids provided.<br>`EO003`: No items provided.<br>`EO004`: Quantity must be a round number.<br>`EO005`: Charge amount must be greater than 0.<br>`EO010`: There's no payment method set up.<br>`EO011`: The payment method configured is not active. Please, add a new one.<br>`EO012`: The amount of virtual credits exceeds the account balance.<br>`EO020`: Could not process vending machine order.<br>`EO030`: Unable to find the event.<br>`EO040`: Unable to authorize the payment method. Please try using a different one.<br>`EO041`: Prepaid cards are not accepted, please use a credit or debit card.<br>`EO043`: Could not process the payment in the terminal.<br>`EO044`: Could not update virtual credits for user.<br>`RA001`: Could not confirm the payment. Please try again.<br>`EO050`: Cannot create an order without a location.<br>`EO051`: Membership subscription payment link is no longer valid.<br>`EO052`: No active membership subscription found for user."}},"tags":["Orders"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.podplay.app/api/use-cases/use-case-charging-products.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
