diff --git a/app/apollo/apollo-octopus-public/src/commonMain/graphql/com/hedvig/android/apollo/octopus/schema.graphqls b/app/apollo/apollo-octopus-public/src/commonMain/graphql/com/hedvig/android/apollo/octopus/schema.graphqls index 3dfae62c09..a3e09a71dd 100644 --- a/app/apollo/apollo-octopus-public/src/commonMain/graphql/com/hedvig/android/apollo/octopus/schema.graphqls +++ b/app/apollo/apollo-octopus-public/src/commonMain/graphql/com/hedvig/android/apollo/octopus/schema.graphqls @@ -2527,6 +2527,11 @@ type Member { """ crossSellV2(input: CrossSellInput!): CrossSellV2! """ + Young Pet Guide stories for the member. + Returns a list of educational content stories for young pet owners. + """ + puppyGuideStories: [PuppyGuideStory!]! + """ Fetch all the active contracts for this member. Active contracts include all insurances that are either active today, or to-be-active in the future. """ @@ -3650,8 +3655,10 @@ type Mutation { """ Confirm this PriceIntent, which will use the current data (and likely `ShopSession.customer`) to generate `ProductOffers` that can be added to the cart. + Optional `attribution` is merged field-by-field over `ShopSession.attribution` for this confirm only (quotes and + `PriceIntentConfirmed` events use the merged result). """ - priceIntentConfirm(priceIntentId: UUID!): PriceIntentMutationOutput! + priceIntentConfirm(priceIntentId: UUID!, attribution: PriceIntentConfirmAttributionInput): PriceIntentMutationOutput! """ Change the start date of the given `ProductOffer`s by their ID. This is used because it's common to want to change the start date AFTER getting the offer. @@ -3673,6 +3680,10 @@ type Mutation { """ productOfferReprice(offerId: UUID!, data: PricingFormData!): ProductOffersMutationOutput! """ + Mark a young pet guide story as read for a specific member. + """ + puppyGuideEngagement(engagement: PuppyEngagementInput!): PuppyGuideStoryMutationOutput! + """ Update the customer of the shop session. Only non-null fields will be changed. Can trigger automatic lookup of other information. The session can be placed in a "point of no return" state where it is no longer legal to update the customer, @@ -4015,6 +4026,36 @@ type PriceIntentAnimalBreed { displayName: String! isMixedBreed: Boolean! } +""" +Attribution values to apply when confirming a PriceIntent. +Provided fields override the ShopSession attribution for this confirmation only. +""" +input PriceIntentConfirmAttributionInput { + """ + Party credited for originating the flow, such as a partner, Hedvig, or marketing source. + """ + attributedTo: String + """ + Channel or surface where the flow was initiated. + """ + initiatedFrom: String + """ + High-level business flow used for attribution and analytics. + """ + userFlow: String + """ + More specific source within the user flow, when applicable. + """ + flowSource: String + """ + Experiment variants active when the price intent was confirmed. + """ + experiments: [ShopSessionExperimentInput!] + """ + Additional attribution metadata passed through for analytics integrations. + """ + trackingData: JSON +} input PriceIntentCreateInput { shopSessionId: UUID! """ @@ -4404,6 +4445,53 @@ type ProductVariantComparisonRow { """ covered: [String!]! } +input PuppyEngagementInput { + name: String! + rating: Int + opened: Boolean + read: Boolean + closed: Boolean +} +type PuppyGuideStory { + """ + The unique name/identifier of the story. + """ + name: String! + """ + The display title of the story. + """ + title: String! + """ + The subtitle or description of the story. + """ + subtitle: String! + """ + The main content of the story. + """ + content: String! + """ + The image associated with this story. + """ + image: String! + """ + Categories this story belongs to. + """ + categories: [String!]! + """ + The date when the story was marked as read by the user. + """ + read: Boolean! + """ + The user's rating of the story. + """ + rating: Int +} +type PuppyGuideStoryMutationOutput { + """ + Indicates whether the mutation was successful. + """ + success: Boolean! +} type Query { """ Return a conversation for a given ID.