Islandqueen Sales Host REST Api

You must have already been given a user name and password from a staff memeber to use this api.

GET /token
Login to get authorization token
Request temporary increase in the number of tickets you are allowed to sell
Request items available for sale
Get availability of an item
Get availability of multiple items in a single request by date. This is useful and highly recomended for calendar views.
Adds journal note to your reservation
Request cancellation of a reservation
List reservations
Get reservation number using wwsaleid
Creates a new reservation
Returns your account name, account number and cost of your tickets
checks if a coupon/specials code is valid and returns discount amount

Usage Examples

NOTE: before sending any calls. You must send in the authorization header
Example: Authorization bearer [Access Token Here]
GET /token
Description:
Logs in to retrive your authorization token. This step is necessary before you can proceed
Fields (all fields are required):
grant_type=password
username=[your user name or email]
password=[your password]
Response Code: 200
Response (JSON):
{
"access_token": "8h8WKy2V6H1KW--cJe3Q-RJndEpmwbtUgaArFSBJnqA_Zrb4GrU4QH9S1h86h9WzKAWnW",
"token_type": "bearer",
"expires_in": 1209599,
"userName": "test@islandqueencruises.com",
".issued": "Mon, 26 Apr 2001 02:46:12 GMT",
".expires": "Mon, 10 May 2001 02:46:12 GMT"
 }
POST /siriusware/guest/setmax4sale
Description:
Request a temporary increase in the number of tickets you are allowed to sell
Fields:
department (string, required)
category (string, required)
item (string, required)
date (datetime, required)
account_number (string, optional)
ticketsrequesting (integer, required)
Response Code: 200
Response (JSON):
                        
{
    "status": "ok",
    "errorMsg": ""
}
                    
Response Code: 500  Internal Server Error
Response Code: 400  Bad Request
GET /siriusware/guest/getitemtree
Description:
Request items available for sale
Fields:
date (datetime, required)
onlyckmax4sale (bool, optional) - Default: True. Only return items where max4sale is true.
include3rdpartyoptions (bool, optional) - Default: false. Return third-party supplier options. Example: trip/pricing options. Your account must be approved separately to use this flag.
Response Code: 200
Response (JSON):
                        
{
    "Items": [
        {
            "category": "YS1492330 ",
            "ckmax4sale": "True",
            "department": "YACHTSCHED",
            "descrip": "Sightseeing 11:30p       ",
            "item": "SSC1492330",
            "item_descrip": "Sightseeing 11:30p",
            "item_id": "2833",
            "node_id": "233487",
            "accountno": null,
            "price_info": "40.0000,2.6200,0.0000,2.6200,0.0000",
            "thirdpartyoptions": [],
        }
    ]
}
                    
Response Code: 500  Internal Server Error
Response Code: 400  Bad Request
GET /siriusware/guest/getmax4sale
Description:
Get current availability of an item
Fields:
department (string, required)
category (string, required)
item (string, required)
date (datetime, required)
account_number (string, optional)
thirdpartyid (string, optional)
thirdpartyoptionid (string, optional)
thirdpartytimeid (string, optional) 24hr clock. Example: 13:30
Response Code: 200
Response (JSON):
                        
{
    "Max4saleresults": [
        {
            "department": "YACHTSCHED",
            "category": "YS1492330 ",
            "item": "SSC1492330",
            "limit": "0",
            "qty_rem": "25",
            "qty_sold": "0",
            "qty_res": "0",
            "cust_res": "0",
            "qty_base": "25",
            "thirdpartyid": null,
            "thirdpartyname": null,
            "thirdpartyproduct": null,
            "thirdpartyavailabilityid": null,
            "thirdpartyoptions": [],

        }
    ]
}
                    
Response Code: 500  Internal Server Error
Response Code: 400  Bad Request
department = Internal department code. This is needing when making a reservation
category = Internal category code. The category code also includes the time slot in 24hr format. Example: YS1491700 is 5p.m (YS149 1700), YS1491600 is 4p.m (YS149 1600), etc. All category and items are structured this way [System Code][Time Sslot]. This is also needed when making a reservation
item = Internal item code. The item code also includes the time slot in 24hr format. Example: SSC1491700 is 5p.m (SSC149 1700), SSC1491600 is 4p.m (SSC149 1600), etc. All items are structured this way [System Code][Time Sslot]. This is also needed when making a reservation
limit = Limit of tickets that can be sold for this item. A zero here means unlimited. However, you specific account might be limited. You should always use qty_rem when checking how many tickets are available for sale to you
qty_rem = Remaining tickets available for sale
qty_sold = Tickets sold
qty_res = Tickets reserved
cust_res = Tickets reserved by this account number
qty_base = Total tickets available to this account number for sale before any temporary increases
thirdpartyid = If your request included a thirdpartyid, it will be reflected here
thirdpartyname = If your request included a thirdpartyid, the product name of that thirdparty items will show here
GET /siriusware/guest/getmax4salecalendar
Description:
Get current availability of multiple items in a single request
Fields:
startdate (string, required)
enddate (string, required)
account_number (string, optional)
Response Code: 200
Response (JSON):
                        
