### GET /restapi/v2.0/booking/{bookingId}/invoices Source: https://api-docs.bokun.dev/rest-v2.yaml Note that some invoices may not be visible to you depending on your role in this booking. For example, you will not be able to see customer invoice(s) if you act as a supplier and this booking was resold by someone else. In such case, the returned part of the object dedicated for customer invoices will be empty. Same if relevant invoices will be absent, e.g. seller invoice might be absent if booking was sold by supplier. ```markdown ### Parameters - **invoiceType** (BookingInvoicesRequestTypeDto, query, required): type of invoices to bring back - **includeHistoric** (boolean, query, optional): If set to true, this will bring back earlier invoices for given booking, not just the currently active invoice. Earlier invoices might exist if this particular booking was amended or cancelled etc. This value is false by default / on omission. - **bookingId** (integer (int64), path, required): ID of booking. Note this is the ID of booking and not activity/experience booking. Also note this is booking ID and not booking reference. ### Responses #### 200 - Successful operation **BookingInvoicesDto** - **bookingId** (integer (int64)) (required): ID of the booking these invoices are for - **activeCustomerInvoice** (object) - **id** (integer (int64)) (required): ID of this invoice - **issued** (integer (int64)) (required): Number of milliseconds since January 1, 1970, 00:00:00 UTC - **currency** (string) (required): ISO 4217 currency code. The currency for all of line items / totals of this invoice. - **lineItems** (array (InvoiceLineItemDto)) (required) Array items: - **ref** (string) (required): string reference for this line item. Unique among all other references and could be used as a string ID. - **title** (string) (required): name for this line item (example: "Adults") - **quantity** (integer (int32)) (required): How many items have been booked? - **unitPrice** (string (number)) (required): How much would it cost (pre-tax, pre-discount) if the quantity was 1. [BigDecimal format](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html#%3Cinit%3E(java.lang.String)) - **discountPercentage** (string (number)): How much discount (as a percentage value) was applied to this line item. [BigDecimal format](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html#%3Cinit%3E(java.lang.String)) - **discountAmount** (string (number)): How much discount (as the monetary value) applied to this line item. [BigDecimal format](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html#%3Cinit%3E(java.lang.String)) - **taxId** (integer (int64)): ID of Tax object used to compute this line item (if present). Otherwise absent/null. - **taxPercentage** (string (number)): Tax percentage. Present if taxId is present and vice versa. [BigDecimal format](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html#%3Cinit%3E(java.lang.String)) - **taxAmount** (string (number)): Tax amount amount for this line item. Present if taxId is present and vice versa. [BigDecimal format](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html#%3Cinit%3E(java.lang.String)) - **taxIncluded** (boolean): if true it means that tax amount is already incorporated into unitPrice. If false it means that this amount will be added on top of unit price. Present if taxId is present and vice versa - **total** (string (number)): Total amount for this line item. [BigDecimal format](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html#%3Cinit%3E(java.lang.String)) - **pricingCategoryId** (integer (int64)): If this line item was the cause of a pricing category booked (either as extra, pickup, dropoff or standalone product), this will point to pricing category id. Absent if per-booking etc. - **extraId** (integer (int64)): If this line item was the cause of an extra being booked, this will point to extra id - **pickup** (boolean): If this line item was the cause of a pickup being booked, this will be set to true. Otherwise false - **dropoff** (boolean): If this line item was the cause of a dropoff being booked, this will be set to true. Otherwise false - **rateId** (integer (int64)): This will point to the rate ID booked, if the line item is applicable to a rate (as opposed to e.g. custom fees etc) - **commissionPercentage** (string (number)): Commission percentage for this line item. Pertains to `SellerInvoiceDto`, `AgentInvoiceDto` and `AffiliateInvoiceDto` objects only, otherwise null/absent. [BigDecimal format](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html#%3Cinit%3E(java.lang.String)) - **commissionAmount** (string (number)): Commission amount for this line item. Pertains to `SellerInvoiceDto`, `AgentInvoiceDto` and `AffiliateInvoiceDto` objects only, otherwise null/absent. [BigDecimal format](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html#%3Cinit%3E(java.lang.String)) - **experienceId** (integer (int64)): refers to experience product id in Bokun if this line item relates to it directly or indirectly (e.g. adult ticket or extra or pickup was purchased which is part of relevant experience product) - **experienceExternalId** (string): refers to experience product external id if this line item relates to it directly or indirectly (e.g. adult ticket or extra or pickup was purchased which is part of relevant experience product) - **giftCardId** (integer (int64)): refers to gift card product id in Bokun if a gift card was booked - **experienceBookingId** (integer (int64)): refers to experience booking ID (aka Activity booking ID) if available - **total** (string (number)) (required): Total for this invoice. That is the sum of all line items, including taxes, discounts, fees, promo codes etc. - **issuerTimeZone** (string) (required): Time zone of the issuer vendor. IANA/Olson style format. (example: "\"Europe/Vilnius\", \"PST\", \"UTC\"") - **recipientTimeZone** (string): Time zone of the recipient entity (could be vendor or agent, depends on the context) if known. IANA/Olson style format. (example: "\"Europe/Vilnius\", \"PST\", \"UTC\"") - **issuerVendorId** (integer (int64)) (required): ID of the vendor (MarketplaceVendorDto::ID) who has issued this invoice. - **promoCodeId** (integer (int64)): ID of promo code if applied during the payment of this booking - **customerId** (integer (int64)) (required): ID of the customer (CustomerDto::id) for this booking - **fees** (array (FeeDto)) (required): Any fees if applied for this invoice Array items: - **title** (string) (required): Fee title - **amount** (string (number)) (required): fee amount. Currency is normally part of the outer object which encloses this one - **historicCustomerInvoices** (array (CustomerInvoiceDto)) (required): previous customer invoices for this booking (if they exist and the requester has access to it), otherwise empty list Array items: - **activeAffiliateInvoice** (object) - **historicAffiliateInvoices** (array (AffiliateInvoiceDto)) (required): previous affiliate invoices for this booking (if they exist and the requester has access to them), otherwise empty list Array items: - **activeAgentInvoice** (object) - **historicAgentInvoices** (array (AgentInvoiceDto)) (required): previous agent invoices for this booking (if they exist and the requester has access to them), otherwise empty list Array items: - **sellerInvoices** (object) (required): a map where keys are activity booking IDs in string format, and value is object pointing to active/historic invoices #### 400 - Invalid invoiceType or includeHistoric values supplied **StandardErrorDto** - **error** (string) (required): Error text #### 403 - No permissions to access this booking **StandardErrorDto** - **error** (string) (required): Error text #### 429 - Number of requests over allocated quota **StandardErrorDto** - **error** (string) (required): Error text ### Example Usage ```bash curl -X GET "https://api.bokuntest.com/restapi/v2.0/booking/{bookingId}/invoices?invoiceType=value&includeHistoric=true" ``` ``` -------------------------------- ### Schema: ExperienceStartTimeDto Source: https://api-docs.bokun.dev/rest-v2.yaml Contains details about each start time. Note that if you want to assign this start time to specific rate(s), this is managed in rate settings. ```markdown ## Schema: ExperienceStartTimeDto Contains details about each start time. Note that if you want to assign this start time to specific rate(s), this is managed in rate settings. **Type:** object - **id** (integer (int64)): ID of this start time - **externalId** (string): Used to refer to an ID in another system (e.g. origin system) as well as for various relationships. For example, externalId can be used to reference a particular start time in rate settings on product creation. Each context might enforce own uniqueness criteria. - **label** (string): (internal) label for this start time. Available only if `ExperienceBookingTypeDto=DATE_AND_TIME`. Internal labels are only visible for the supplier - **externalLabel** (string): (external) label for this start time. Widgets will display this label next to their start time / departure. Available only if `ExperienceBookingTypeDto=DATE_AND_TIME`. - **hour** (integer (int32)): hour of day when this event starts. Works hand in hand with minute. Available only if `ExperienceBookingTypeDto=DATE_AND_TIME`. - **minute** (integer (int32)): minute of hour of day when this event starts. Available only if `ExperienceBookingTypeDto=DATE_AND_TIME`. - **overrideTimeWhenPickup** (boolean): if true and pickup enabled, this will signal the fact that start time will be different if pickup is booked. Available only if `ExperienceBookingTypeDto=DATE_AND_TIME`. Defaults to false if not specified. - **pickupHour** (integer (int32)): hour of day when pickup starts. Works hand in hand with pickup minute. Available only if `ExperienceBookingTypeDto=DATE_AND_TIME`. Defaults to 0 if not specified. - **pickupMinute** (integer (int32)): minute of hour of day when pickup starts for this event. Works hand in hand with pickup hour. Available only if `ExperienceBookingTypeDto=DATE_AND_TIME`. Defaults to 0 if not specified. - **voucherPickupMsg** (string): Message to display on the ticket, if and only if this start time is booked with pick up. Available only if `ExperienceBookingTypeDto=DATE_AND_TIME`. - **durationMinutes** (integer (int32)): duration of event if this start time is booked (minutes part). Available only if `ExperienceBookingTypeDto=DATE_AND_TIME`. Defaults to 0 if not specified. - **durationHours** (integer (int32)): duration of event if this start time is booked (hours part). Available only if `ExperienceBookingTypeDto=DATE_AND_TIME`. Defaults to 0 if not specified. - **durationDays** (integer (int32)): duration of event if this start time is booked (days part). Available only if `ExperienceBookingTypeDto=DATE_AND_TIME`. Defaults to 0 if not specified. - **durationWeeks** (integer (int32)): duration of event if this start time is booked (weeks part). Available only if `ExperienceBookingTypeDto=DATE_AND_TIME`. Defaults to 0 if not specified. - **comboStartTimeMappings** (array (ExperienceComboStartTimeMappingDto)): this is only allowed if parent product is combo. Combo products are required to have their start times mapped against start times of other products (own or resold). Array items: - **id** (integer (int64)) - **comboChildStartTimeId** (integer (int64)) (required): must contain reference to `ExperienceStartTimeDto::id` of combo child product. Product must active and published. Can be own or contracted. - **inheritPickupFromParent** (boolean) (required): if true, it will inherit pickup settings from the parent combo. Otherwise, `pickupPlace` must be specified. - **pickupPlace** (string): pickup place to use if `inheritPickupFromParent = false` - **dropoffPlace** (string) - **rateMappings** (array (ExperienceComboRateMappingDto)) (required) Array items: - **comboParentRate** (object) (required): this object wraps id (of some entity, type depends on context) as well as external id. External id refers to id on another platform than Bokun but allows referencing it as a convenience. At least one of `id`, `externalId` must be passed. In most cases, passing both IDs is OK as long as they refer to the same object. - **id** (integer (int64)) - **externalId** (string) - **comboChildRateId** (integer (int64)) (required): Rate id (`ExperienceRateDto.id`) of the rate that is being mapped against parent rate. External IDs not accepted. - **pricingCategoryMappings** (array (ExperienceComboPricingCategoryMappingDto)) (required) Array items: - **comboParentPricingCategoryId** (integer (int64)) (required): refers to `PricingCategoryDto::id` of parent combo product - **comboChildPricingCategoryId** (integer (int64)) (required): refers to `PricingCategoryDto::id` of child combo product ``` -------------------------------- ### GET /restapi/v2.0/allocations Source: https://api-docs.bokun.dev/rest-v2.yaml API endpoint for GET /restapi/v2.0/allocations ```markdown ### Parameters - **startTimeId** (array (integer (int64)), query, optional): allows filtering by specific start times if specified. Multiple entries can be specified, too. - **pageNo** (integer (int32), query, required): Page number, zero based - **pageSize** (integer (int32), query, required): Page size (how many max items per single page) ### Responses #### 200 - Successful operation **ExperienceAllocationsPagedListDto** - **pageNo** (integer (int32)) (required): page number, zero based - **pageSize** (integer (int32)) (required): page size (how many items in a single page) - **totalPageCount** (integer (int32)) (required): how many pages are there in total? - **totalCount** (integer (int32)) (required): how many rows are there in total? - **items** (array (ExperienceAllocationDto)) (required) Array items: - **id** (integer (int64)): ID of this allocation rule - **title** (string) (required) - **start** (string (date)): since when does this rule apply from? Optional, inclusive. - **end** (string (date)): until when does this rule apply to? Optional, inclusive. - **deadline** (integer (int32)) (required): This rule ceases to be valid for a specific departure slot when there are less than specified number of hours left till departure. For example, if the value is 1, then availability restriction applies always except when 1 hour (or less) is left till departure. - **resellerIds** (array (integer (int64))) (required): for which vendor (reseller) IDs this rule applies. The list should not contain supplier own id. Rule will match instantly if the incoming availability check will originate from vendors specified in this list. The list can be empty but only if at least one value is specified in `bookingChannelIds`. - **supplierBookingChannelIds** (array (integer (int64))) (required): for which booking channel IDs this rule applies. Rule will match instantly if the incoming availability check will originate from a booking channel specified here. Note that channels in this list can only be those owned by the supplier of the product. Booking channel(s) of reseller vendor(s) should not be specified here. The list can be empty but only if at least one value is specified in `resellerIds`. - **startTimeIds** (array (integer (int64))) (required): which start times does this rule apply to. Note that multiple rules linked against the same start time can not have common `resellerId`s or `supplierBookingChannelId`s. The IDs here refer to `ExperienceStartTimeDto::id`. The list can be empty meaning that no start time is using this. - **guaranteedSeatPercentage** (integer (int32)): How many percent (of total availability for given slot) should this rule guarantee to all linked resellers/booking channels combined (not each!). These guaranteed seats will not be granted to anybody else unless the allocation date range doesn't apply or the deadline passes. Note that guaranteed seats can be expressed either as percentage (this attribute) or raw number (`guaranteedSeatCount`). Zero value is a valid option meaning the rule will work as a limiting rule only without any guarantees. - **guaranteedSeatCount** (integer (int32)): same as `guaranteedSeatPercentage` but expressed as raw number as opposed to percentage. - **seatLimitPercentage** (integer (int32)): How many percent (of total availability for given slot) should this rule cap for the linked resellers/booking channels together (not each!). The cap is valid as long as the rule applies. Note that either percentage expression or raw number must be specified but not both. - **seatLimitCount** (integer (int32)): same as `seatLimitPercentage` except expressed as a raw number instead of percent. #### 400 - Invalid query parameters **StandardErrorDto** - **error** (string) (required): Error text #### 429 - Number of requests over allocated quota **StandardErrorDto** - **error** (string) (required): Error text ### Example Usage ```bash curl -X GET "https://api.bokuntest.com/restapi/v2.0/allocations?startTimeId=item1,item2&pageNo=0&pageSize=0" ``` ``` -------------------------------- ### Schema: ExperienceCutoffDto Source: https://api-docs.bokun.dev/rest-v2.yaml mandatory if new product is created, optional if updated. ```markdown ## Schema: ExperienceCutoffDto mandatory if new product is created, optional if updated. **Type:** object - **type** (string (RELATIVE_TO_START_TIME|RELATIVE_TO_WORKING_HOURS_OPEN|RELATIVE_TO_WORKING_HOURS_CLOSE|RELATIVE_TO_ONE_SET_TIME)) (required) ("RELATIVE_TO_START_TIME"|"RELATIVE_TO_WORKING_HOURS_OPEN"|"RELATIVE_TO_WORKING_HOURS_CLOSE"|"RELATIVE_TO_ONE_SET_TIME") - **referenceHour** (integer): must be specified if `type == RELATIVE_TO_ONE_SET_TIME`. Refers to some particular time (hour of day, 24hr format) along with `referenceMinute`. Cutoff will be applied in relation to this time. - **referenceMinute** (integer): must be specified if `type = RELATIVE_TO_ONE_SET_TIME`. Refers to some particular time (minute of hour) along with `referenceHour`. Cutoff will be applied in relation to this time. - **minutes** (integer) (required): cutoff time (minutes part) - **hours** (integer) (required): cutoff time (hours part) - **days** (integer) (required): cutoff time (days part) - **weeks** (integer) (required): cutoff time (weeks part) ``` -------------------------------- ### GET /restapi/v2.0/resources Source: https://api-docs.bokun.dev/rest-v2.yaml API endpoint for GET /restapi/v2.0/resources ```markdown ### Parameters - **pageNo** (integer (int32), query, required): Page number, zero based - **pageSize** (integer (int32), query, required): Page size (how many max items per single page) - **poolId** (integer (int64), query, optional): Resource pool ID. If set, will only return resources linked to specified requested pool. ### Responses #### 200 - Successful operation **ResourcePagedListDto** - **pageNo** (integer (int32)) (required): page number, zero based - **pageSize** (integer (int32)) (required): page size (how many items in a single page) - **totalPageCount** (integer (int32)) (required): how many pages are there in total? - **totalCount** (integer (int32)) (required): how many rows are there in total? - **items** (array (ResourceDto)) (required) Array items: - **id** (integer (int64)): ID of this resource - **title** (string) (required): title of this resource - **capacity** (integer (int32)) (required): how many (seats, passengers, etc.) can this resource handle at any given time slot? - **created** (integer (int64)): Number of milliseconds since January 1, 1970, 00:00:00 UTC - **lastModified** (integer (int64)): Number of milliseconds since January 1, 1970, 00:00:00 UTC - **resourcePoolIds** (array (integer (int64))) (required) - **userId** (integer (int64)): if this resource is associated to an extranet user, this field will be initialized with the extranet user id, otherwise empty/omitted #### 400 - Invalid or missing mandatory query parameters **StandardErrorDto** - **error** (string) (required): Error text #### 403 - Illegal query parameters **StandardErrorDto** - **error** (string) (required): Error text #### 429 - Number of requests over allocated quota **StandardErrorDto** - **error** (string) (required): Error text ### Example Usage ```bash curl -X GET "https://api.bokuntest.com/restapi/v2.0/resources?pageNo=0&pageSize=0&poolId=0" ``` ``` -------------------------------- ### Schema: ExperienceComboSettingsDto Source: https://api-docs.bokun.dev/rest-v2.yaml enabling combo unlocks `ExperienceStartTimeDto::comboStartTimeMappings`. ```markdown ## Schema: ExperienceComboSettingsDto enabling combo unlocks `ExperienceStartTimeDto::comboStartTimeMappings`. **Type:** object - **isCombo** (boolean) (required): true if this experience product is a combo of other products, false otherwise - **ticketPerComboComponent** (boolean): if true, customer gets tickets for each combo part as well as a ticket for the combo itself. If false, ticket will only be sent for combo parent. This field is mandatory if `isCombo=true`. - **ticketComboComponents** (array (integer (int64))): mandatory if `ticketPerComboComponent=true`. This specifies IDs of combo parts (experience product IDs) for which tickets should be sent. ``` -------------------------------- ### Schema: ExperienceGuidedLanguagesDto Source: https://api-docs.bokun.dev/rest-v2.yaml keys are strings limited to `ExperienceGuidanceTypeDto` type and values are arrays of strings. ```markdown ## Schema: ExperienceGuidedLanguagesDto keys are strings limited to `ExperienceGuidanceTypeDto` type and values are arrays of strings. **Type:** object - **keyType** (string (GUIDED|HEADPHONES|READING_MATERIAL)) ("GUIDED"|"HEADPHONES"|"READING_MATERIAL") ``` -------------------------------- ### GET /restapi/v2.0/resource/pools Source: https://api-docs.bokun.dev/rest-v2.yaml API endpoint for GET /restapi/v2.0/resource/pools ```markdown ### Parameters - **pageNo** (integer (int32), query, required): Page number, zero based - **pageSize** (integer (int32), query, required): Page size (how many max items per single page) ### Responses #### 200 - Successful operation **ResourcePoolPagedListDto** - **pageNo** (integer (int32)) (required): page number, zero based - **pageSize** (integer (int32)) (required): page size (how many items in a single page) - **totalPageCount** (integer (int32)) (required): how many pages are there in total? - **totalCount** (integer (int32)) (required): how many rows are there in total? - **items** (array (ResourcePoolDto)) (required) Array items: - **id** (integer (int64)): ID of this resource pool - **title** (string) (required): title of this resource pool - **created** (integer (int64)): Number of milliseconds since January 1, 1970, 00:00:00 UTC - **lastModified** (integer (int64)): Number of milliseconds since January 1, 1970, 00:00:00 UTC - **resourceIds** (array (integer (int64))) (required) - **links** (array (ResourcePoolLinkDto)) (required) Array items: - **experienceStartTimeId** (integer (int64)) (required): ID of connected start time - **allocationPolicy** (string (ROUND_ROBIN|ORDERLY|EMPTY_THEN_STICK|EMPTY_THEN_PRIVATE|MANUAL)) (required) ("ROUND_ROBIN"|"ORDERLY"|"EMPTY_THEN_STICK"|"EMPTY_THEN_PRIVATE"|"MANUAL") #### 400 - Invalid or missing mandatory query parameters **StandardErrorDto** - **error** (string) (required): Error text #### 429 - Number of requests over allocated quota **StandardErrorDto** - **error** (string) (required): Error text ### Example Usage ```bash curl -X GET "https://api.bokuntest.com/restapi/v2.0/resource/pools?pageNo=0&pageSize=0" ``` ``` -------------------------------- ### GET /restapi/v2.0/experiences/ids Source: https://api-docs.bokun.dev/rest-v2.yaml API endpoint for GET /restapi/v2.0/experiences/ids ```markdown ### Parameters - **activated** (boolean, query, optional): if true, only return activated experience products. If false - only return deactivated experience products. If omitted, both types will be returned. ### Responses #### 200 - Successful operation - Array of integer #### 429 - Number of requests over allocated quota **StandardErrorDto** - **error** (string) (required): Error text ### Example Usage ```bash curl -X GET "https://api.bokuntest.com/restapi/v2.0/experiences/ids?activated=true" ``` ``` -------------------------------- ### Schema: ExperienceTicketDto Source: https://api-docs.bokun.dev/rest-v2.yaml product ticket settings ```markdown ## Schema: ExperienceTicketDto product ticket settings **Type:** object - **barcodeFormat** (string (QR_CODE|CODE_128|PDF_417|DATA_MATRIX|AZTEC|NONE)) ("QR_CODE"|"CODE_128"|"PDF_417"|"DATA_MATRIX"|"AZTEC"|"NONE") - **ticketPerPerson** (boolean) (required): if true, a ticket is issued per each passenger. If false, a single ticket is issued for all recipients of the same booking - **ticketMsg** (string): message to show on the ticket. This message will be visible on all tickets for this experience booking ``` -------------------------------- ### GET /restapi/v2.0/pricing/schedules Source: https://api-docs.bokun.dev/rest-v2.yaml API endpoint for GET /restapi/v2.0/pricing/schedules ```markdown ### Parameters - **pageNo** (integer (int32), query, required): Page number, zero based - **pageSize** (integer (int32), query, required): Page size (how many max items per single page) ### Responses #### 200 - Successful operation **PriceSchedulesPagedListDto** - **pageNo** (integer (int32)) (required): page number, zero based - **pageSize** (integer (int32)) (required): page size (how many items in a single page) - **totalPageCount** (integer (int32)) (required): how many pages are there in total? - **totalCount** (integer (int32)) (required): how many rows are there in total? - **items** (array (PriceScheduleDto)) (required) Array items: - **id** (integer (int64)) (required): ID of this price schedule - **title** (string) (required): title of this price schedule - **creationDate** (integer (int64)) (required): Number of milliseconds since January 1, 1970, 00:00:00 UTC - **lastModifiedDate** (integer (int64)): Number of milliseconds since January 1, 1970, 00:00:00 UTC - **recurrenceRule** (object) (required) - **startDate** (string (date)): when does this recurrence rule start (year/month/day of month) - **endDate** (string (date)): when does this recurrence rule stop (year/month/day of month). Optional. - **byWeekday** (array (DayOfWeekDto)): on which days of week does this event occur? If omitted, it is assumed it occurs on every day of the week. Note this works in conjunction with byMonth. If both are defined, the result will be conjunction of these sets. - **byMonth** (array (MonthDto)): on which days of month does this event occur? If omitted, it is assumed it occurs on every day of the month. Note this works in conjunction with byWeekday. If both are defined, the result will be conjunction of these sets. #### 400 - Invalid arguments **StandardErrorDto** - **error** (string) (required): Error text #### 429 - Number of requests over allocated quota **StandardErrorDto** - **error** (string) (required): Error text ### Example Usage ```bash curl -X GET "https://api.bokuntest.com/restapi/v2.0/pricing/schedules?pageNo=0&pageSize=0" ``` ``` -------------------------------- ### Schema: ExperienceBoxSettingsDto Source: https://api-docs.bokun.dev/rest-v2.yaml box is a wrapper around another product which allows certain level of customization. The following fields are permitted to be overridden`:` title, description, photos and videos, externalId ```markdown ## Schema: ExperienceBoxSettingsDto box is a wrapper around another product which allows certain level of customization. The following fields are permitted to be overridden`:` title, description, photos and videos, externalId **Type:** object - **isBox** (boolean) (required): if true, this product will be created as box and will require experience product ID which you are boxing. - **boxedProductId** (integer (int64)): this should refer to another product ID which is being boxed. Only own or contracted non-boxed, non-combo products can be boxed. - **overridePhotosVideos** (boolean): whether this box is allowed to override photos and videos of its parent. Mandatory if `isBox` is `true` - **overrideCustomInputFieldValues** (boolean): whether this box is allowed to override custom input field values of its parent. Mandatory if `isBox` is `true` - **overrideItinerary** (boolean): whether this box is allowed to override itinerary of its parent. Mandatory if `isBox` is `true` ``` -------------------------------- ### GET /restapi/v2.0/taxes Source: https://api-docs.bokun.dev/rest-v2.yaml API endpoint for GET /restapi/v2.0/taxes ```markdown ### Parameters - **pageNo** (integer (int32), query, required): Page number, zero based - **pageSize** (integer (int32), query, required): Page size (how many max items per single page) ### Responses #### 200 - Successful operation **TaxesPagedListDto** - **pageNo** (integer (int32)) (required): page number, zero based - **pageSize** (integer (int32)) (required): page size (how many items in a single page) - **totalPageCount** (integer (int32)) (required): how many pages are there in total? - **totalCount** (integer (int32)) (required): how many rows are there in total? - **items** (array (TaxDto)) (required) Array items: - **id** (integer (int64)) (required): ID of this tax - **title** (string) (required): title for this tax object - **included** (boolean) (required): true if this tax object is inclusive (tax amount is already included when displaying rack rate price), false if excluded (tax amount is added on top at later booking stages) - **roundingMode** (string (UP|DOWN|CEILING|FLOOR|HALF_UP|HALF_DOWN|HALF_EVEN|UNNECESSARY)) (required): This object mimics Java's `java.math.RoundingMode`: * `UP` - Rounding mode to round away from zero. Always increments the digit prior to a non-zero discarded fraction. Note that this rounding mode never decreases the magnitude of the calculated value. * `DOWN` - Rounding mode to round towards zero. Never increments the digit prior to a discarded fraction (i.e., truncates). Note that this rounding mode never increases the magnitude of the calculated value. * `CEILING` - Rounding mode to round towards positive infinity. If the result is positive, behaves as for `UP`; if negative, behaves as for `DOWN`. Note that this rounding mode never decreases the calculated value. * `FLOOR` - Rounding mode to round towards negative infinity. If the result is positive, behave as for `DOWN`; if negative, behave as for `UP`. Note that this rounding mode never increases the calculated value. * `HALF_UP` - Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up. Behaves as for `UP` if the discarded fraction is ≥ 0.5; otherwise, behaves as for `DOWN`. Note that this is the rounding mode commonly taught at school. * `HALF_DOWN` - Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down. Behaves as for `UP` if the discarded fraction is > 0.5; otherwise, behaves as for `DOWN`. * `HALF_EVEN` - Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor. Behaves as for `HALF_UP` if the digit to the left of the discarded fraction is odd; behaves as for `HALF_DOWN` if it's even. Note that this is the rounding mode that statistically minimizes cumulative error when applied repeatedly over a sequence of calculations. It is sometimes known as "Banker's rounding," and is chiefly used in the USA. * `UNNECESSARY` - Rounding mode to assert that the requested operation has an exact result, hence no rounding is necessary. ("UP"|"DOWN"|"CEILING"|"FLOOR"|"HALF_UP"|"HALF_DOWN"|"HALF_EVEN"|"UNNECESSARY") - **percentage** (string (number)) (required): Overall tax percentage value, computed from all components. [BigDecimal format](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html#%3Cinit%3E(java.lang.String)) - **components** (array (TaxDtoComponents)) (required): tax components which make up the overall total percentage Array items: - **id** (integer (int64)) (required): ID of this tax component - **title** (string) (required): title of this tax component - **percentage** (string (number)) (required): Percentage of this tax component. [BigDecimal format](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html#%3Cinit%3E(java.lang.String)) - **compounding** (boolean) (required): if true, this tax component will be used by summing up this particular component. For example if tax is made of two 10% *non-compound* components, the overall percentage is `10% + 10% = 20%`. If false, the total percentage is calculated by applying percentage of top of each other. For example if tax is made of two 10% *compound* components, the overall percentage is `(100 * 1.1) * 1.1 = 121`, or 21%. This flag only makes any difference if more than one such flag is present. #### 400 - Invalid arguments **StandardErrorDto** - **error** (string) (required): Error text #### 429 - Number of requests over allocated quota **StandardErrorDto** - **error** (string) (required): Error text ### Example Usage ```bash curl -X GET "https://api.bokuntest.com/restapi/v2.0/taxes?pageNo=0&pageSize=0" ``` ``` -------------------------------- ### Schema: ExperiencePricingDto Source: https://api-docs.bokun.dev/rest-v2.yaml contains a list of pricing rules for extras, pickups, dropoffs as well as experience itself. ```markdown ## Schema: ExperiencePricingDto contains a list of pricing rules for extras, pickups, dropoffs as well as experience itself. **Type:** object - **experiencePriceRules** (array (ExperiencePriceRuleDto)) (required): a list of rules to be used for experience pricing. Previously existing rules should be copied with their IDs, new rules should be added. Omitted rules will be deleted. Array items: - **id** (integer (int64)): price rule id. ID numbering is independent and may clash among different types (extra, pickup and so on). - **rate** (object) (required): this object wraps id (of some entity, type depends on context) as well as external id. External id refers to id on another platform than Bokun but allows referencing it as a convenience. At least one of `id`, `externalId` must be passed. In most cases, passing both IDs is OK as long as they refer to the same object. - **id** (integer (int64)) - **externalId** (string) - **created** (integer (int64)): Number of milliseconds since January 1, 1970, 00:00:00 UTC - **priceCatalogId** (integer (int64)) (required): reference to `PriceCatalogDto::id` - **currency** (string) (required): ISO 4217 currency code. Currency for this price rule. - **amount** (string (number)) (required): price amount for this rule. - **priceScheduleId** (integer (int64)): reference to ID of the price schedule object (TBD). If omitted, price is classified as "base" price. - **pricingCategoryId** (integer (int64)): reference to `PricingCategoryDto::id`. Can only be sent if this price is per person rather than per booking. - **tierId** (integer (int64)): reference to `ExperienceRateTierDto::id` - **extraPriceRules** (array (ExtraPriceRuleDto)) (required): a list of rules to be used for extra pricing. Previously existing rules should be copied with their IDs, new rules should be added. Omitted rules will be deleted. Array items: - **pickupPriceRules** (array (PickupPriceRuleDto)) (required): a list of rules to be used for pickup pricing. Previously existing rules should be copied with their IDs, new rules should be added. Omitted rules will be deleted. Array items: - **dropoffPriceRules** (array (DropoffPriceRuleDto)) (required): a list of rules to be used for dropoff pricing. Previously existing rules should be copied with their IDs, new rules should be added. Omitted rules will be deleted. Array items: - **priceCatalogCurrencies** (array (ExperiencePriceCatalogCurrenciesDto)) (required): a list of currencies configured for each catalog. One entry per one catalog Array items: - **priceCatalogId** (integer (int64)) (required): refers to `PriceCatalogDto::id` - **currencies** (array (string)) (required) - **defaultCurrency** (string) (required): ISO 4217 currency code. The currency for all of line items / totals of this invoice. Must refer to one of the `currencies` listed above ``` -------------------------------- ### GET /restapi/v2.0/marketplace/vendor/self/ Source: https://api-docs.bokun.dev/rest-v2.yaml API endpoint for GET /restapi/v2.0/marketplace/vendor/self/ ```markdown ### Responses #### 200 - Successful operation **MarketplaceVendorDto** - **id** (integer (int64)) (required): ID of this vendor - **title** (string) (required): title (aka name) of this company in the Bokun marketplace - **description** (string): vendor description, as filled by vendor themselves - **company** (object) (required): contains details about the company - **id** (integer (int64)) (required): ID of this company object within Bokun (as opposed to the official company ID or registration number) - **name** (string) (required): official company name - **registrationNumber** (string) (required): company registration number - **vatNumber** (string): company VAT number - **registrationAddress** (object) (required): an object to hold address details - **id** (integer (int64)): ID of this address object - **addressLine1** (string) - **addressLine2** (string) - **addressLine3** (string) - **city** (string) - **state** (string) - **postalCode** (string) - **countryCode** (string): ISO 3166-1 alpha-2 country code. Served as upper case. - **latitude** (number (double)): latitude, as per ISO 6709 - **longitude** (number (double)): longitude, as per ISO 6709 - **googlePlaceId** (string): Google Place ID for this address. Note that in some cases all other items, such as address line 1 etc. might be missing and only this element might be present. - **billingAddress** (object): an object to hold address details - **timeZone** (unknown) (required): IANA/Olson style time zone of this vendor. Note that products might have this overridden. (example: "\"Europe/Vilnius\", \"PST\", \"UTC\"") - **websiteUrl** (unknown): URL of the public website for this vendor - **tripadvisorUrl** (unknown): URL of the public website for this vendor on TripAdvisor - **facebookUrl** (unknown): URL of the public website for this vendor on Facebook - **instagramUrl** (unknown): URL of the public website for this vendor on Instagram - **linkedinUrl** (unknown): URL of the public website for this vendor on LinkedIn - **trustpilotUrl** (unknown): URL of the public website for this vendor on Trustpilot - **twitterUrl** (unknown): URL of the public website for this vendor on Twitter #### 429 - Number of requests over allocated quota **StandardErrorDto** - **error** (string) (required): Error text ### Example Usage ```bash curl -X GET "https://api.bokuntest.com/restapi/v2.0/marketplace/vendor/self/" ``` ```