[{"data":1,"prerenderedAt":1040},["ShallowReactive",2],{"navigation":3,"/integrations/models/family":310,"/integrations/models/family-surround":985,"/types/family/family.type":994,"gW2Dal8lYd":1010,"A18E5kIF6V":1020,"HLbJamyJXG":1030},[4,13,161,197,211,236,290,300],{"title":5,"_path":6,"children":7,"_id":12,"description":11},"Getting Started","/getting-started",[8],{"title":9,"_path":6,"_id":10,"description":11},"Overview","content:1.getting-started:1.index.md","Everything you need to know about integrating Churnkey with your product and billing stack.","content:1.getting-started:_dir.yml",{"title":14,"_path":15,"children":16,"_id":160},"Cancel Flows","/cancel-flows",[17,22,27,32,37,42,47,52,57,62,67,72,116,130],{"title":18,"_path":19,"_id":20,"description":21},"Quick Start Guide","/cancel-flows/quick-start-guide","content:2.cancel-flows:1.quick-start-guide.md","A 3-step guide on how to implement Cancel Flows in your website",{"title":23,"_path":24,"_id":25,"description":26},"Cancel Flow Structure","/cancel-flows/flow-configuration","content:2.cancel-flows:2.flow configuration.md","Learn about the available components that make up a Cancel Flow, from initial offers to cancellation confirmation, and how each step contributes to the overall flow.",{"title":28,"_path":29,"_id":30,"description":31},"Configuration Options","/cancel-flows/further-configuration","content:2.cancel-flows:3.further-configuration.md","Additional details for all of the following options are included below.",{"title":33,"_path":34,"_id":35,"description":36},"Custom Styling","/cancel-flows/custom-styling","content:2.cancel-flows:4.custom-styling.md","Brand your Churnkey Cancel Flow with your own CSS",{"title":38,"_path":39,"_id":40,"description":41},"Managed Email Flow","/cancel-flows/email-verified-cancel-flow","content:2.cancel-flows:6.email-verified-cancel-flow.md","Our managed email based setup takes care of customer verification for you with an email verification code.",{"title":43,"_path":44,"_id":45,"description":46},"A/B Testing","/cancel-flows/a-b-testing","content:2.cancel-flows:7.a-b-testing.md","Run controlled experiments to optimize your Cancel Flows and maximize customer retention.",{"title":48,"_path":49,"_id":50,"description":51},"Testing","/cancel-flows/cancel-flow-testing","content:2.cancel-flows:8.cancel-flow-testing.md","Ensure that your Cancel Flow is working as intended before going live.",{"title":53,"_path":54,"_id":55,"description":56},"Pause Wall","/cancel-flows/pause-wall","content:2.cancel-flows:9.pause-wall.md","Block access to your application during subscription pauses",{"title":58,"_path":59,"_id":60,"description":61},"Click-to-Cancel Compliance","/cancel-flows/click-to-cancel","content:2.cancel-flows:10.click-to-cancel.md","Implement automatic compliance with global subscription cancellation requirements",{"title":63,"_path":64,"_id":65,"description":66},"Structured Follow-Up Questions","/cancel-flows/structured-follow-up-questions","content:2.cancel-flows:11.structured-follow-up-questions.md","Collect deeper cancellation insights and deliver targeted retention offers with a second layer of predefined follow-up options in your cancel flow survey.",{"title":68,"_path":69,"_id":70,"description":71},"Adaptive Offers","/cancel-flows/adaptive-offers","content:2.cancel-flows:adaptive-offers.md","AI-powered discount optimization that automatically finds the perfect offer for each customer",{"title":73,"_path":74,"children":75},"Analytics","/cancel-flows/analytics",[76,81,86,91,96,101,106,111],{"title":77,"_path":78,"_id":79,"description":80},"Boosted Revenue","/cancel-flows/analytics/average-boosted-revenue","content:2.cancel-flows:analytics:1.average-boosted-revenue.md","Measure the long-term value of retained subscribers",{"title":82,"_path":83,"_id":84,"description":85},"Save Rate","/cancel-flows/analytics/save-rate","content:2.cancel-flows:analytics:2.save-rate.md","The percentage of customers that your Cancel Flows saved from cancellation",{"title":87,"_path":88,"_id":89,"description":90},"Reactivation Rate","/cancel-flows/analytics/reactivation-rate","content:2.cancel-flows:analytics:3.reactivation-rate.md","The percentage of customers who pay at least one invoice after being saved",{"title":92,"_path":93,"_id":94,"description":95},"Sessions","/cancel-flows/analytics/session-outcomes","content:2.cancel-flows:analytics:4.session-outcomes.md","Track each interaction that a customer has with your Cancel Flows",{"title":97,"_path":98,"_id":99,"description":100},"Cancellation Trends","/cancel-flows/analytics/cancellation-trends","content:2.cancel-flows:analytics:5.cancellation-trends.md","Analyze and interpret the selection rates and trends for cancellation reasons in your Cancel Flows.",{"title":102,"_path":103,"_id":104,"description":105},"Feedback AI","/cancel-flows/analytics/feedback-ai","content:2.cancel-flows:analytics:6.feedback-ai.md","Transform customer feedback into actionable insights with AI-powered categorization and analysis",{"title":107,"_path":108,"_id":109,"description":110},"Response Flow","/cancel-flows/analytics/response-flow","content:2.cancel-flows:analytics:7.response-flow.md","Visualize how customers move from primary cancellation reasons to specific follow-up selections with the Sankey diagram",{"title":112,"_path":113,"_id":114,"description":115},"Response Explorer","/cancel-flows/analytics/response-explorer","content:2.cancel-flows:analytics:8.response-explorer.md","Drill into individual follow-up responses with the Treemap visualization, search, trend analysis, and MRR impact sorting",{"title":117,"_path":118,"children":119},"Multi Language Support","/cancel-flows/multi-language-support",[120,125],{"title":121,"_path":122,"_id":123,"description":124},"Manual Translations","/cancel-flows/multi-language-support/multi-language-support","content:2.cancel-flows:multi-language-support:5.multi-language-support.md","Support multiple languages.",{"title":126,"_path":127,"_id":128,"description":129},"Automatic Translations","/cancel-flows/multi-language-support/automatic-translation","content:2.cancel-flows:multi-language-support:automatic-translation.md","Enable AI-powered multilingual support for your Cancel Flows with a single toggle.",{"title":131,"_path":132,"children":133,"_id":159},"Offers","/cancel-flows/offers",[134,139,144,149,154],{"title":135,"_path":136,"_id":137,"description":138},"Discount","/cancel-flows/offers/discounts","content:2.cancel-flows:offers:discounts.md","Offer targeted subscription discounts to reduce churn and increase customer retention",{"title":140,"_path":141,"_id":142,"description":143},"Hidden Plans","/cancel-flows/offers/hidden-plans","content:2.cancel-flows:offers:hidden-plans.md","Use the Switch Subscription Plan offer to present exclusive, non-public plans to customers during cancellation",{"title":145,"_path":146,"_id":147,"description":148},"Pause Subscription","/cancel-flows/offers/pause-subscription","content:2.cancel-flows:offers:pause-subscription.md","Temporarily suspend subscription payments without canceling the service",{"title":150,"_path":151,"_id":152,"description":153},"Switch Subscription Plan","/cancel-flows/offers/switch-subscription","content:2.cancel-flows:offers:switch-subscription.md","Allow customers to change to a different subscription plan during the cancellation flow to retain them with a more suitable option",{"title":155,"_path":156,"_id":157,"description":158},"Trial Extension","/cancel-flows/offers/trial-extension","content:2.cancel-flows:offers:trial-extension.md","Extend customer trial periods to reduce churn and increase conversion rates during the critical trial-to-paid transition","content:2.cancel-flows:offers:_dir.yml","content:2.cancel-flows:_dir.yml",{"title":162,"_path":163,"children":164,"_id":196},"Payment Recovery","/failed-payment-recovery",[165,169,174,179,184,188],{"title":5,"_path":166,"_id":167,"description":168},"/failed-payment-recovery/payment-recovery","content:3.failed-payment-recovery:1.payment-recovery.md","Recover failed payment revenue, automatically.",{"title":170,"_path":171,"_id":172,"description":173},"Customize your Campaigns","/failed-payment-recovery/campaign-customization","content:3.failed-payment-recovery:2.campaign-customization.md","Customize your Payment Recovery Campaigns to match the unique needs of your individual customers.",{"title":175,"_path":176,"_id":177,"description":178},"Failed Payment Wall","/failed-payment-recovery/failed-payment-wall","content:3.failed-payment-recovery:3.failed-payment-wall.md","Block access to your application when payments fail",{"title":180,"_path":181,"_id":182,"description":183},"Billing Contact API","/failed-payment-recovery/billing-contact-api","content:3.failed-payment-recovery:4.billing-contact-api.md","Send Payment Recovery emails to multiple billing contacts",{"title":43,"_path":185,"_id":186,"description":187},"/failed-payment-recovery/ab-testing","content:3.failed-payment-recovery:5.ab-testing.md","Optimize your payment recovery campaigns through controlled experiments that maximize revenue recovery.",{"title":73,"_path":189,"children":190},"/failed-payment-recovery/analytics",[191],{"title":192,"_path":193,"_id":194,"description":195},"Overall Performance","/failed-payment-recovery/analytics/overview","content:3.failed-payment-recovery:analytics:1.overview.md","Key performance metrics for your Payment Recovery campaigns","content:3.failed-payment-recovery:_dir.yml",{"title":198,"_path":199,"children":200,"_id":210},"Reactivations","/reactivations",[201,205],{"title":5,"_path":202,"_id":203,"description":204},"/reactivations/reactivations","content:4.reactivations:1.reactivations.md","Churnkey helps you to recover unsubscribed customers with easy, customizable Reactivation Email Campaigns.",{"title":206,"_path":207,"_id":208,"description":209},"Customization","/reactivations/campaign-customization-guide","content:4.reactivations:2.campaign-customization-guide.md","Customize your Reactivation Campaigns to match the individual needs of your customers.","content:4.reactivations:_dir.yml",{"title":212,"_path":213,"children":214,"_id":235},"Data Integrations","/data-integrations",[215,220,225,230],{"title":216,"_path":217,"_id":218,"description":219},"Data API","/data-integrations/data-api","content:6.data-integrations:1.data-api.md","Access your data through our API.",{"title":221,"_path":222,"_id":223,"description":224},"Slack notifications","/data-integrations/slack","content:6.data-integrations:2.slack.md","Connect Churnkey with your organization's Slack and to send session notifications to a specific channel.",{"title":226,"_path":227,"_id":228,"description":229},"Webhooks","/data-integrations/webhooks","content:6.data-integrations:2.webhooks.md","Churnkey can send webhooks to automatically notify your application whenever a customer completes a session.",{"title":231,"_path":232,"_id":233,"description":234},"Event Tracking","/data-integrations/event-tracking","content:6.data-integrations:3.event-tracking.md","Track your customers' key-value metrics on a per customer basis.","content:6.data-integrations:_dir.yml",{"title":237,"_path":238,"children":239,"_id":289},"Billing Providers","/billing-providers",[240,245,250,255,260,265,270,275],{"title":241,"_path":242,"_id":243,"description":244},"Payment Providers","/billing-providers/payment-provider-overview","content:7.billing-providers:1.payment-provider-overview.md","Feature support for Stripe, Chargebee, Paddle, and Braintree",{"title":246,"_path":247,"_id":248,"description":249},"Stripe","/billing-providers/stripe","content:7.billing-providers:3.stripe.md","Integrate Churnkey with your Stripe account",{"title":251,"_path":252,"_id":253,"description":254},"Chargebee","/billing-providers/chargebee","content:7.billing-providers:4.chargebee.md","Integrate Churnkey with your Chargebee account",{"title":256,"_path":257,"_id":258,"description":259},"Paddle Classic","/billing-providers/paddle-classic","content:7.billing-providers:5.paddle-classic.md","Integrate Churnkey with your Paddle Classic account",{"title":261,"_path":262,"_id":263,"description":264},"Paddle Billing","/billing-providers/paddle-billing","content:7.billing-providers:6.paddle-billing.md","Integrate Churnkey with your Paddle Billing account",{"title":266,"_path":267,"_id":268,"description":269},"Braintree","/billing-providers/braintree","content:7.billing-providers:7.braintree.md","Integrate Churnkey with your Braintree account",{"title":271,"_path":272,"_id":273,"description":274},"Maxio","/billing-providers/maxio","content:7.billing-providers:8.maxio.md","Integrate Churnkey with your Maxio (formerly Chargify) account",{"title":276,"_path":277,"children":278},"Direct Connect","/billing-providers/direct-connect",[279,284],{"title":280,"_path":281,"_id":282,"description":283},"Churnkey Direct","/billing-providers/direct-connect/direct","content:7.billing-providers:9.direct-connect:1.direct.md","Integrate Churnkey with any billing system using Direct mode",{"title":285,"_path":286,"_id":287,"description":288},"Direct Mode Examples","/billing-providers/direct-connect/direct-examples","content:7.billing-providers:9.direct-connect:2.direct-examples.md","Real-world examples for common subscription scenarios","content:7.billing-providers:_dir.yml",{"title":291,"_path":292,"children":293,"_id":299},"Account","/account",[294],{"title":295,"_path":296,"_id":297,"description":298},"Multi-Workspace Support","/account/multi-workspace-support","content:8.account:1.multi-workspace-support.md","Use one email address to access multiple Churnkey workspaces and switch between them instantly.","content:8.account:_dir.yml",{"title":301,"_path":302,"children":303,"_id":309},"Support","/support",[304],{"title":305,"_path":306,"_id":307,"description":308},"Frequently Asked Questions","/support/faqs","content:9.support:1.faqs.md","We want setting up Churnkey to be a breeze.","content:9.support:_dir.yml",{"_path":311,"_dir":312,"_draft":313,"_partial":313,"_locale":314,"title":315,"description":316,"body":317,"_type":978,"_id":979,"_source":980,"_file":981,"_stem":982,"_extension":983,"sitemap":984},"/integrations/models/family","models",false,"","Family Model","A group of products or services.",{"type":318,"children":319,"toc":974},"root",[320,353,360,365,371,968],{"type":321,"tag":322,"props":323,"children":324},"element","p",{},[325,328,335,337,343,345,351],{"type":326,"value":327},"text","If you are implementing a ",{"type":321,"tag":329,"props":330,"children":332},"code",{"className":331},[],[333],{"type":326,"value":334},"Family",{"type":326,"value":336}," model, make sure you pass ",{"type":321,"tag":329,"props":338,"children":340},{"className":339},[],[341],{"type":326,"value":342},"familyId",{"type":326,"value":344}," to the ",{"type":321,"tag":329,"props":346,"children":348},{"className":347},[],[349],{"type":326,"value":350},"Product",{"type":326,"value":352}," model. This way, you can associate a family with a product.",{"type":321,"tag":354,"props":355,"children":357},"h2",{"id":356},"properties",[358],{"type":326,"value":359},"Properties",{"type":321,"tag":361,"props":362,"children":364},"field-schema",{"schema":363},"/types/family/family.type",[],{"type":321,"tag":354,"props":366,"children":368},{"id":367},"code-example",[369],{"type":326,"value":370},"Code Example",{"type":321,"tag":372,"props":373,"children":374},"code-group",{},[375,587,758],{"type":321,"tag":376,"props":377,"children":382},"pre",{"className":378,"code":379,"filename":380,"language":381,"meta":314,"style":314},"language-typescript shiki shiki-themes github-light-default github-light-default github-dark-default","import { Integrator } from '@churnkey/ts-sdk'\n\nexport class Family extends Integrator.Family {\n    constructor(family: YourFamily) {\n        super(\n            {\n                id: family.id,\n                ... // map other properties\n            }\n        )\n    }\n}\n","Typescript (SDK)","typescript",[383],{"type":321,"tag":329,"props":384,"children":385},{"__ignoreMap":314},[386,415,425,470,504,518,527,536,551,560,569,578],{"type":321,"tag":387,"props":388,"children":391},"span",{"class":389,"line":390},"line",1,[392,398,404,409],{"type":321,"tag":387,"props":393,"children":395},{"style":394},"--shiki-light:#CF222E;--shiki-default:#CF222E;--shiki-dark:#FF7B72",[396],{"type":326,"value":397},"import",{"type":321,"tag":387,"props":399,"children":401},{"style":400},"--shiki-light:#1F2328;--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[402],{"type":326,"value":403}," { Integrator } ",{"type":321,"tag":387,"props":405,"children":406},{"style":394},[407],{"type":326,"value":408},"from",{"type":321,"tag":387,"props":410,"children":412},{"style":411},"--shiki-light:#0A3069;--shiki-default:#0A3069;--shiki-dark:#A5D6FF",[413],{"type":326,"value":414}," '@churnkey/ts-sdk'\n",{"type":321,"tag":387,"props":416,"children":418},{"class":389,"line":417},2,[419],{"type":321,"tag":387,"props":420,"children":422},{"emptyLinePlaceholder":421},true,[423],{"type":326,"value":424},"\n",{"type":321,"tag":387,"props":426,"children":428},{"class":389,"line":427},3,[429,434,439,445,450,455,460,465],{"type":321,"tag":387,"props":430,"children":431},{"style":394},[432],{"type":326,"value":433},"export",{"type":321,"tag":387,"props":435,"children":436},{"style":394},[437],{"type":326,"value":438}," class",{"type":321,"tag":387,"props":440,"children":442},{"style":441},"--shiki-light:#953800;--shiki-default:#953800;--shiki-dark:#FFA657",[443],{"type":326,"value":444}," Family",{"type":321,"tag":387,"props":446,"children":447},{"style":394},[448],{"type":326,"value":449}," extends",{"type":321,"tag":387,"props":451,"children":452},{"style":441},[453],{"type":326,"value":454}," Integrator",{"type":321,"tag":387,"props":456,"children":457},{"style":400},[458],{"type":326,"value":459},".",{"type":321,"tag":387,"props":461,"children":463},{"style":462},"--shiki-light:#0550AE;--shiki-default:#0550AE;--shiki-dark:#79C0FF",[464],{"type":326,"value":334},{"type":321,"tag":387,"props":466,"children":467},{"style":400},[468],{"type":326,"value":469}," {\n",{"type":321,"tag":387,"props":471,"children":473},{"class":389,"line":472},4,[474,479,484,489,494,499],{"type":321,"tag":387,"props":475,"children":476},{"style":394},[477],{"type":326,"value":478},"    constructor",{"type":321,"tag":387,"props":480,"children":481},{"style":400},[482],{"type":326,"value":483},"(",{"type":321,"tag":387,"props":485,"children":486},{"style":441},[487],{"type":326,"value":488},"family",{"type":321,"tag":387,"props":490,"children":491},{"style":394},[492],{"type":326,"value":493},":",{"type":321,"tag":387,"props":495,"children":496},{"style":441},[497],{"type":326,"value":498}," YourFamily",{"type":321,"tag":387,"props":500,"children":501},{"style":400},[502],{"type":326,"value":503},") {\n",{"type":321,"tag":387,"props":505,"children":507},{"class":389,"line":506},5,[508,513],{"type":321,"tag":387,"props":509,"children":510},{"style":462},[511],{"type":326,"value":512},"        super",{"type":321,"tag":387,"props":514,"children":515},{"style":400},[516],{"type":326,"value":517},"(\n",{"type":321,"tag":387,"props":519,"children":521},{"class":389,"line":520},6,[522],{"type":321,"tag":387,"props":523,"children":524},{"style":400},[525],{"type":326,"value":526},"            {\n",{"type":321,"tag":387,"props":528,"children":530},{"class":389,"line":529},7,[531],{"type":321,"tag":387,"props":532,"children":533},{"style":400},[534],{"type":326,"value":535},"                id: family.id,\n",{"type":321,"tag":387,"props":537,"children":539},{"class":389,"line":538},8,[540,545],{"type":321,"tag":387,"props":541,"children":542},{"style":394},[543],{"type":326,"value":544},"                ...",{"type":321,"tag":387,"props":546,"children":548},{"style":547},"--shiki-light:#6E7781;--shiki-default:#6E7781;--shiki-dark:#8B949E",[549],{"type":326,"value":550}," // map other properties\n",{"type":321,"tag":387,"props":552,"children":554},{"class":389,"line":553},9,[555],{"type":321,"tag":387,"props":556,"children":557},{"style":400},[558],{"type":326,"value":559},"            }\n",{"type":321,"tag":387,"props":561,"children":563},{"class":389,"line":562},10,[564],{"type":321,"tag":387,"props":565,"children":566},{"style":400},[567],{"type":326,"value":568},"        )\n",{"type":321,"tag":387,"props":570,"children":572},{"class":389,"line":571},11,[573],{"type":321,"tag":387,"props":574,"children":575},{"style":400},[576],{"type":326,"value":577},"    }\n",{"type":321,"tag":387,"props":579,"children":581},{"class":389,"line":580},12,[582],{"type":321,"tag":387,"props":583,"children":584},{"style":400},[585],{"type":326,"value":586},"}\n",{"type":321,"tag":376,"props":588,"children":591},{"className":378,"code":589,"filename":590,"language":381,"meta":314,"style":314},"interface Family {\n    id: string\n    name: string\n    description?: string\n}\n\nexport function Family(family: YourFamily) {\n    return {\n        id: family.id,\n        ... // map other properties\n    }\n}\n","Typescript",[592],{"type":321,"tag":329,"props":593,"children":594},{"__ignoreMap":314},[595,611,628,644,661,668,675,712,724,732,744,751],{"type":321,"tag":387,"props":596,"children":597},{"class":389,"line":390},[598,603,607],{"type":321,"tag":387,"props":599,"children":600},{"style":394},[601],{"type":326,"value":602},"interface",{"type":321,"tag":387,"props":604,"children":605},{"style":441},[606],{"type":326,"value":444},{"type":321,"tag":387,"props":608,"children":609},{"style":400},[610],{"type":326,"value":469},{"type":321,"tag":387,"props":612,"children":613},{"class":389,"line":417},[614,619,623],{"type":321,"tag":387,"props":615,"children":616},{"style":441},[617],{"type":326,"value":618},"    id",{"type":321,"tag":387,"props":620,"children":621},{"style":394},[622],{"type":326,"value":493},{"type":321,"tag":387,"props":624,"children":625},{"style":462},[626],{"type":326,"value":627}," string\n",{"type":321,"tag":387,"props":629,"children":630},{"class":389,"line":427},[631,636,640],{"type":321,"tag":387,"props":632,"children":633},{"style":441},[634],{"type":326,"value":635},"    name",{"type":321,"tag":387,"props":637,"children":638},{"style":394},[639],{"type":326,"value":493},{"type":321,"tag":387,"props":641,"children":642},{"style":462},[643],{"type":326,"value":627},{"type":321,"tag":387,"props":645,"children":646},{"class":389,"line":472},[647,652,657],{"type":321,"tag":387,"props":648,"children":649},{"style":441},[650],{"type":326,"value":651},"    description",{"type":321,"tag":387,"props":653,"children":654},{"style":394},[655],{"type":326,"value":656},"?:",{"type":321,"tag":387,"props":658,"children":659},{"style":462},[660],{"type":326,"value":627},{"type":321,"tag":387,"props":662,"children":663},{"class":389,"line":506},[664],{"type":321,"tag":387,"props":665,"children":666},{"style":400},[667],{"type":326,"value":586},{"type":321,"tag":387,"props":669,"children":670},{"class":389,"line":520},[671],{"type":321,"tag":387,"props":672,"children":673},{"emptyLinePlaceholder":421},[674],{"type":326,"value":424},{"type":321,"tag":387,"props":676,"children":677},{"class":389,"line":529},[678,682,687,692,696,700,704,708],{"type":321,"tag":387,"props":679,"children":680},{"style":394},[681],{"type":326,"value":433},{"type":321,"tag":387,"props":683,"children":684},{"style":394},[685],{"type":326,"value":686}," function",{"type":321,"tag":387,"props":688,"children":690},{"style":689},"--shiki-light:#8250DF;--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[691],{"type":326,"value":444},{"type":321,"tag":387,"props":693,"children":694},{"style":400},[695],{"type":326,"value":483},{"type":321,"tag":387,"props":697,"children":698},{"style":441},[699],{"type":326,"value":488},{"type":321,"tag":387,"props":701,"children":702},{"style":394},[703],{"type":326,"value":493},{"type":321,"tag":387,"props":705,"children":706},{"style":441},[707],{"type":326,"value":498},{"type":321,"tag":387,"props":709,"children":710},{"style":400},[711],{"type":326,"value":503},{"type":321,"tag":387,"props":713,"children":714},{"class":389,"line":538},[715,720],{"type":321,"tag":387,"props":716,"children":717},{"style":394},[718],{"type":326,"value":719},"    return",{"type":321,"tag":387,"props":721,"children":722},{"style":400},[723],{"type":326,"value":469},{"type":321,"tag":387,"props":725,"children":726},{"class":389,"line":553},[727],{"type":321,"tag":387,"props":728,"children":729},{"style":400},[730],{"type":326,"value":731},"        id: family.id,\n",{"type":321,"tag":387,"props":733,"children":734},{"class":389,"line":562},[735,740],{"type":321,"tag":387,"props":736,"children":737},{"style":394},[738],{"type":326,"value":739},"        ...",{"type":321,"tag":387,"props":741,"children":742},{"style":547},[743],{"type":326,"value":550},{"type":321,"tag":387,"props":745,"children":746},{"class":389,"line":571},[747],{"type":321,"tag":387,"props":748,"children":749},{"style":400},[750],{"type":326,"value":577},{"type":321,"tag":387,"props":752,"children":753},{"class":389,"line":580},[754],{"type":321,"tag":387,"props":755,"children":756},{"style":400},[757],{"type":326,"value":586},{"type":321,"tag":376,"props":759,"children":764},{"className":760,"code":761,"filename":762,"language":763,"meta":314,"style":314},"language-go shiki shiki-themes github-light-default github-light-default github-dark-default","package models\n\ntype Family struct {\n    ID          string  `json:\"id\"`\n    Name        string  `json:\"name\"`\n    Description *string `json:\"description\"`\n}\n\nfunc Family(family YourFamily) Family {\n    return Family{\n        ID:          family.ID,\n        ... // map other properties\n    }\n}\n","Go","go",[765],{"type":321,"tag":329,"props":766,"children":767},{"__ignoreMap":314},[768,781,788,809,827,844,866,873,880,917,933,941,952,960],{"type":321,"tag":387,"props":769,"children":770},{"class":389,"line":390},[771,776],{"type":321,"tag":387,"props":772,"children":773},{"style":394},[774],{"type":326,"value":775},"package",{"type":321,"tag":387,"props":777,"children":778},{"style":441},[779],{"type":326,"value":780}," models\n",{"type":321,"tag":387,"props":782,"children":783},{"class":389,"line":417},[784],{"type":321,"tag":387,"props":785,"children":786},{"emptyLinePlaceholder":421},[787],{"type":326,"value":424},{"type":321,"tag":387,"props":789,"children":790},{"class":389,"line":427},[791,796,800,805],{"type":321,"tag":387,"props":792,"children":793},{"style":394},[794],{"type":326,"value":795},"type",{"type":321,"tag":387,"props":797,"children":798},{"style":441},[799],{"type":326,"value":444},{"type":321,"tag":387,"props":801,"children":802},{"style":394},[803],{"type":326,"value":804}," struct",{"type":321,"tag":387,"props":806,"children":807},{"style":400},[808],{"type":326,"value":469},{"type":321,"tag":387,"props":810,"children":811},{"class":389,"line":472},[812,817,822],{"type":321,"tag":387,"props":813,"children":814},{"style":400},[815],{"type":326,"value":816},"    ID          ",{"type":321,"tag":387,"props":818,"children":819},{"style":394},[820],{"type":326,"value":821},"string",{"type":321,"tag":387,"props":823,"children":824},{"style":411},[825],{"type":326,"value":826},"  `json:\"id\"`\n",{"type":321,"tag":387,"props":828,"children":829},{"class":389,"line":506},[830,835,839],{"type":321,"tag":387,"props":831,"children":832},{"style":400},[833],{"type":326,"value":834},"    Name        ",{"type":321,"tag":387,"props":836,"children":837},{"style":394},[838],{"type":326,"value":821},{"type":321,"tag":387,"props":840,"children":841},{"style":411},[842],{"type":326,"value":843},"  `json:\"name\"`\n",{"type":321,"tag":387,"props":845,"children":846},{"class":389,"line":520},[847,852,857,861],{"type":321,"tag":387,"props":848,"children":849},{"style":400},[850],{"type":326,"value":851},"    Description ",{"type":321,"tag":387,"props":853,"children":854},{"style":394},[855],{"type":326,"value":856},"*",{"type":321,"tag":387,"props":858,"children":859},{"style":394},[860],{"type":326,"value":821},{"type":321,"tag":387,"props":862,"children":863},{"style":411},[864],{"type":326,"value":865}," `json:\"description\"`\n",{"type":321,"tag":387,"props":867,"children":868},{"class":389,"line":529},[869],{"type":321,"tag":387,"props":870,"children":871},{"style":400},[872],{"type":326,"value":586},{"type":321,"tag":387,"props":874,"children":875},{"class":389,"line":538},[876],{"type":321,"tag":387,"props":877,"children":878},{"emptyLinePlaceholder":421},[879],{"type":326,"value":424},{"type":321,"tag":387,"props":881,"children":882},{"class":389,"line":553},[883,888,892,896,900,904,909,913],{"type":321,"tag":387,"props":884,"children":885},{"style":394},[886],{"type":326,"value":887},"func",{"type":321,"tag":387,"props":889,"children":890},{"style":689},[891],{"type":326,"value":444},{"type":321,"tag":387,"props":893,"children":894},{"style":400},[895],{"type":326,"value":483},{"type":321,"tag":387,"props":897,"children":898},{"style":441},[899],{"type":326,"value":488},{"type":321,"tag":387,"props":901,"children":902},{"style":441},[903],{"type":326,"value":498},{"type":321,"tag":387,"props":905,"children":906},{"style":400},[907],{"type":326,"value":908},") ",{"type":321,"tag":387,"props":910,"children":911},{"style":441},[912],{"type":326,"value":334},{"type":321,"tag":387,"props":914,"children":915},{"style":400},[916],{"type":326,"value":469},{"type":321,"tag":387,"props":918,"children":919},{"class":389,"line":562},[920,924,928],{"type":321,"tag":387,"props":921,"children":922},{"style":394},[923],{"type":326,"value":719},{"type":321,"tag":387,"props":925,"children":926},{"style":441},[927],{"type":326,"value":444},{"type":321,"tag":387,"props":929,"children":930},{"style":400},[931],{"type":326,"value":932},"{\n",{"type":321,"tag":387,"props":934,"children":935},{"class":389,"line":571},[936],{"type":321,"tag":387,"props":937,"children":938},{"style":400},[939],{"type":326,"value":940},"        ID:          family.ID,\n",{"type":321,"tag":387,"props":942,"children":943},{"class":389,"line":580},[944,948],{"type":321,"tag":387,"props":945,"children":946},{"style":394},[947],{"type":326,"value":739},{"type":321,"tag":387,"props":949,"children":950},{"style":547},[951],{"type":326,"value":550},{"type":321,"tag":387,"props":953,"children":955},{"class":389,"line":954},13,[956],{"type":321,"tag":387,"props":957,"children":958},{"style":400},[959],{"type":326,"value":577},{"type":321,"tag":387,"props":961,"children":963},{"class":389,"line":962},14,[964],{"type":321,"tag":387,"props":965,"children":966},{"style":400},[967],{"type":326,"value":586},{"type":321,"tag":969,"props":970,"children":971},"style",{},[972],{"type":326,"value":973},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":314,"searchDepth":427,"depth":427,"links":975},[976,977],{"id":356,"depth":417,"text":359},{"id":367,"depth":417,"text":370},"markdown","content:99.integrations:2.models:6.family.md","content","99.integrations/2.models/6.family.md","99.integrations/2.models/6.family","md",{"loc":311},[986,990],{"_path":987,"title":988,"description":989},"/integrations/models/product","Product Model","Product represents a good or service that can be sold.",{"_path":991,"title":992,"description":993},"/integrations/controllers/customers","Customers - Controller","List, retrieve and find `Customer` models.",{"_path":363,"_dir":488,"_draft":313,"_partial":313,"_locale":314,"type":995,"title":334,"description":996,"properties":997,"_id":1006,"_type":1007,"_source":980,"_file":1008,"_stem":1009,"_extension":1007},"object","Product Family",{"id":998,"name":1001,"description":1003},{"type":821,"severity":999,"description":1000},"required","Unique identifier of the family",{"type":821,"severity":999,"description":1002},"Customer-facing name.",{"type":821,"severity":1004,"description":1005},"optional","Customer-facing description.","content:types:family:family.type.json","json","types/family/family.type.json","types/family/family.type",{"data":1011,"body":1012,"excerpt":-1,"toc":1018},{"title":314,"description":1002},{"type":318,"children":1013},[1014],{"type":321,"tag":322,"props":1015,"children":1016},{},[1017],{"type":326,"value":1002},{"title":314,"searchDepth":417,"depth":417,"links":1019},[],{"data":1021,"body":1022,"excerpt":-1,"toc":1028},{"title":314,"description":1000},{"type":318,"children":1023},[1024],{"type":321,"tag":322,"props":1025,"children":1026},{},[1027],{"type":326,"value":1000},{"title":314,"searchDepth":417,"depth":417,"links":1029},[],{"data":1031,"body":1032,"excerpt":-1,"toc":1038},{"title":314,"description":1005},{"type":318,"children":1033},[1034],{"type":321,"tag":322,"props":1035,"children":1036},{},[1037],{"type":326,"value":1005},{"title":314,"searchDepth":417,"depth":417,"links":1039},[],1775515592261]