{
    "2023-09-11": [
        {
            "department": "YACHTSCHED",
            "category": "YS1491100 ",
            "item": "SSC1491100",
            "limit": "0",
            "qty_rem": "138",
            "qty_sold": "0",
            "qty_res": "2",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491200 ",
            "item": "SSC1491200",
            "limit": "0",
            "qty_rem": "131",
            "qty_sold": "0",
            "qty_res": "9",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491300 ",
            "item": "SSC1491300",
            "limit": "0",
            "qty_rem": "134",
            "qty_sold": "0",
            "qty_res": "4",
            "cust_res": "2",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491400 ",
            "item": "SSC1491400",
            "limit": "0",
            "qty_rem": "140",
            "qty_sold": "0",
            "qty_res": "0",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491500 ",
            "item": "SSC1491500",
            "limit": "0",
            "qty_rem": "133",
            "qty_sold": "2",
            "qty_res": "5",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491600 ",
            "item": "SSC1491600",
            "limit": "0",
            "qty_rem": "136",
            "qty_sold": "0",
            "qty_res": "4",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491700 ",
            "item": "SSC1491700",
            "limit": "0",
            "qty_rem": "140",
            "qty_sold": "0",
            "qty_res": "0",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491800 ",
            "item": "SSC1491800",
            "limit": "0",
            "qty_rem": "136",
            "qty_sold": "0",
            "qty_res": "4",
            "cust_res": "0",
            "qty_base": "140"
        }
    ],
    "2023-09-12": [
        {
            "department": "YACHTSCHED",
            "category": "YS1491100 ",
            "item": "SSC1491100",
            "limit": "0",
            "qty_rem": "138",
            "qty_sold": "0",
            "qty_res": "2",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491200 ",
            "item": "SSC1491200",
            "limit": "0",
            "qty_rem": "138",
            "qty_sold": "0",
            "qty_res": "2",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491300 ",
            "item": "SSC1491300",
            "limit": "0",
            "qty_rem": "138",
            "qty_sold": "0",
            "qty_res": "2",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491400 ",
            "item": "SSC1491400",
            "limit": "0",
            "qty_rem": "138",
            "qty_sold": "0",
            "qty_res": "2",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491500 ",
            "item": "SSC1491500",
            "limit": "0",
            "qty_rem": "138",
            "qty_sold": "0",
            "qty_res": "2",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491600 ",
            "item": "SSC1491600",
            "limit": "0",
            "qty_rem": "138",
            "qty_sold": "0",
            "qty_res": "2",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491700 ",
            "item": "SSC1491700",
            "limit": "0",
            "qty_rem": "140",
            "qty_sold": "0",
            "qty_res": "0",
            "cust_res": "0",
            "qty_base": "140"
        },
        {
            "department": "YACHTSCHED",
            "category": "YS1491800 ",
            "item": "SSC1491800",
            "limit": "0",
            "qty_rem": "140",
            "qty_sold": "0",
            "qty_res": "0",
            "cust_res": "0",
            "qty_base": "140"
        }
    ]
}
                    
Response Code: 500  Internal Server Error
Response Code: 400  Bad Request
Each date will have an array of items. Each item will have the following fields:
department = Internal department code. This is needing when making a reservation
category = Internal category code. The category code also includes the time slot in 24hr format. Example: YS1491700 is 5p.m (YS149 1700), YS1491600 is 4p.m (YS149 1600), etc. All category and items are structured this way [System Code][Time Sslot]. This is also needed when making a reservation
item = Internal item code. The item code also includes the time slot in 24hr format. Example: SSC1491700 is 5p.m (SSC149 1700), SSC1491600 is 4p.m (SSC149 1600), etc. All items are structured this way [System Code][Time Sslot]. This is also needed when making a reservation
limit = Limit of tickets that can be sold for this item. A zero here means unlimited. However, you specific account might be limited. You should always use qty_rem when checking how many tickets are available for sale to you
qty_rem = Remaining tickets available for sale
qty_sold = Tickets sold
qty_res = Tickets reserved
cust_res = Tickets reserved by this account number
qty_base = Total tickets available to this account number for sale before any temporary increases
POST /siriusware/reservation/addjnote
Description:
Adds journal note to your reservation. Jorunal notes are added as line items to a reservation. Each submittion adds a new line
Fields:
notes (string, required)
reserv_no (string, required)
Response Code: 200
Response (JSON):
                        
{
   
    "status": "ok",
    "errorMsg": "",            
     
}
                    
