repull 0.2.33 → 0.2.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/lib/repull/api/connect_api.rb +4 -4
  3. data/lib/repull/api/health_api.rb +3 -3
  4. data/lib/repull/api/promotions_api.rb +574 -0
  5. data/lib/repull/models/connect_session_completed_payload.rb +1 -1
  6. data/lib/repull/models/connect_status_accounts_inner.rb +12 -1
  7. data/lib/repull/models/create_connect_session_request.rb +25 -1
  8. data/lib/repull/models/create_connection_request.rb +2 -22
  9. data/lib/repull/models/list_connection_units200_response.rb +12 -1
  10. data/lib/repull/models/list_connection_units200_response_units_inner.rb +1 -0
  11. data/lib/repull/models/listing_address.rb +62 -5
  12. data/lib/repull/models/listing_updated_payload.rb +2 -2
  13. data/lib/repull/models/message.rb +24 -1
  14. data/lib/repull/models/postal_address.rb +216 -0
  15. data/lib/repull/models/promotion.rb +344 -0
  16. data/lib/repull/models/promotion_applies_to.rb +161 -0
  17. data/lib/repull/models/promotion_bulk_request.rb +236 -0
  18. data/lib/repull/models/{plumguide_listing_list_response.rb → promotion_bulk_response.rb} +11 -11
  19. data/lib/repull/models/{calendar_updated_payload.rb → promotion_bulk_response_data_inner.rb} +23 -33
  20. data/lib/repull/models/promotion_bulk_response_data_inner_error.rb +165 -0
  21. data/lib/repull/models/promotion_bulk_response_summary.rb +156 -0
  22. data/lib/repull/models/{plumguide_listing.rb → promotion_catalog.rb} +18 -27
  23. data/lib/repull/models/promotion_catalog_channels_inner.rb +222 -0
  24. data/lib/repull/models/promotion_catalog_entry.rb +265 -0
  25. data/lib/repull/models/promotion_catalog_field.rb +205 -0
  26. data/lib/repull/models/{calendar_updated_payload_range.rb → promotion_catalog_field_options_inner.rb} +16 -16
  27. data/lib/repull/models/promotion_catalog_response.rb +147 -0
  28. data/lib/repull/models/promotion_create_request.rb +258 -0
  29. data/lib/repull/models/promotion_delete_response.rb +147 -0
  30. data/lib/repull/models/promotion_delete_response_data.rb +156 -0
  31. data/lib/repull/models/promotion_discount.rb +191 -0
  32. data/lib/repull/models/promotion_input.rb +241 -0
  33. data/lib/repull/models/promotion_list_response.rb +170 -0
  34. data/lib/repull/models/promotion_refresh_response.rb +170 -0
  35. data/lib/repull/models/promotion_response.rb +147 -0
  36. data/lib/repull/models/{calendar_updated_event.rb → promotion_rules.rb} +113 -104
  37. data/lib/repull/models/promotion_rules_blackout_dates_quota.rb +156 -0
  38. data/lib/repull/models/promotion_rules_booking_window.rb +230 -0
  39. data/lib/repull/models/promotion_rules_last_minute.rb +218 -0
  40. data/lib/repull/models/promotion_rules_stay_window.rb +211 -0
  41. data/lib/repull/models/promotion_type.rb +47 -0
  42. data/lib/repull/models/promotion_update_request.rb +175 -0
  43. data/lib/repull/models/promotion_usage.rb +193 -0
  44. data/lib/repull/models/promotion_usage_revenue.rb +156 -0
  45. data/lib/repull/models/property.rb +12 -2
  46. data/lib/repull/models/reservation_money_line.rb +14 -4
  47. data/lib/repull/models/webhook_event.rb +0 -2
  48. data/lib/repull/models/webhook_event_type.rb +1 -2
  49. data/lib/repull/version.rb +1 -1
  50. data/lib/repull.rb +32 -6
  51. data/openapi/v1.json +1193 -357
  52. data/scripts/regen.sh +1 -1
  53. metadata +34 -8
  54. data/lib/repull/api/plumguide_api.rb +0 -552
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dcd09671d587b3a558ca474b37832304e42231f117d9b9e2b150fa552ce49838
4
- data.tar.gz: 18287ddb63189f862bd47555b1a7a401fc0c277e5017f7ec6c8b06c634cb4d52
3
+ metadata.gz: 3dd1b14c70b71a270a2738f370441e46162ee0810eaa4ea90df885938bc6ff4f
4
+ data.tar.gz: 86146a261bcd64bf93ded286fd2f9d10d0515713b6eb2c6ba0c8419cf498b0bb
5
5
  SHA512:
