diff --git a/components/booking_experts/actions/add-guest-to-reservation/add-guest-to-reservation.mjs b/components/booking_experts/actions/add-guest-to-reservation/add-guest-to-reservation.mjs index e4b14404f43be..9751e77343de1 100644 --- a/components/booking_experts/actions/add-guest-to-reservation/add-guest-to-reservation.mjs +++ b/components/booking_experts/actions/add-guest-to-reservation/add-guest-to-reservation.mjs @@ -4,7 +4,7 @@ export default { key: "booking_experts-add-guest-to-reservation", name: "Add Guest to Reservation", description: "Add a guest to a reservation. [See the documentation](https://developers.bookingexperts.com/reference/administration-reservation-guests-create)", - version: "0.0.3", + version: "0.0.4", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/booking_experts/actions/create-agenda-period/create-agenda-period.mjs b/components/booking_experts/actions/create-agenda-period/create-agenda-period.mjs index 51008e23216a3..6f17330c1c03a 100644 --- a/components/booking_experts/actions/create-agenda-period/create-agenda-period.mjs +++ b/components/booking_experts/actions/create-agenda-period/create-agenda-period.mjs @@ -4,7 +4,7 @@ export default { key: "booking_experts-create-agenda-period", name: "Create Agenda Period", description: "Creates a new agenda period. [See the documentation](https://developers.bookingexperts.com/reference/administration-maintenance-agenda-periods-create)", - version: "0.0.3", + version: "0.0.4", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/booking_experts/actions/delete-guest/delete-guest.mjs b/components/booking_experts/actions/delete-guest/delete-guest.mjs index 78edb7f3b0b8a..2befe74e1ad9e 100644 --- a/components/booking_experts/actions/delete-guest/delete-guest.mjs +++ b/components/booking_experts/actions/delete-guest/delete-guest.mjs @@ -4,7 +4,7 @@ export default { key: "booking_experts-delete-guest", name: "Delete Guest", description: "Delete a guest for a reservation. [See the documentation](https://developers.bookingexperts.com/reference/administration-reservation-guests-delete)", - version: "0.0.1", + version: "0.0.2", annotations: { destructiveHint: true, openWorldHint: true, diff --git a/components/booking_experts/actions/get-booking/get-booking.mjs b/components/booking_experts/actions/get-booking/get-booking.mjs index a393cdce7cbbf..b96de0a21e6e2 100644 --- a/components/booking_experts/actions/get-booking/get-booking.mjs +++ b/components/booking_experts/actions/get-booking/get-booking.mjs @@ -4,7 +4,7 @@ export default { key: "booking_experts-get-booking", name: "Get Booking", description: "Returns a booking. [See the documentation](https://developers.bookingexperts.com/reference/administration-bookings-show)", - version: "0.0.1", + version: "0.0.2", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/booking_experts/actions/get-complex-prices/get-complex-prices.mjs b/components/booking_experts/actions/get-complex-prices/get-complex-prices.mjs index 135cfd368ab9a..6cbe93a630e1a 100644 --- a/components/booking_experts/actions/get-complex-prices/get-complex-prices.mjs +++ b/components/booking_experts/actions/get-complex-prices/get-complex-prices.mjs @@ -4,7 +4,7 @@ export default { key: "booking_experts-get-complex-prices", name: "Get Complex Prices", description: "Returns all complex prices of a master price list. [See the documentation](https://developers.bookingexperts.com/reference/administration-masterpricelist-complexprices-index)", - version: "0.0.3", + version: "0.0.4", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/booking_experts/actions/get-reservation/get-reservation.mjs b/components/booking_experts/actions/get-reservation/get-reservation.mjs new file mode 100644 index 0000000000000..bd33d33213cb1 --- /dev/null +++ b/components/booking_experts/actions/get-reservation/get-reservation.mjs @@ -0,0 +1,31 @@ +import bookingExperts from "../../booking_experts.app.mjs"; + +export default { + name: "Get Reservation", + description: "Fetches a reservation by ID from Booking Experts. [See the documentation](https://developers.bookingexperts.com/reference/reservations-show)", + key: "booking_experts-get-reservation", + version: "0.0.1", + type: "action", + annotations: { + destructiveHint: false, + openWorldHint: true, + readOnlyHint: true, + }, + props: { + bookingExperts, + reservationId: { + propDefinition: [ + bookingExperts, + "reservationId", + ], + }, + }, + async run({ $ }) { + const response = await this.bookingExperts.getReservation({ + $, + reservationId: this.reservationId, + }); + $.export("$summary", `Successfully retrieved reservation with ID ${this.reservationId}`); + return response; + }, +}; diff --git a/components/booking_experts/actions/list-availabilities/list-availabilities.mjs b/components/booking_experts/actions/list-availabilities/list-availabilities.mjs index 234fbdd0376e7..44bc6b7bfb362 100644 --- a/components/booking_experts/actions/list-availabilities/list-availabilities.mjs +++ b/components/booking_experts/actions/list-availabilities/list-availabilities.mjs @@ -4,7 +4,7 @@ export default { key: "booking_experts-list-availabilities", name: "List Availabilities", description: "List availabilities of a channel you have access to. [See the documentation](https://developers.bookingexperts.com/reference/availabilities-index)", - version: "0.0.1", + version: "0.0.2", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/booking_experts/actions/list-bookings/list-bookings.mjs b/components/booking_experts/actions/list-bookings/list-bookings.mjs index f812f01d24982..efb5d4ec06cc3 100644 --- a/components/booking_experts/actions/list-bookings/list-bookings.mjs +++ b/components/booking_experts/actions/list-bookings/list-bookings.mjs @@ -4,7 +4,7 @@ export default { key: "booking_experts-list-bookings", name: "List Bookings", description: "Returns a list of bookings for an administration. [See the documentation](https://developers.bookingexperts.com/reference/administration-bookings-index)", - version: "0.0.3", + version: "0.0.4", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/booking_experts/actions/list-inventory-objects/list-inventory-objects.mjs b/components/booking_experts/actions/list-inventory-objects/list-inventory-objects.mjs index 593228c3960dd..b7db750a79d41 100644 --- a/components/booking_experts/actions/list-inventory-objects/list-inventory-objects.mjs +++ b/components/booking_experts/actions/list-inventory-objects/list-inventory-objects.mjs @@ -4,7 +4,7 @@ export default { key: "booking_experts-list-inventory-objects", name: "List Inventory Objects", description: "Returns inventory objects of the administration. [See the documentation](https://developers.bookingexperts.com/reference/administration-inventoryobjects-index)", - version: "0.0.3", + version: "0.0.4", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/booking_experts/actions/list-rentabletype-availabilities/list-rentabletype-availabilities.mjs b/components/booking_experts/actions/list-rentabletype-availabilities/list-rentabletype-availabilities.mjs index 3888249cf33fd..64c7a44c6241e 100644 --- a/components/booking_experts/actions/list-rentabletype-availabilities/list-rentabletype-availabilities.mjs +++ b/components/booking_experts/actions/list-rentabletype-availabilities/list-rentabletype-availabilities.mjs @@ -5,7 +5,7 @@ export default { key: "booking_experts-list-rentabletype-availabilities", name: "List RentableType Availabilities", description: "List availabilities of a RentableType you have access to. [See the documentation](https://developers.bookingexperts.com/reference/channel-rentabletype-availabilities-index)", - version: "0.0.1", + version: "0.0.2", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/booking_experts/actions/list-reservations/list-reservations.mjs b/components/booking_experts/actions/list-reservations/list-reservations.mjs new file mode 100644 index 0000000000000..fb4167dade403 --- /dev/null +++ b/components/booking_experts/actions/list-reservations/list-reservations.mjs @@ -0,0 +1,41 @@ +import bookingExperts from "../../booking_experts.app.mjs"; + +export default { + name: "List Reservations", + description: "Lists all reservations for the current organization from Booking Experts. [See the documentation](https://developers.bookingexperts.com/reference/reservations-index)", + key: "booking_experts-list-reservations", + version: "0.0.1", + type: "action", + annotations: { + destructiveHint: false, + openWorldHint: true, + readOnlyHint: true, + }, + props: { + bookingExperts, + page: { + type: "integer", + label: "Page Number", + description: "Page number for paginating reservations", + optional: true, + default: 1, + }, + perPage: { + propDefinition: [ + bookingExperts, + "perPage", + ], + }, + }, + async run({ $ }) { + const response = await this.bookingExperts.listReservations({ + $, + params: { + "page[number]": this.page, + "page[size]": this.perPage, + }, + }); + $.export("$summary", `Found ${response.data.length} reservations`); + return response; + }, +}; diff --git a/components/booking_experts/actions/search-contacts/search-contacts.mjs b/components/booking_experts/actions/search-contacts/search-contacts.mjs index 5f5da5593d547..7a37cd4521a3f 100644 --- a/components/booking_experts/actions/search-contacts/search-contacts.mjs +++ b/components/booking_experts/actions/search-contacts/search-contacts.mjs @@ -5,7 +5,7 @@ export default { key: "booking_experts-search-contacts", name: "Search Contacts", description: "Search for contacts by email or phone. [See the documentation](https://developers.bookingexperts.com/reference/contact-search-first)", - version: "0.0.3", + version: "0.0.4", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/booking_experts/actions/update-guest/update-guest.mjs b/components/booking_experts/actions/update-guest/update-guest.mjs index b3b24908f19c6..e57451d95cd58 100644 --- a/components/booking_experts/actions/update-guest/update-guest.mjs +++ b/components/booking_experts/actions/update-guest/update-guest.mjs @@ -4,7 +4,7 @@ export default { key: "booking_experts-update-guest", name: "Update Guest", description: "Update a guest for a reservation. [See the documentation](https://developers.bookingexperts.com/reference/administration-reservation-guests-update)", - version: "0.0.1", + version: "0.0.2", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/booking_experts/booking_experts.app.mjs b/components/booking_experts/booking_experts.app.mjs index d46bc8593b00a..092318b1a2906 100644 --- a/components/booking_experts/booking_experts.app.mjs +++ b/components/booking_experts/booking_experts.app.mjs @@ -133,12 +133,17 @@ export default { async options({ page, administrationId, }) { - const { data } = await this.listReservations({ - administrationId, - params: { - "page[number]": page + 1, - }, - }); + const params = { + "page[number]": page + 1, + }; + const { data } = administrationId + ? await this.listReservationsInAdministration({ + administrationId, + params, + }) + : await this.listReservations({ + params, + }); return data?.map(({ id, attributes, }) => ({ @@ -276,6 +281,14 @@ export default { ...opts, }); }, + getReservation({ + reservationId, ...opts + }) { + return this._makeRequest({ + path: `/reservations/${reservationId}`, + ...opts, + }); + }, listAdministrations(opts = {}) { return this._makeRequest({ path: "/administrations", @@ -350,7 +363,13 @@ export default { ...opts, }); }, - listReservations({ + listReservations(opts = {}) { + return this._makeRequest({ + path: "/reservations", + ...opts, + }); + }, + listReservationsInAdministration({ administrationId, ...opts }) { return this._makeRequest({ diff --git a/components/booking_experts/package.json b/components/booking_experts/package.json index 446bb0d1b60ae..6b8723427cd51 100644 --- a/components/booking_experts/package.json +++ b/components/booking_experts/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/booking_experts", - "version": "0.2.0", + "version": "0.3.0", "description": "Pipedream Booking Experts Components", "main": "booking_experts.app.mjs", "keywords": [ diff --git a/components/booking_experts/sources/booking-updated/booking-updated.mjs b/components/booking_experts/sources/booking-updated/booking-updated.mjs index 73a0f3610bdb3..06ff11b2acf39 100644 --- a/components/booking_experts/sources/booking-updated/booking-updated.mjs +++ b/components/booking_experts/sources/booking-updated/booking-updated.mjs @@ -5,7 +5,7 @@ export default { key: "booking_experts-booking-updated", name: "Booking Updated", description: "Emit new event for each booking updated. [See the documentation](https://developers.bookingexperts.com/reference/administration-bookings-index)", - version: "0.0.2", + version: "0.0.3", type: "source", dedupe: "unique", props: { diff --git a/components/booking_experts/sources/inventory-object-updated/inventory-object-updated.mjs b/components/booking_experts/sources/inventory-object-updated/inventory-object-updated.mjs index 6485be1e1d0f6..7dfb7d060b45f 100644 --- a/components/booking_experts/sources/inventory-object-updated/inventory-object-updated.mjs +++ b/components/booking_experts/sources/inventory-object-updated/inventory-object-updated.mjs @@ -5,7 +5,7 @@ export default { key: "booking_experts-inventory-object-updated", name: "Inventory Object Updated", description: "Emit new event when an inventory object is updated. [See the documentation](https://developers.bookingexperts.com/reference/administration-inventoryobjects-index)", - version: "0.0.2", + version: "0.0.3", type: "source", dedupe: "unique", props: { diff --git a/components/booking_experts/sources/new-booking-created/new-booking-created.mjs b/components/booking_experts/sources/new-booking-created/new-booking-created.mjs index a0bd7d7378f50..933b050e934ab 100644 --- a/components/booking_experts/sources/new-booking-created/new-booking-created.mjs +++ b/components/booking_experts/sources/new-booking-created/new-booking-created.mjs @@ -5,7 +5,7 @@ export default { key: "booking_experts-new-booking-created", name: "New Booking Created", description: "Emit new event for each new booking created. [See the documentation](https://developers.bookingexperts.com/reference/administration-bookings-index)", - version: "0.0.2", + version: "0.0.3", type: "source", dedupe: "unique", props: { diff --git a/components/booking_experts/sources/new-inventory-object-created/new-inventory-object-created.mjs b/components/booking_experts/sources/new-inventory-object-created/new-inventory-object-created.mjs index e829c6ed9a664..0bbc971e952ac 100644 --- a/components/booking_experts/sources/new-inventory-object-created/new-inventory-object-created.mjs +++ b/components/booking_experts/sources/new-inventory-object-created/new-inventory-object-created.mjs @@ -5,7 +5,7 @@ export default { key: "booking_experts-new-inventory-object-created", name: "New Inventory Object Created", description: "Emit new event when a new inventory object is created. [See the documentation](https://developers.bookingexperts.com/reference/administration-inventoryobjects-index)", - version: "0.0.2", + version: "0.0.3", type: "source", dedupe: "unique", props: {