Response Code: 500  Internal Server Error
Response Code: 400  Bad Request
POST /siriusware/reservation/cancel
Description:
Request cancellation of a reservation. The request is not always honored. Cancellation will not be honored less than 30 minutes before event start time.
Fields:
reservationid (string, required). Separate multiple reservationid / reservation numbers with a comma
Response Code: 200
Response (JSON):
                        
{
   
    "status": "ok",
    "errorMsg": "",            
     
}
                    
Response Code: 500  Internal Server Error
Response Code: 400  Bad Request
GET /siriusware/reservation/list
Description:
List reservations created by your account only. 200 records returned maximum. Use ListisTruncated to know if you should request more and startat to specify where the listing should start
Fields:
startat (integer, optional)
datefrom (date, required)
dateto (date, required)
Response Code: 200
Response (JSON):
                        
{
    "reservations": [
        {
            "id": 2930,
            "submitted": "2022-04-23T08:21:15",
            "eventdate": "2022-04-23T00:00:00",
            "eventname": "Sightseeing 7:00p",
            "reservationnum": "2882004000",
            "wwsaleid": "3169000000",
            "bookingnum": "Booking #116762150",
            "siriuswareaccnt": "50001     ",
            "department": "YACHTSCHED",
            "category": "YS1491900 ",
            "item": "SSC1491900",
            "numadults": 1,
            "numchildren": 0,
            "numunder3": 0,
            "totalpassengers": 1,
            "ordertotal": 12.0,
            "guest_firstname": "JOHN                   ",
            "guest_lastname": "DOE                   ",
            "cancelpending": 0,
            "finalized": "True",
            "full_name": "Island Queen"
        },
        {
            "id": 2931,
            "submitted": "2022-04-23T08:21:46",
            "eventdate": "2022-04-23T00:00:00",
            "eventname": "Sightseeing 7:00p",
            "reservationnum": "2883004000",
            "wwsaleid": "3170000000",
            "bookingnum": "Booking #116762167",
            "siriuswareaccnt": "50001     ",
            "department": "YACHTSCHED",
            "category": "YS1491900 ",
            "item": "SSC1491900",
            "numadults": 1,
            "numchildren": 0,
            "numunder3": 0,
            "totalpassengers": 1,
            "ordertotal": 12.0,
            "guest_firstname": "JOHN                     ",
            "guest_lastname": "WRIGHT                   ",
            "cancelpending": 0,
            "finalized": "False",
            "full_name": "Island Queen"
        }
    ],
    "ListisTruncated": false
}
                    
Response Code: 500  Internal Server Error
Response Code: 400  Bad Request
GET /siriusware/reservation/getreservationid
Description:
Get reservation number using wwsaleid
Fields:
wwsaleid (string, required)
Response Code: 200
Response (JSON):
                        
{
    "wwsale_id": "",
    "reservationnum": "2896004000",
    "errorMsg": ""
}
                    
Response Code: 500  Internal Server Error
Response Code: 400  Bad Request
POST /siriusware/reservation/create
Description:
Creates a reservation in our system.
Fields:
guest_firstname (string, optional)
guest_lastname (string, optional)
account_number (string, optional)
date (datetime, required)
adult_qty (integer)
child_qty (integer)
under3_qty (integer, atleast one of the following must be supplied: adult_qty, child_qty, or under3_qty )
notes (string, optional)
amount (string, optional)
department (string, required)
category (string, required)
item (string, required)
bookingnum (string, required, must be unique)
pymnttype (string, optional, accepted options are: AMERICAN EXPRESS, CASH, DISCOVER, MASTERCARD, VISA, PRE-PAID)
cardfname (string, optional)
cardlname (string, optional)
cardaddr (string, optional)
cardaddr2 (string, optional)
cardcity (string, optional)
cardstate (string, optional)
cardzip (string, optional)
cardcntry (string, optional)
cardno (string, optional)
cardexptwodigitmonth (string, optional)
cardexptwodigityear (string, optional)
cardcvv2 (string, optional)
Response Code: 200
Response (JSON):
                        
{
    "wwsale_id": "1234567",
    "errorMsg": "",
    "carddeclineMsg": "",
    "CardDeclined": false
 
}
                    
GET /siriusware/guest/getaccountlist
Description:
Returns your account name, account number and cost of your tickets
Fields:
Response Code: 200
Response (JSON):
                        
{
    "list": [
        {
            "accountid": "12345",
            "company": "IslandQueen",
            "adult_price": "3.00",
            "child_price": "6.00",
            "pay_on_fnl": "True"
        }
    ]
}
                    
Response Code: 500  Internal Server Error
Response Code: 400  Bad Request
GET /siriusware/reservation/checkspecial
Description:
Checks if a coupon/specials code is valid and returns discount amount
Fields:
couponcode (string, required)
guest_lastname (string, optional)
Response Code: 200
Response (JSON):
                        
{
    "SpecialValid": false,
    "PercentOff": 0.0,
    "DollarOff": 0.0
}
                    
Response Code: 500  Internal Server Error
Response Code: 400  Bad Request