6
- metadata.gz: b12ac60809e465da6d06fb88a086e6dc8fe927f20c97ac89e4a0cbd96b930137d36a3542e1b783d389c724b5f392fe3eb16fcb72fd3f0eb841e2da55c29db978
7
- data.tar.gz: ac40bf824c0d645b5402b264b08f44a2014365ec9ba1aa17c171c672bd4ee6c341d91d6ffb64203efcb230d56088f3f9481d82d852e81c4fda203b34af0cc573
6
+ metadata.gz: '093ca68ae94804a08972248fefaa9138cee9d8032cc6f9b09bd0b8b649fbb406577e439b93b07283d4b8c27db71554c1ee5acd2a3325bd9a4d12d0df7f70dd9c'
7
+ data.tar.gz: 9681728ae90f98c2effa583ba82a9925b920dcdfcca0e2f0daae376f0468256beacdc56806c4bdb0c5503a195bca732ff33d853e045a0ad29959473bebfb3d8e
@@ -156,7 +156,7 @@ module Repull
156
156
  end
157
157
 
158
158
  # Connect to PMS/OTA provider
159
- # Establish a connection to a PMS or OTA platform. Credentials vary by provider — see docs for each provider. Airbnb-specific: pass `redirectUrl` (where to send the user after consent) and optionally `accessType`. Three tiers: `read_only` grants read-only scopes; `messaging` grants read scopes plus message read/send but NOT property management, so it can coexist with another app (e.g. an existing PMS) that already holds property management on the same Airbnb account; `full_access` — the default — grants full host scopes including the exclusive property management (only one app per Airbnb account can hold it). The response returns a hosted `url` to redirect the user to. Booking.com: pass `redirectUrl` (no `accessType`). The response returns a hosted `url` — send the user there to designate FantasticStay in their Booking.com Extranet and paste their Hotel ID. Same response shape as Airbnb (`url`, `sessionId`, `expiresAt`). Plumguide passes `clientId`/`clientSecret`. PMS providers are not connected by this call: send their credentials to `POST /v1/connect/{provider}/credentials`, or start a hosted session with `POST /v1/connect`.
159
+ # Establish a connection to a PMS or OTA platform. Credentials vary by provider — see docs for each provider. Airbnb-specific: pass `redirectUrl` (where to send the user after consent) and optionally `accessType`. Three tiers: `read_only` grants read-only scopes; `messaging` (shown to hosts as \"Messaging & reviews\") grants read scopes plus message read/send and review writes (reply to guest reviews, submit host reviews — Airbnb's `reviews_write`) but NOT property management, so it can coexist with another app (e.g. an existing PMS) that already holds property management on the same Airbnb account; `full_access` — the default — grants full host scopes including the exclusive property management (only one app per Airbnb account can hold it). The response returns a hosted `url` to redirect the user to. Booking.com: pass `redirectUrl` (no `accessType`). The response returns a hosted `url` — send the user there to select our connectivity provider in their Booking.com Extranet and paste their Hotel ID. Same response shape as Airbnb (`url`, `sessionId`, `expiresAt`). PMS providers are not connected by this call: send their credentials to `POST /v1/connect/{provider}/credentials`, or start a hosted session with `POST /v1/connect`.
160
160
  # @param provider [String] PMS provider slug (e.g., hostaway, guesty, ownerrez)
