Create add-on
const url = 'https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/extranet/add-on';const options = { method: 'POST', headers: { 'Wink-Version': '2.0', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"featuredInd":false,"lifestyleType":"LIFESTYLE_HEALTH_FITNESS","location":"","descriptions":[""],"multimedias":[""],"contact":"","address":"","commissionable":true,"name":"","proximityCode":"","sort":"","minAgeAppropriateCode":"","bookable":true,"active":true,"disabilityFeatures":[""],"securityFeatures":[""],"socials":[""],"pricePoint":"HALF","recognitionList":[""],"transactionalInventoryList":[""],"applicableStart":"","applicableEnd":"","reservationRequiredInd":false,"opens":"","closes":"","daysOfWeek":"","numberOfUnits":0,"ratePlanIdentifier":"","mandatory":false,"dateRanges":""}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/extranet/add-on \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Wink-Version: 2.0' \ --data '{ "featuredInd": false, "lifestyleType": "LIFESTYLE_HEALTH_FITNESS", "location": "", "descriptions": [ "" ], "multimedias": [ "" ], "contact": "", "address": "", "commissionable": true, "name": "", "proximityCode": "", "sort": "", "minAgeAppropriateCode": "", "bookable": true, "active": true, "disabilityFeatures": [ "" ], "securityFeatures": [ "" ], "socials": [ "" ], "pricePoint": "HALF", "recognitionList": [ "" ], "transactionalInventoryList": [ "" ], "applicableStart": "", "applicableEnd": "", "reservationRequiredInd": false, "opens": "", "closes": "", "daysOfWeek": "", "numberOfUnits": 0, "ratePlanIdentifier": "", "mandatory": false, "dateRanges": "" }'Creates a new add-on for the property with the provided details. Returns the created add-on record. Requires INVENTORY:WRITE permission on the property.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Property identifier that will own the new add-on
Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69Header Parameters
Section titled “Header Parameters ”Request Body required
Section titled “Request Body required ”object
Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.
Example
falseIndicate the type of lifestyle this blocking should be associated with.
Example
LIFESTYLE_HEALTH_FITNESSGeo-location point where blocking takes place. Defaults to location of property.
object
Example
{ "type": "POINT", "coordinates": [ 100.5581533, 13.7370197 ]}Localized descriptions describing inventory.
object
Use as title or short text description
Example
An example titleLonger text description
Example
This is a longer description in the specified language.Indicate which language this description is written in.
Example
enList of images / videos of blocking.
Multimedia that contains less information than Multimedia object
object
Document identifier
Example
image-1Use this identifier to communicate with Cloudinary.
Example
cloudinary-image-1Whether Cloudinary media is a VIDEO or IMAGE.
Example
IMAGECurrently ONLY using Cloudinary to store all image / video assets.
Example
CLOUDINARYSort allows you to control how you want to sort this record in a list of media records.
Example
10Media angle
Example
-90Media width in pixels.
Example
2560Media height in pixels.
Example
1600Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.
Example
trueLocalized media captions to give user some context about where this media was taken.
object
Use as title or short text description
Example
An example titleLonger text description
Example
This is a longer description in the specified language.Indicate which language this description is written in.
Example
enWhether it was user or system generated.
Example
SYSTEMThe md5 hash of the name, description and language.
Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.
Example
LIFESTYLE_HEALTH_FITNESSWhether image has attribution properties
object
URL to contributor
Example
https://maps.google.com/maps/contrib/111628493169070103594Name of contributor
Example
Samuel AdamsTrue if media width is greater or equal to height
Example
trueAssociate a contact person for this blocking (if applicable).
object
Contact first name
Example
JohnContact last name
Example
SmithContact phone number
Example
+12125551212First and last name
Example
John SmithDefaults to property address.
object
Address line 1
Example
234 Near da beachAddress line 2
Example
Pebble #5001State
Example
CAPostal / zip code
Example
90210County
Example
Alameda countyCity name
Country
Country
Example
United StatesAddress 1, Address 2, City, State, Postal / Zip code, Country
Example
11 At home, Suite 3C, New York City, NY 10010, United StatesIndicate whether sales channels receive commission for selling this blocking.
Example
trueInternal name of blocking.
Example
Archery lessonUse this property to sort an blocking in a list of activities.
Example
1Indicates if this blocking can be added to a booking or if it is read-only marketing material only.
Example
trueModify blocking availability with this flag.
Example
trueSupported OTA specification PHY code. See OTA geoname data
Supported OTA specification SEC code. See OTA geoname data
Social network accounts for blocking (if applicable).
Social network
object
Type of social network.
URL or social network identifier to social network profile
Level of expensiveness.
Example
THREEInventory-level recognition.
Recognition for the ancillary blocking.
object
Recognition identifier.
Example
recognition-1Recognition category.
Example
AWARDType of rating system the recognition operated on. This allows us to display the score properly.
Example
PERCENT_RATINGThe name of the entity that administers this recognition.
Example
MichelinThe actual award or rating received by the hotel facility.
Example
8.5Use this to let hotels indicate what the total score for this award is.
Example
10The date the award was received
Example
2020-10-24When true, this indicates the property has received official permission from the award provider to use the rating in publications and marketing materials; when false this permission has not been granted.
Example
trueProvides the symbol used in the rating. Used in conjunction with the Rating.
Example
*Purchasable items for this blocking.
This is one bookable item that can stand alongside a restaurant / meeting room etc.
object
Unique transactional identifier
Example
travel-blocking-1Internal name of transactional blocking.
Example
1 hour sessionLocalized descriptions describing inventory.
object
Use as title or short text description
Example
An example titleLonger text description
Example
This is a longer description in the specified language.Indicate which language this description is written in.
Example
enWhether it was user or system generated.
Example
SYSTEMThe md5 hash of the name, description and language.
How this blocking item should be priced.
Base price of booking this blocking.
object
If you are selling this blocking at a discount, indicate the discounted selling price. Leave empty if there is no discount.
object
List of images / videos of item.
Multimedia that contains less information than Multimedia object
object
Document identifier
Example
image-1Use this identifier to communicate with Cloudinary.
Example
cloudinary-image-1Whether Cloudinary media is a VIDEO or IMAGE.
Example
IMAGECurrently ONLY using Cloudinary to store all image / video assets.
Example
CLOUDINARYSort allows you to control how you want to sort this record in a list of media records.
Example
10Media angle
Example
-90Media width in pixels.
Example
2560Media height in pixels.
Example
1600Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.
Example
trueLocalized media captions to give user some context about where this media was taken.
object
Use as title or short text description
Example
An example titleLonger text description
Example
This is a longer description in the specified language.Indicate which language this description is written in.
Example
enWhether it was user or system generated.
Example
SYSTEMThe md5 hash of the name, description and language.
Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.
Example
LIFESTYLE_HEALTH_FITNESSWhether image has attribution properties
object
URL to contributor
Example
https://maps.google.com/maps/contrib/111628493169070103594Name of contributor
Example
Samuel AdamsTrue if media width is greater or equal to height
Example
trueWhether there is a limit to minimum group size.
Example
2Whether there is a limit to maximum group size.
Example
10Calculates the percent difference between basePrice and discountedPrice.
Example
0.1Calculates the percent difference between basePrice and discountedPrice.
Example
0.1Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.
Example
1970-1-1End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.
Example
1970-12-1Indicates whether a reservation is required to participate in this blocking.
Example
falseOpening time of blocking (if applicable). Leave empty if blocking is always available.
Example
09:00Closing time of blocking (if applicable). Leave empty if blocking is always available.
Example
17:30Indicate which days this blocking is open.
object
Set to true to enable Monday.
Example
trueSet to true to enable Tuesday.
Example
trueSet to true to enable Wednesday.
Example
trueSet to true to enable Thursday.
Example
trueSet to true to enable Friday.
Example
trueSet to true to enable Saturday.
Example
trueSet to true to enable Sunday.
Example
trueConvenience property to quickly determine if this existing object has any active days enabled.
Example
trueTotal number of add-ons available to purchase.
Example
15Optional rate plan identifier to restrict this add-on to guests on a specific rate plan. Mutually exclusive with dateRanges.
Example
5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73Make this add-on mandatory for all guests by enabling this flag.
Example
trueOptional list of date ranges restricting add-on availability to specific periods. Mutually exclusive with ratePlanIdentifier.
object
Retrieve data range starting with and including this start date
Example
2020-12-24Retrieve data range ending with and including this end date
Example
2020-12-31Responses
Section titled “ Responses ”Created
Add-On is a type of ABS.
object
Unique identifier for this add-on document
Timestamp when this record was first created
Timestamp when this record was last updated
Version for optimistic locking; incremented on each persist. Prevents concurrent modification conflicts.
Hotel identifier.
Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.
Indicate the type of lifestyle this blocking should be associated with.
Geo-location point where blocking takes place. Defaults to location of property.
object
Localized descriptions describing inventory.
object
Use as title or short text description
Longer text description
Indicate which language this description is written in.
Whether it was user or system generated.
The md5 hash of the name, description and language.
List of images / videos of blocking.
Multimedia that contains less information than Multimedia object
object
Document identifier
Use this identifier to communicate with Cloudinary.
Whether Cloudinary media is a VIDEO or IMAGE.
Currently ONLY using Cloudinary to store all image / video assets.
Sort allows you to control how you want to sort this record in a list of media records.
Media angle
Media width in pixels.
Media height in pixels.
Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.
Supported OTA specification PIC code. See OTA geoname data
Localized media captions to give user some context about where this media was taken.
object
Use as title or short text description
Longer text description
Indicate which language this description is written in.
Whether it was user or system generated.
The md5 hash of the name, description and language.
Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.
Whether image has attribution properties
object
URL to contributor
Name of contributor
True if media width is greater or equal to height
Associate a contact person for this blocking (if applicable).
object
Contact first name
Contact last name
Contact E-mail
Contact secondary Email
Contact phone number
First and last name
Summary
Defaults to property address.
object
Address line 1
Address line 2
State
Postal / zip code
County
City name
Country
Country
Address 1, Address 2, City, State, Postal / Zip code, Country
Indicate whether sales channels receive commission for selling this blocking.
Internal name of blocking.
Supported OTA specification PRX code. See OTA geoname data
Use this property to sort an blocking in a list of activities.
Supported OTA specification AQC code. See OTA geoname data
Indicates if this blocking can be added to a booking or if it is read-only marketing material only.
Modify blocking availability with this flag.
Supported OTA specification PHY code. See OTA geoname data
Supported OTA specification SEC code. See OTA geoname data
Social network accounts for blocking (if applicable).
Social network
object
Type of social network.
URL or social network identifier to social network profile
Level of expensiveness.
Inventory-level recognition.
Recognition for the ancillary blocking.
object
Recognition identifier.
Recognition category.
Type of rating system the recognition operated on. This allows us to display the score properly.
The name of the entity that administers this recognition.
The actual award or rating received by the hotel facility.
Use this to let hotels indicate what the total score for this award is.
The date the award was received
When true, this indicates the property has received official permission from the award provider to use the rating in publications and marketing materials; when false this permission has not been granted.
Provides the symbol used in the rating. Used in conjunction with the Rating.
Purchasable items for this blocking.
This is one bookable item that can stand alongside a restaurant / meeting room etc.
object
Unique transactional identifier
Internal name of transactional blocking.
Localized descriptions describing inventory.
object
Use as title or short text description
Longer text description
Indicate which language this description is written in.
Whether it was user or system generated.
The md5 hash of the name, description and language.
How this blocking item should be priced.
Base price of booking this blocking.
object
If you are selling this blocking at a discount, indicate the discounted selling price. Leave empty if there is no discount.
object
List of images / videos of item.
Multimedia that contains less information than Multimedia object
object
Document identifier
Use this identifier to communicate with Cloudinary.
Whether Cloudinary media is a VIDEO or IMAGE.
Currently ONLY using Cloudinary to store all image / video assets.
Sort allows you to control how you want to sort this record in a list of media records.
Media angle
Media width in pixels.
Media height in pixels.
Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.
Supported OTA specification PIC code. See OTA geoname data
Localized media captions to give user some context about where this media was taken.
object
Use as title or short text description
Longer text description
Indicate which language this description is written in.
Whether it was user or system generated.
The md5 hash of the name, description and language.
Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.
Whether image has attribution properties
object
URL to contributor
Name of contributor
True if media width is greater or equal to height
Whether there is a limit to minimum group size.
Whether there is a limit to maximum group size.
Calculates the percent difference between basePrice and discountedPrice.
Calculates the percent difference between basePrice and discountedPrice.
Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.
End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.
Indicates whether a reservation is required to participate in this blocking.
Opening time of blocking (if applicable). Leave empty if blocking is always available.
Closing time of blocking (if applicable). Leave empty if blocking is always available.
Indicate which days this blocking is open.
object
Set to true to enable Monday.
Set to true to enable Tuesday.
Set to true to enable Wednesday.
Set to true to enable Thursday.
Set to true to enable Friday.
Set to true to enable Saturday.
Set to true to enable Sunday.
Convenience property to quickly determine if this existing object has any active days enabled.
Total number of add-ons available to purchase.
An optional rate plan can be applied to the add-on. The rate plan can help to create availability restrictions.
object
Unique identifier for this rate plan.
The property (managing entity) that owns this rate plan.
A descriptive name for this rate plan, such as ‘Best Available Rate’, ‘Non-Refundable’, or ‘Corporate Rate’.
When true, indicates if the rate is a prepaid rate.
Whether rate plan is active or not.
When true, indicates breakfast is included.
When true, indicates brunch is included.
When true, indicates lunch is included.
When true, indicates dinner is included.
Everything included except alcohol
Everything included with alcohol
The date on which this rate plan becomes available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range.
The date on which this rate plan is no longer available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range.
The earliest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range.
The latest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range.
When true, guests earn loyalty points toward the property’s loyalty program with this rate plan. When false, this rate plan does not accrue points.
Maximum number of days in advance a guest may book this rate plan. For example, 180 allows bookings up to 6 months ahead.
Minimum number of days in advance a guest must book this rate plan. For example, 3 requires booking at least 3 days before arrival.
Minimum number of guests required to qualify for this rate plan.
Maximum number of guests allowed under this rate plan.
Minimum consecutive nights required for a booking under this rate plan. For example, 2 requires a minimum 2-night stay.
Maximum consecutive nights allowed for a booking under this rate plan. For example, 30 caps bookings at 30 nights.
Minimum guest age required to book this rate plan, typically used for senior discounts or adult-only rates.
Maximum guest age allowed for this rate plan, typically used for family or age-restricted rates.
Additional fees applied to this rate plan, such as resort facilities fees, parking fees, or cleaning charges. Fees can be charged per day, per stay, per person, or combinations thereof.
object
Localized descriptions of this fee in multiple languages. At least one entry in English is required.
object
Longer text description
Indicate which language this description is written in.
Whether it was user or system generated.
The md5 hash of the name, description and language.
The fixed fee amount in the property’s local currency.
object
How this fee is charged: per day, per stay, per person per day, or per person per stay.
Days of the week when this rate plan is available for booking. If null, the rate plan is available on all days.
object
Set to true to enable Monday.
Set to true to enable Tuesday.
Set to true to enable Wednesday.
Set to true to enable Thursday.
Set to true to enable Friday.
Set to true to enable Saturday.
Set to true to enable Sunday.
Convenience property to quickly determine if this existing object has any active days enabled.
Days of the week on which guests are allowed to check in. If null, arrivals are permitted on any day.
object
Set to true to enable Monday.
Set to true to enable Tuesday.
Set to true to enable Wednesday.
Set to true to enable Thursday.
Set to true to enable Friday.
Set to true to enable Saturday.
Set to true to enable Sunday.
Convenience property to quickly determine if this existing object has any active days enabled.
Days of the week on which guests are allowed to check out. If null, departures are permitted on any day.
object
Set to true to enable Monday.
Set to true to enable Tuesday.
Set to true to enable Wednesday.
Set to true to enable Thursday.
Set to true to enable Friday.
Set to true to enable Saturday.
Set to true to enable Sunday.
Convenience property to quickly determine if this existing object has any active days enabled.
Days of the week on which at least one night must fall within the stay. Useful for rates requiring weekend stays or specific weekday requirements. If null, no specific day-of-week stay requirements apply.
object
Set to true to enable Monday.
Set to true to enable Tuesday.
Set to true to enable Wednesday.
Set to true to enable Thursday.
Set to true to enable Friday.
Set to true to enable Saturday.
Set to true to enable Sunday.
Convenience property to quickly determine if this existing object has any active days enabled.
A pricing modifier for guests checking in early. May include a surcharge or credit. If null, no early check-in charge applies.
object
When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.
A percentage of the total stay amount for an early check-in or late check-out
A localized amount
object
A pricing modifier for guests staying late after standard checkout time. May include a surcharge or credit. If null, no late check-out charge applies.
object
When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.
A percentage of the total stay amount for an early check-in or late check-out
A localized amount
object
The cancellation policy that governs refunds and cancellations for this rate plan.
object
Unique cancellation policy identifier
Property this cancellation is associated with
Whether this cancellation policy is refundable or not
When the cancellation policy is refundable, this flag can be set and indicates there is more rules involved than just a no-questions-asked refundable.
If advanceCancellationFreeOfCharge rules is not honored, this property explains what the guest will be charged.
In case the ‘Refundable cancellation charge’ is set, a different no show charge can be applied.
When the cancellation policy is non-refundable, this flag can be set and indicates there is more rules involved to calculate what the guest will owe in case of a cancellation.
The non-refundable charge might can have a deadline. If that deadline passes, the guest might be charged more.
If the guest does not honor the non-refundable deadline rule, this charge dictates what she owes after the deadline passes.
Optional overrides of the cancellation policy for specific date ranges. Allows a property to apply different cancellation terms during peak seasons, events, or special periods. Leave null for no date-specific exceptions.
object
List of cancellation policy exceptions
object
Cancellation policy identifier
Cancellation policy details for this exception
object
Unique cancellation policy identifier
Property this cancellation is associated with
Whether this cancellation policy is refundable or not
When the cancellation policy is refundable, this flag can be set and indicates there is more rules involved than just a no-questions-asked refundable.
If advanceCancellationFreeOfCharge rules is not honored, this property explains what the guest will be charged.
In case the ‘Refundable cancellation charge’ is set, a different no show charge can be applied.
When the cancellation policy is non-refundable, this flag can be set and indicates there is more rules involved to calculate what the guest will owe in case of a cancellation.
The non-refundable charge might can have a deadline. If that deadline passes, the guest might be charged more.
If the guest does not honor the non-refundable deadline rule, this charge dictates what she owes after the deadline passes.
Start date for when this cancellation policy should start to override the default cancellation policy.
End date for when this cancellation policy should end overriding the default cancellation policy.
A pricing modifier applied when a single guest books this rate plan. For example, a 10% discount for solo travelers. If null, no single occupancy adjustment applies.
object
When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.
A percentage of the total stay amount for an early check-in or late check-out
A localized amount
object
A pricing modifier applied for each additional adult guest beyond the base occupancy. For example, a per-person surcharge for extra occupants. If null, no extra adult adjustment applies.
object
When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.
A percentage of the total stay amount for an early check-in or late check-out
A localized amount
object
A pricing modifier applied for each additional child guest. Typically used for child discounts or family rate adjustments. If null, no extra child adjustment applies.
object
When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.
A percentage of the total stay amount for an early check-in or late check-out
A localized amount
object
Make this add-on mandatory for all guests by enabling this flag.
Optional list of date ranges restricting add-on availability to specific periods. Mutually exclusive with ratePlan.
object
Retrieve data range starting with and including this start date
Retrieve data range ending with and including this end date
Example
nullBad Request
object
object
Example generated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "instance": "https://example.com", "properties": { "additionalProperty": "example" }}object
object
object
object
object
object
object
object
Unauthorized
object
object
Forbidden
object
object
Internal Server Error
object
Example generated
{}