# Introduction This API that you will implement on your side will allow for ChannelRUSH to send rates, availability, and restrictions to your endpoint. Then you can push to our endpoint reservations (new / modified / cancelled). ## Implementation We can accommodate any and all features that your channel supports, so if you see something we don't have, just let us know. Some examples: - Reservation actions - Unique parameters updating at the property, room type, or rate plan level. - Reservation pickup via polling (pickup and confirm) vs a push to our endpoint. ## Test Account ChannelRUSH will setup a test account where you can login and issue calls on demand to your endpoint, and to see the reservations sent to our system in return. ## Authentication We can customize this upon request, but by default we will send a Basic Authentication Header which is Base64 encoded. - **Key** = 'Authorization' - **Value** = 'Basic '+ _base 64 encoding of a user ID and password separated by a colon_ ## Schema, Object Types, Fields, Definitions Schema and general and object field descriptions can be found here: **Swagger** https://testota.channelrush.net **API Docs** https://testota.channelrush.net/api-docs/index.html NOTE: These endpoints are helpful to see the JSON requests and responses, but in all scenarios except for the ResRequest action, we are posting the request to YOUR endpoint for processing, and expecting back the appropriate response. ## Endpoints **Your Endpoint** When your endpoint is available for testing, please let us know the URL and we'll configure the channel to send messages to your endpoint. **Our Endpoint / CHANNELRUSH_SERVERNAME** Will be provided once testing is configured. **PROVIDERID** The PROVIDERID will be assigned when your test account is created. This ID identifies your company - it will remain the same across all properties being updated. # Settings ## SettingsRequest URL POST: https://[YOUR_DOMAIN_NAME_AND_PATH]?action=SettingsRequest This is our system asking your system for the property, room type, and rate plan information. This is helpful for our side to complete the setup / mappings for new accounts, when settings and such change in your system, we can update them in ours. ## SettingsResponse This returns the mappings, along with notification if the call has been successful or not, and any info / warning / error messages to conveyed. # Inventory - Updating ## AriUpdateRequest URL POST: https://[YOUR_DOMAIN_NAME_AND_PATH]?action=AriUpdateRequest This is the availability / rates / restrictions to be sent to your OTA to create bookings with. We can modify the setup - i.e. not use rate plans, control what is updated at the room type level, control what is updated at the rate plan level - just let us know what you need. If you don't support (i.e. Cut Off Days, Min Nights Through, Max Nights Through) or something like that, we can configure our system not to send it for processing. Typically we update the following: Room Type Level - Allocation - Stop Sell Rate Plan Level - Stop Sell - Rates - Closed To Arrival - Closed To Departure - Cut Off Days - Min Nights - Min Nights Through - Max Nights - Max Nights Through An AriRequest with the RoomTypeId set, and the RatePlanId unset, is for the room type level information and it's corresponding child rate plans. An AriRequest with the RoomTypeId set AND the RatePlanId set, is for that specific room type + rate plan combo. Issuing a Stop Sell = True/Yes at the room type level should ideally keep all rate plans closed until it is removed (i.e. even if a rate plan is set to Stop Sell = False/No, it wouldn't be available for sale since the parent room type is under a Stop Sell=True/Yes). ### Rates We can configure updating rate per room type or rate plan, or we can configure occupancy based rates (or a combination of both). ### AriDateRange The date range, and days of the week to apply the requested update to. The date range Start Date and End Date are inclusive. Example: Start Date = Dec 12 2024, End Date = Dec 15 2024 - this means 4 nights are processed, the 12th, 13th, 14th, and 15th. ## AriUpdateResponse Returns the confirmation of successful processing, or if not successful, information on why the update failed. The more relevant information you can provide here on why the update was unsuccessful, the better. # Inventory - Reading ## AriRequest URL POST: https://[YOUR_DOMAIN_NAME_AND_PATH]?action=AriRequest An AriRequest with the RoomTypeId set, and the RatePlanId unset is for the room type level information and it's corresponding child rate plans. An AriRequest with the RoomTypeId set and the RatePlanId set, is for the information specific to that rate plan under it's parent room type. # Reservations ## ResRequest URL POST: https://[CHANNELRUSH_SERVERNAME]/channels/v2/index?providerId=[PROVIDERID] This is where you can send us reservations created on your OTA. # Reservation Actions URL POST: https://[YOUR_DOMAIN_NAME_AND_PATH]?action=ReservationAction This is where a hotel/property could log in to ChannerlRUSH and select 'No Show' for a reservation, which is then sent to your system for processing. Again, what you choose to support or implement is up to you.