161
161
  # @param [Hash] opts the optional parameters
162
162
  # @option opts [CreateConnectionRequest] :create_connection_request
@@ -167,7 +167,7 @@ module Repull
167
167
  end
168
168
 
169
169
  # Connect to PMS/OTA provider
170
- # Establish a connection to a PMS or OTA platform. Credentials vary by provider — see docs for each provider. Airbnb-specific: pass `redirectUrl` (where to send the user after consent) and optionally `accessType`. Three tiers: `read_only` grants read-only scopes; `messaging` grants read scopes plus message read/send but NOT property management, so it can coexist with another app (e.g. an existing PMS) that already holds property management on the same Airbnb account; `full_access` — the default — grants full host scopes including the exclusive property management (only one app per Airbnb account can hold it). The response returns a hosted `url` to redirect the user to. Booking.com: pass `redirectUrl` (no `accessType`). The response returns a hosted `url` — send the user there to designate FantasticStay in their Booking.com Extranet and paste their Hotel ID. Same response shape as Airbnb (`url`, `sessionId`, `expiresAt`). Plumguide passes `clientId`/`clientSecret`. PMS providers are not connected by this call: send their credentials to `POST /v1/connect/{provider}/credentials`, or start a hosted session with `POST /v1/connect`.
170
+ # Establish a connection to a PMS or OTA platform. Credentials vary by provider — see docs for each provider. Airbnb-specific: pass `redirectUrl` (where to send the user after consent) and optionally `accessType`. Three tiers: `read_only` grants read-only scopes; `messaging` (shown to hosts as \"Messaging & reviews\") grants read scopes plus message read/send and review writes (reply to guest reviews, submit host reviews — Airbnb's `reviews_write`) but NOT property management, so it can coexist with another app (e.g. an existing PMS) that already holds property management on the same Airbnb account; `full_access` — the default — grants full host scopes including the exclusive property management (only one app per Airbnb account can hold it). The response returns a hosted `url` to redirect the user to. Booking.com: pass `redirectUrl` (no `accessType`). The response returns a hosted `url` — send the user there to select our connectivity provider in their Booking.com Extranet and paste their Hotel ID. Same response shape as Airbnb (`url`, `sessionId`, `expiresAt`). PMS providers are not connected by this call: send their credentials to `POST /v1/connect/{provider}/credentials`, or start a hosted session with `POST /v1/connect`.
171
171
  # @param provider [String] PMS provider slug (e.g., hostaway, guesty, ownerrez)
172
172
  # @param [Hash] opts the optional parameters
173
173
  # @option opts [CreateConnectionRequest] :create_connection_request
@@ -2311,7 +2311,7 @@ module Repull
2311
2311
  end
2312
2312
 
2313
2313
  # Verify a Booking.com hotel ID for a Connect session
2314
- # Manual-paste fallback that closes the Booking.com claim flow. Call this after the customer completes Stage 1 designation in their Booking Extranet (ticking FantasticStay/Repull as their connectivity provider) and pastes their Hotel ID into the hosted picker. Validates the hotel against Booking's property API, persists the `pms_connections` row, kicks off the room import, and transitions the Connect session to `awaiting_room_mapping`. No API key required — the `sessionId` is the capability token. Sessions in any terminal state are rejected.
2314
+ # Manual-paste fallback that closes the Booking.com claim flow. Call this after the customer completes Stage 1 designation in their Booking Extranet (selecting our connectivity provider, named on the hosted Connect page) and pastes their Hotel ID into the hosted picker. Validates the hotel against Booking's property API, persists the `pms_connections` row, kicks off the room import, and transitions the Connect session to `awaiting_room_mapping`. No API key required — the `sessionId` is the capability token. Sessions in any terminal state are rejected.
2315
2315
  # @param booking_verify_hotel_request [BookingVerifyHotelRequest]
2316
2316
  # @param [Hash] opts the optional parameters
2317
2317
  # @return [BookingVerifyHotelResponse]
@@ -2321,7 +2321,7 @@ module Repull
2321
2321
  end
2322
2322
 
2323
2323
  # Verify a Booking.com hotel ID for a Connect session
2324
- # Manual-paste fallback that closes the Booking.com claim flow. Call this after the customer completes Stage 1 designation in their Booking Extranet (ticking FantasticStay/Repull as their connectivity provider) and pastes their Hotel ID into the hosted picker. Validates the hotel against Booking's property API, persists the `pms_connections` row, kicks off the room import, and transitions the Connect session to `awaiting_room_mapping`. No API key required — the `sessionId` is the capability token. Sessions in any terminal state are rejected.
2324
+ # Manual-paste fallback that closes the Booking.com claim flow. Call this after the customer completes Stage 1 designation in their Booking Extranet (selecting our connectivity provider, named on the hosted Connect page) and pastes their Hotel ID into the hosted picker. Validates the hotel against Booking's property API, persists the `pms_connections` row, kicks off the room import, and transitions the Connect session to `awaiting_room_mapping`. No API key required — the `sessionId` is the capability token. Sessions in any terminal state are rejected.
2325
2325
  # @param booking_verify_hotel_request [BookingVerifyHotelRequest]
2326
2326
  # @param [Hash] opts the optional parameters
2327
2327
  # @return [Array<(BookingVerifyHotelResponse, Integer, Hash)>] BookingVerifyHotelResponse data, response status code and response headers
@@ -77,7 +77,7 @@ module Repull
77
77
  end
78
78
 
79
79
  # Per-channel connectivity health
80
- # Reports reachability and auth state for one channel (`airbnb`, `booking`, `vrbo`, `plumguide`). Use it to tell \"the channel is down\" apart from \"this workspace's connection expired\". `200` when `status` is `ok`, `503` when `degraded` or `down` (the body's `status` and `message` say which and why). **`vrbo`** reports the connector's own signals in a `vrbo` block: connected accounts, accounts VRBO signed out (their bookings, messages and calendar stop until reconnected — `down`), accounts whose inbox sync is late (`degraded`), and the calendar push queue backlog and its oldest wait (`degraded` past 3 hours). Its rate is calendar pushes VRBO refused over finished ones in the last 3 hours; failures inside Repull's own connector are reported apart as `vrbo.connector_errors` and do not count (`vrbo.window_hours`; `refresh_attempts_24h` / `refresh_rejections_24h` count that window for VRBO), judged only once at least 50 pushes finished and at least 5 failed — VRBO pushes run in bursts, so a day-long window would keep reporting a problem already fixed.
80
+ # Reports reachability and auth state for one channel (`airbnb`, `booking`, `vrbo`). Use it to tell \"the channel is down\" apart from \"this workspace's connection expired\". `200` when `status` is `ok`, `503` when `degraded` or `down` (the body's `status` and `message` say which and why). **`vrbo`** reports the connector's own signals in a `vrbo` block: connected accounts, accounts VRBO signed out (their bookings, messages and calendar stop until reconnected — `down`), accounts whose inbox sync is late (`degraded`), and the calendar push queue backlog and its oldest wait (`degraded` past 3 hours). Its rate is calendar pushes VRBO refused over finished ones in the last 3 hours; failures inside Repull's own connector are reported apart as `vrbo.connector_errors` and do not count (`vrbo.window_hours`; `refresh_attempts_24h` / `refresh_rejections_24h` count that window for VRBO), judged only once at least 50 pushes finished and at least 5 failed — VRBO pushes run in bursts, so a day-long window would keep reporting a problem already fixed.
81
81
  # @param channel [String]
82
82
  # @param [Hash] opts the optional parameters
83
83
  # @return [GetChannelHealth200Response]
@@ -87,7 +87,7 @@ module Repull
87
87
  end
88
88
 
89
89
  # Per-channel connectivity health
90
- # Reports reachability and auth state for one channel (&#x60;airbnb&#x60;, &#x60;booking&#x60;, &#x60;vrbo&#x60;, &#x60;plumguide&#x60;). Use it to tell \&quot;the channel is down\&quot; apart from \&quot;this workspace&#39;s connection expired\&quot;. &#x60;200&#x60; when &#x60;status&#x60; is &#x60;ok&#x60;, &#x60;503&#x60; when &#x60;degraded&#x60; or &#x60;down&#x60; (the body&#39;s &#x60;status&#x60; and &#x60;message&#x60; say which and why). **&#x60;vrbo&#x60;** reports the connector&#39;s own signals in a &#x60;vrbo&#x60; block: connected accounts, accounts VRBO signed out (their bookings, messages and calendar stop until reconnected — &#x60;down&#x60;), accounts whose inbox sync is late (&#x60;degraded&#x60;), and the calendar push queue backlog and its oldest wait (&#x60;degraded&#x60; past 3 hours). Its rate is calendar pushes VRBO refused over finished ones in the last 3 hours; failures inside Repull&#39;s own connector are reported apart as &#x60;vrbo.connector_errors&#x60; and do not count (&#x60;vrbo.window_hours&#x60;; &#x60;refresh_attempts_24h&#x60; / &#x60;refresh_rejections_24h&#x60; count that window for VRBO), judged only once at least 50 pushes finished and at least 5 failed — VRBO pushes run in bursts, so a day-long window would keep reporting a problem already fixed.
90
+ # Reports reachability and auth state for one channel (&#x60;airbnb&#x60;, &#x60;booking&#x60;, &#x60;vrbo&#x60;). Use it to tell \&quot;the channel is down\&quot; apart from \&quot;this workspace&#39;s connection expired\&quot;. &#x60;200&#x60; when &#x60;status&#x60; is &#x60;ok&#x60;, &#x60;503&#x60; when &#x60;degraded&#x60; or &#x60;down&#x60; (the body&#39;s &#x60;status&#x60; and &#x60;message&#x60; say which and why). **&#x60;vrbo&#x60;** reports the connector&#39;s own signals in a &#x60;vrbo&#x60; block: connected accounts, accounts VRBO signed out (their bookings, messages and calendar stop until reconnected — &#x60;down&#x60;), accounts whose inbox sync is late (&#x60;degraded&#x60;), and the calendar push queue backlog and its oldest wait (&#x60;degraded&#x60; past 3 hours). Its rate is calendar pushes VRBO refused over finished ones in the last 3 hours; failures inside Repull&#39;s own connector are reported apart as &#x60;vrbo.connector_errors&#x60; and do not count (&#x60;vrbo.window_hours&#x60;; &#x60;refresh_attempts_24h&#x60; / &#x60;refresh_rejections_24h&#x60; count that window for VRBO), judged only once at least 50 pushes finished and at least 5 failed — VRBO pushes run in bursts, so a day-long window would keep reporting a problem already fixed.
91
91
  # @param channel [String]
92
92
  # @param [Hash] opts the optional parameters
93
93
  # @return [Array<(GetChannelHealth200Response, Integer, Hash)>] GetChannelHealth200Response data, response status code and response headers
@@ -100,7 +100,7 @@ module Repull
100
100
  fail ArgumentError, "Missing the required parameter 'channel' when calling HealthApi.get_channel_health"
101
101
  end
102
102
  # verify enum value
103
- allowable_values = ["airbnb", "booking", "vrbo", "plumguide"]
103
+ allowable_values = ["airbnb", "booking", "vrbo"]
104
104
  if @api_client.config.client_side_validation && !allowable_values.include?(channel)
105
105
  fail ArgumentError, "invalid value for \"channel\", must be one of #{allowable_values}"
106
106
  end