[{"data":1,"prerenderedAt":2004},["ShallowReactive",2],{"navigation":3,"/integrations/models/customer":310,"/integrations/models/customer-surround":1783,"/types/customer/customer.type":1792,"vlxtQLXg3H":1836,"5O43ZJDSzQ":1847,"V8k9JlU8Xt":1875,"PholzukwSJ":1908,"WjmfafDm1H":1918,"Zb6wzyegbK":1929,"Hf6rQV0xDS":1958,"RCSLRYi72a":1979,"/types/coupon/discount.type":1989},[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":1776,"_id":1777,"_source":1778,"_file":1779,"_stem":1780,"_extension":1781,"sitemap":1782},"/integrations/models/customer","models",false,"","Customer Model","A customer is a user who is being billed for a subscription. This model includes information about the customer, such as their name, email, address, etc.",{"type":318,"children":319,"toc":1772},"root",[320,329,334,340,1766],{"type":321,"tag":322,"props":323,"children":325},"element","h2",{"id":324},"properties",[326],{"type":327,"value":328},"text","Properties",{"type":321,"tag":330,"props":331,"children":333},"field-schema",{"schema":332},"/types/customer/customer.type",[],{"type":321,"tag":322,"props":335,"children":337},{"id":336},"code-example",[338],{"type":327,"value":339},"Code Example",{"type":321,"tag":341,"props":342,"children":343},"code-group",{},[344,530,1106],{"type":321,"tag":345,"props":346,"children":351},"pre",{"className":347,"code":348,"filename":349,"language":350,"meta":314,"style":314},"language-typescript shiki shiki-themes github-light-default github-light-default github-dark-default","import { Integrator } from '@churnkey/sdk'\nexport class Customer extends Integrator.Customer {\n    constructor(customer: YourCustomer) {\n        super({\n            id: customer.id,\n            ... // map other properties\n        })\n    }\n}\n","Typescript (SDK)","typescript",[352],{"type":321,"tag":353,"props":354,"children":355},"code",{"__ignoreMap":314},[356,385,431,465,479,488,503,512,521],{"type":321,"tag":357,"props":358,"children":361},"span",{"class":359,"line":360},"line",1,[362,368,374,379],{"type":321,"tag":357,"props":363,"children":365},{"style":364},"--shiki-light:#CF222E;--shiki-default:#CF222E;--shiki-dark:#FF7B72",[366],{"type":327,"value":367},"import",{"type":321,"tag":357,"props":369,"children":371},{"style":370},"--shiki-light:#1F2328;--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[372],{"type":327,"value":373}," { Integrator } ",{"type":321,"tag":357,"props":375,"children":376},{"style":364},[377],{"type":327,"value":378},"from",{"type":321,"tag":357,"props":380,"children":382},{"style":381},"--shiki-light:#0A3069;--shiki-default:#0A3069;--shiki-dark:#A5D6FF",[383],{"type":327,"value":384}," '@churnkey/sdk'\n",{"type":321,"tag":357,"props":386,"children":388},{"class":359,"line":387},2,[389,394,399,405,410,415,420,426],{"type":321,"tag":357,"props":390,"children":391},{"style":364},[392],{"type":327,"value":393},"export",{"type":321,"tag":357,"props":395,"children":396},{"style":364},[397],{"type":327,"value":398}," class",{"type":321,"tag":357,"props":400,"children":402},{"style":401},"--shiki-light:#953800;--shiki-default:#953800;--shiki-dark:#FFA657",[403],{"type":327,"value":404}," Customer",{"type":321,"tag":357,"props":406,"children":407},{"style":364},[408],{"type":327,"value":409}," extends",{"type":321,"tag":357,"props":411,"children":412},{"style":401},[413],{"type":327,"value":414}," Integrator",{"type":321,"tag":357,"props":416,"children":417},{"style":370},[418],{"type":327,"value":419},".",{"type":321,"tag":357,"props":421,"children":423},{"style":422},"--shiki-light:#0550AE;--shiki-default:#0550AE;--shiki-dark:#79C0FF",[424],{"type":327,"value":425},"Customer",{"type":321,"tag":357,"props":427,"children":428},{"style":370},[429],{"type":327,"value":430}," {\n",{"type":321,"tag":357,"props":432,"children":434},{"class":359,"line":433},3,[435,440,445,450,455,460],{"type":321,"tag":357,"props":436,"children":437},{"style":364},[438],{"type":327,"value":439},"    constructor",{"type":321,"tag":357,"props":441,"children":442},{"style":370},[443],{"type":327,"value":444},"(",{"type":321,"tag":357,"props":446,"children":447},{"style":401},[448],{"type":327,"value":449},"customer",{"type":321,"tag":357,"props":451,"children":452},{"style":364},[453],{"type":327,"value":454},":",{"type":321,"tag":357,"props":456,"children":457},{"style":401},[458],{"type":327,"value":459}," YourCustomer",{"type":321,"tag":357,"props":461,"children":462},{"style":370},[463],{"type":327,"value":464},") {\n",{"type":321,"tag":357,"props":466,"children":468},{"class":359,"line":467},4,[469,474],{"type":321,"tag":357,"props":470,"children":471},{"style":422},[472],{"type":327,"value":473},"        super",{"type":321,"tag":357,"props":475,"children":476},{"style":370},[477],{"type":327,"value":478},"({\n",{"type":321,"tag":357,"props":480,"children":482},{"class":359,"line":481},5,[483],{"type":321,"tag":357,"props":484,"children":485},{"style":370},[486],{"type":327,"value":487},"            id: customer.id,\n",{"type":321,"tag":357,"props":489,"children":491},{"class":359,"line":490},6,[492,497],{"type":321,"tag":357,"props":493,"children":494},{"style":364},[495],{"type":327,"value":496},"            ...",{"type":321,"tag":357,"props":498,"children":500},{"style":499},"--shiki-light:#6E7781;--shiki-default:#6E7781;--shiki-dark:#8B949E",[501],{"type":327,"value":502}," // map other properties\n",{"type":321,"tag":357,"props":504,"children":506},{"class":359,"line":505},7,[507],{"type":321,"tag":357,"props":508,"children":509},{"style":370},[510],{"type":327,"value":511},"        })\n",{"type":321,"tag":357,"props":513,"children":515},{"class":359,"line":514},8,[516],{"type":321,"tag":357,"props":517,"children":518},{"style":370},[519],{"type":327,"value":520},"    }\n",{"type":321,"tag":357,"props":522,"children":524},{"class":359,"line":523},9,[525],{"type":321,"tag":357,"props":526,"children":527},{"style":370},[528],{"type":327,"value":529},"}\n",{"type":321,"tag":345,"props":531,"children":534},{"className":347,"code":532,"filename":533,"language":350,"meta":314,"style":314},"import { Coupon } from './Coupon'\n\ninterface Customer {\n    id: string\n    name?: string\n    lastName?: string\n    email?: string\n    phone?: string\n    addresses?: Address[]\n    discounts?: Discount[]\n    currency?: string\n    metadata?: Record\u003Cstring, string>\n}\n\ninterface Address {\n    country?: string\n    state?: string\n    city?: string\n    postalCode?: string\n    line1?: string\n    line2?: string\n}\n\ninterface Discount {\n    coupon: Coupon\n    start?: Date\n    end?: Date\n}\n\nexport function Customer(customer: YourCustomer): Customer {\n    return {\n        id: customer.id,\n        ... // map other properties\n    }\n}\n","Typescript",[535],{"type":321,"tag":353,"props":536,"children":537},{"__ignoreMap":314},[538,559,568,584,601,618,634,650,666,688,710,727,769,777,785,801,818,835,852,869,886,903,911,919,935,953,971,988,996,1004,1055,1068,1077,1090,1098],{"type":321,"tag":357,"props":539,"children":540},{"class":359,"line":360},[541,545,550,554],{"type":321,"tag":357,"props":542,"children":543},{"style":364},[544],{"type":327,"value":367},{"type":321,"tag":357,"props":546,"children":547},{"style":370},[548],{"type":327,"value":549}," { Coupon } ",{"type":321,"tag":357,"props":551,"children":552},{"style":364},[553],{"type":327,"value":378},{"type":321,"tag":357,"props":555,"children":556},{"style":381},[557],{"type":327,"value":558}," './Coupon'\n",{"type":321,"tag":357,"props":560,"children":561},{"class":359,"line":387},[562],{"type":321,"tag":357,"props":563,"children":565},{"emptyLinePlaceholder":564},true,[566],{"type":327,"value":567},"\n",{"type":321,"tag":357,"props":569,"children":570},{"class":359,"line":433},[571,576,580],{"type":321,"tag":357,"props":572,"children":573},{"style":364},[574],{"type":327,"value":575},"interface",{"type":321,"tag":357,"props":577,"children":578},{"style":401},[579],{"type":327,"value":404},{"type":321,"tag":357,"props":581,"children":582},{"style":370},[583],{"type":327,"value":430},{"type":321,"tag":357,"props":585,"children":586},{"class":359,"line":467},[587,592,596],{"type":321,"tag":357,"props":588,"children":589},{"style":401},[590],{"type":327,"value":591},"    id",{"type":321,"tag":357,"props":593,"children":594},{"style":364},[595],{"type":327,"value":454},{"type":321,"tag":357,"props":597,"children":598},{"style":422},[599],{"type":327,"value":600}," string\n",{"type":321,"tag":357,"props":602,"children":603},{"class":359,"line":481},[604,609,614],{"type":321,"tag":357,"props":605,"children":606},{"style":401},[607],{"type":327,"value":608},"    name",{"type":321,"tag":357,"props":610,"children":611},{"style":364},[612],{"type":327,"value":613},"?:",{"type":321,"tag":357,"props":615,"children":616},{"style":422},[617],{"type":327,"value":600},{"type":321,"tag":357,"props":619,"children":620},{"class":359,"line":490},[621,626,630],{"type":321,"tag":357,"props":622,"children":623},{"style":401},[624],{"type":327,"value":625},"    lastName",{"type":321,"tag":357,"props":627,"children":628},{"style":364},[629],{"type":327,"value":613},{"type":321,"tag":357,"props":631,"children":632},{"style":422},[633],{"type":327,"value":600},{"type":321,"tag":357,"props":635,"children":636},{"class":359,"line":505},[637,642,646],{"type":321,"tag":357,"props":638,"children":639},{"style":401},[640],{"type":327,"value":641},"    email",{"type":321,"tag":357,"props":643,"children":644},{"style":364},[645],{"type":327,"value":613},{"type":321,"tag":357,"props":647,"children":648},{"style":422},[649],{"type":327,"value":600},{"type":321,"tag":357,"props":651,"children":652},{"class":359,"line":514},[653,658,662],{"type":321,"tag":357,"props":654,"children":655},{"style":401},[656],{"type":327,"value":657},"    phone",{"type":321,"tag":357,"props":659,"children":660},{"style":364},[661],{"type":327,"value":613},{"type":321,"tag":357,"props":663,"children":664},{"style":422},[665],{"type":327,"value":600},{"type":321,"tag":357,"props":667,"children":668},{"class":359,"line":523},[669,674,678,683],{"type":321,"tag":357,"props":670,"children":671},{"style":401},[672],{"type":327,"value":673},"    addresses",{"type":321,"tag":357,"props":675,"children":676},{"style":364},[677],{"type":327,"value":613},{"type":321,"tag":357,"props":679,"children":680},{"style":401},[681],{"type":327,"value":682}," Address",{"type":321,"tag":357,"props":684,"children":685},{"style":370},[686],{"type":327,"value":687},"[]\n",{"type":321,"tag":357,"props":689,"children":691},{"class":359,"line":690},10,[692,697,701,706],{"type":321,"tag":357,"props":693,"children":694},{"style":401},[695],{"type":327,"value":696},"    discounts",{"type":321,"tag":357,"props":698,"children":699},{"style":364},[700],{"type":327,"value":613},{"type":321,"tag":357,"props":702,"children":703},{"style":401},[704],{"type":327,"value":705}," Discount",{"type":321,"tag":357,"props":707,"children":708},{"style":370},[709],{"type":327,"value":687},{"type":321,"tag":357,"props":711,"children":713},{"class":359,"line":712},11,[714,719,723],{"type":321,"tag":357,"props":715,"children":716},{"style":401},[717],{"type":327,"value":718},"    currency",{"type":321,"tag":357,"props":720,"children":721},{"style":364},[722],{"type":327,"value":613},{"type":321,"tag":357,"props":724,"children":725},{"style":422},[726],{"type":327,"value":600},{"type":321,"tag":357,"props":728,"children":730},{"class":359,"line":729},12,[731,736,740,745,750,755,760,764],{"type":321,"tag":357,"props":732,"children":733},{"style":401},[734],{"type":327,"value":735},"    metadata",{"type":321,"tag":357,"props":737,"children":738},{"style":364},[739],{"type":327,"value":613},{"type":321,"tag":357,"props":741,"children":742},{"style":401},[743],{"type":327,"value":744}," Record",{"type":321,"tag":357,"props":746,"children":747},{"style":370},[748],{"type":327,"value":749},"\u003C",{"type":321,"tag":357,"props":751,"children":752},{"style":422},[753],{"type":327,"value":754},"string",{"type":321,"tag":357,"props":756,"children":757},{"style":370},[758],{"type":327,"value":759},", ",{"type":321,"tag":357,"props":761,"children":762},{"style":422},[763],{"type":327,"value":754},{"type":321,"tag":357,"props":765,"children":766},{"style":370},[767],{"type":327,"value":768},">\n",{"type":321,"tag":357,"props":770,"children":772},{"class":359,"line":771},13,[773],{"type":321,"tag":357,"props":774,"children":775},{"style":370},[776],{"type":327,"value":529},{"type":321,"tag":357,"props":778,"children":780},{"class":359,"line":779},14,[781],{"type":321,"tag":357,"props":782,"children":783},{"emptyLinePlaceholder":564},[784],{"type":327,"value":567},{"type":321,"tag":357,"props":786,"children":788},{"class":359,"line":787},15,[789,793,797],{"type":321,"tag":357,"props":790,"children":791},{"style":364},[792],{"type":327,"value":575},{"type":321,"tag":357,"props":794,"children":795},{"style":401},[796],{"type":327,"value":682},{"type":321,"tag":357,"props":798,"children":799},{"style":370},[800],{"type":327,"value":430},{"type":321,"tag":357,"props":802,"children":804},{"class":359,"line":803},16,[805,810,814],{"type":321,"tag":357,"props":806,"children":807},{"style":401},[808],{"type":327,"value":809},"    country",{"type":321,"tag":357,"props":811,"children":812},{"style":364},[813],{"type":327,"value":613},{"type":321,"tag":357,"props":815,"children":816},{"style":422},[817],{"type":327,"value":600},{"type":321,"tag":357,"props":819,"children":821},{"class":359,"line":820},17,[822,827,831],{"type":321,"tag":357,"props":823,"children":824},{"style":401},[825],{"type":327,"value":826},"    state",{"type":321,"tag":357,"props":828,"children":829},{"style":364},[830],{"type":327,"value":613},{"type":321,"tag":357,"props":832,"children":833},{"style":422},[834],{"type":327,"value":600},{"type":321,"tag":357,"props":836,"children":838},{"class":359,"line":837},18,[839,844,848],{"type":321,"tag":357,"props":840,"children":841},{"style":401},[842],{"type":327,"value":843},"    city",{"type":321,"tag":357,"props":845,"children":846},{"style":364},[847],{"type":327,"value":613},{"type":321,"tag":357,"props":849,"children":850},{"style":422},[851],{"type":327,"value":600},{"type":321,"tag":357,"props":853,"children":855},{"class":359,"line":854},19,[856,861,865],{"type":321,"tag":357,"props":857,"children":858},{"style":401},[859],{"type":327,"value":860},"    postalCode",{"type":321,"tag":357,"props":862,"children":863},{"style":364},[864],{"type":327,"value":613},{"type":321,"tag":357,"props":866,"children":867},{"style":422},[868],{"type":327,"value":600},{"type":321,"tag":357,"props":870,"children":872},{"class":359,"line":871},20,[873,878,882],{"type":321,"tag":357,"props":874,"children":875},{"style":401},[876],{"type":327,"value":877},"    line1",{"type":321,"tag":357,"props":879,"children":880},{"style":364},[881],{"type":327,"value":613},{"type":321,"tag":357,"props":883,"children":884},{"style":422},[885],{"type":327,"value":600},{"type":321,"tag":357,"props":887,"children":889},{"class":359,"line":888},21,[890,895,899],{"type":321,"tag":357,"props":891,"children":892},{"style":401},[893],{"type":327,"value":894},"    line2",{"type":321,"tag":357,"props":896,"children":897},{"style":364},[898],{"type":327,"value":613},{"type":321,"tag":357,"props":900,"children":901},{"style":422},[902],{"type":327,"value":600},{"type":321,"tag":357,"props":904,"children":906},{"class":359,"line":905},22,[907],{"type":321,"tag":357,"props":908,"children":909},{"style":370},[910],{"type":327,"value":529},{"type":321,"tag":357,"props":912,"children":914},{"class":359,"line":913},23,[915],{"type":321,"tag":357,"props":916,"children":917},{"emptyLinePlaceholder":564},[918],{"type":327,"value":567},{"type":321,"tag":357,"props":920,"children":922},{"class":359,"line":921},24,[923,927,931],{"type":321,"tag":357,"props":924,"children":925},{"style":364},[926],{"type":327,"value":575},{"type":321,"tag":357,"props":928,"children":929},{"style":401},[930],{"type":327,"value":705},{"type":321,"tag":357,"props":932,"children":933},{"style":370},[934],{"type":327,"value":430},{"type":321,"tag":357,"props":936,"children":938},{"class":359,"line":937},25,[939,944,948],{"type":321,"tag":357,"props":940,"children":941},{"style":401},[942],{"type":327,"value":943},"    coupon",{"type":321,"tag":357,"props":945,"children":946},{"style":364},[947],{"type":327,"value":454},{"type":321,"tag":357,"props":949,"children":950},{"style":401},[951],{"type":327,"value":952}," Coupon\n",{"type":321,"tag":357,"props":954,"children":956},{"class":359,"line":955},26,[957,962,966],{"type":321,"tag":357,"props":958,"children":959},{"style":401},[960],{"type":327,"value":961},"    start",{"type":321,"tag":357,"props":963,"children":964},{"style":364},[965],{"type":327,"value":613},{"type":321,"tag":357,"props":967,"children":968},{"style":401},[969],{"type":327,"value":970}," Date\n",{"type":321,"tag":357,"props":972,"children":974},{"class":359,"line":973},27,[975,980,984],{"type":321,"tag":357,"props":976,"children":977},{"style":401},[978],{"type":327,"value":979},"    end",{"type":321,"tag":357,"props":981,"children":982},{"style":364},[983],{"type":327,"value":613},{"type":321,"tag":357,"props":985,"children":986},{"style":401},[987],{"type":327,"value":970},{"type":321,"tag":357,"props":989,"children":991},{"class":359,"line":990},28,[992],{"type":321,"tag":357,"props":993,"children":994},{"style":370},[995],{"type":327,"value":529},{"type":321,"tag":357,"props":997,"children":999},{"class":359,"line":998},29,[1000],{"type":321,"tag":357,"props":1001,"children":1002},{"emptyLinePlaceholder":564},[1003],{"type":327,"value":567},{"type":321,"tag":357,"props":1005,"children":1007},{"class":359,"line":1006},30,[1008,1012,1017,1022,1026,1030,1034,1038,1043,1047,1051],{"type":321,"tag":357,"props":1009,"children":1010},{"style":364},[1011],{"type":327,"value":393},{"type":321,"tag":357,"props":1013,"children":1014},{"style":364},[1015],{"type":327,"value":1016}," function",{"type":321,"tag":357,"props":1018,"children":1020},{"style":1019},"--shiki-light:#8250DF;--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[1021],{"type":327,"value":404},{"type":321,"tag":357,"props":1023,"children":1024},{"style":370},[1025],{"type":327,"value":444},{"type":321,"tag":357,"props":1027,"children":1028},{"style":401},[1029],{"type":327,"value":449},{"type":321,"tag":357,"props":1031,"children":1032},{"style":364},[1033],{"type":327,"value":454},{"type":321,"tag":357,"props":1035,"children":1036},{"style":401},[1037],{"type":327,"value":459},{"type":321,"tag":357,"props":1039,"children":1040},{"style":370},[1041],{"type":327,"value":1042},")",{"type":321,"tag":357,"props":1044,"children":1045},{"style":364},[1046],{"type":327,"value":454},{"type":321,"tag":357,"props":1048,"children":1049},{"style":401},[1050],{"type":327,"value":404},{"type":321,"tag":357,"props":1052,"children":1053},{"style":370},[1054],{"type":327,"value":430},{"type":321,"tag":357,"props":1056,"children":1058},{"class":359,"line":1057},31,[1059,1064],{"type":321,"tag":357,"props":1060,"children":1061},{"style":364},[1062],{"type":327,"value":1063},"    return",{"type":321,"tag":357,"props":1065,"children":1066},{"style":370},[1067],{"type":327,"value":430},{"type":321,"tag":357,"props":1069,"children":1071},{"class":359,"line":1070},32,[1072],{"type":321,"tag":357,"props":1073,"children":1074},{"style":370},[1075],{"type":327,"value":1076},"        id: customer.id,\n",{"type":321,"tag":357,"props":1078,"children":1080},{"class":359,"line":1079},33,[1081,1086],{"type":321,"tag":357,"props":1082,"children":1083},{"style":364},[1084],{"type":327,"value":1085},"        ...",{"type":321,"tag":357,"props":1087,"children":1088},{"style":499},[1089],{"type":327,"value":502},{"type":321,"tag":357,"props":1091,"children":1093},{"class":359,"line":1092},34,[1094],{"type":321,"tag":357,"props":1095,"children":1096},{"style":370},[1097],{"type":327,"value":520},{"type":321,"tag":357,"props":1099,"children":1101},{"class":359,"line":1100},35,[1102],{"type":321,"tag":357,"props":1103,"children":1104},{"style":370},[1105],{"type":327,"value":529},{"type":321,"tag":345,"props":1107,"children":1112},{"className":1108,"code":1109,"filename":1110,"language":1111,"meta":314,"style":314},"language-go shiki shiki-themes github-light-default github-light-default github-dark-default","package models\n\nimport (\n    \"time\"\n)\n\ntype Customer struct {\n    ID        string            `json:\"id\"`\n    Name      *string           `json:\"name\"`\n    LastName  *string           `json:\"lastName\"`\n    Email     *string           `json:\"email\"`\n    Phone     *string           `json:\"phone\"`\n    Addresses []Address         `json:\"addresses\"`\n    Discounts []Discount        `json:\"discounts\"`\n    Currency  *string           `json:\"currency\"`\n    Metadata  map[string]string `json:\"metadata\"`\n}\n\ntype Address struct {\n    Country    *string `json:\"country\"`\n    State      *string `json:\"state\"`\n    City       *string `json:\"city\"`\n    PostalCode *string `json:\"postalCode\"`\n    Line1      *string `json:\"line1\"`\n    Line2      *string `json:\"line2\"`\n}\n\ntype Discount struct {\n    Coupon Coupon     `json:\"coupon\"`\n    Start  *time.Time `json:\"start\"`\n    End    *time.Time `json:\"end\"`\n}\n\nfunc Customer(customer YourCustomer) Customer {\n    return Customer{\n        ID:        customer.ID,\n        // map other properties\n    }\n}\n","Go","go",[1113],{"type":321,"tag":353,"props":1114,"children":1115},{"__ignoreMap":314},[1116,1129,1136,1148,1166,1174,1181,1202,1219,1241,1262,1283,1304,1322,1339,1360,1396,1403,1410,1429,1450,1471,1492,1513,1534,1555,1562,1569,1588,1606,1636,1665,1672,1679,1716,1732,1741,1750,1758],{"type":321,"tag":357,"props":1117,"children":1118},{"class":359,"line":360},[1119,1124],{"type":321,"tag":357,"props":1120,"children":1121},{"style":364},[1122],{"type":327,"value":1123},"package",{"type":321,"tag":357,"props":1125,"children":1126},{"style":401},[1127],{"type":327,"value":1128}," models\n",{"type":321,"tag":357,"props":1130,"children":1131},{"class":359,"line":387},[1132],{"type":321,"tag":357,"props":1133,"children":1134},{"emptyLinePlaceholder":564},[1135],{"type":327,"value":567},{"type":321,"tag":357,"props":1137,"children":1138},{"class":359,"line":433},[1139,1143],{"type":321,"tag":357,"props":1140,"children":1141},{"style":364},[1142],{"type":327,"value":367},{"type":321,"tag":357,"props":1144,"children":1145},{"style":370},[1146],{"type":327,"value":1147}," (\n",{"type":321,"tag":357,"props":1149,"children":1150},{"class":359,"line":467},[1151,1156,1161],{"type":321,"tag":357,"props":1152,"children":1153},{"style":381},[1154],{"type":327,"value":1155},"    \"",{"type":321,"tag":357,"props":1157,"children":1158},{"style":401},[1159],{"type":327,"value":1160},"time",{"type":321,"tag":357,"props":1162,"children":1163},{"style":381},[1164],{"type":327,"value":1165},"\"\n",{"type":321,"tag":357,"props":1167,"children":1168},{"class":359,"line":481},[1169],{"type":321,"tag":357,"props":1170,"children":1171},{"style":370},[1172],{"type":327,"value":1173},")\n",{"type":321,"tag":357,"props":1175,"children":1176},{"class":359,"line":490},[1177],{"type":321,"tag":357,"props":1178,"children":1179},{"emptyLinePlaceholder":564},[1180],{"type":327,"value":567},{"type":321,"tag":357,"props":1182,"children":1183},{"class":359,"line":505},[1184,1189,1193,1198],{"type":321,"tag":357,"props":1185,"children":1186},{"style":364},[1187],{"type":327,"value":1188},"type",{"type":321,"tag":357,"props":1190,"children":1191},{"style":401},[1192],{"type":327,"value":404},{"type":321,"tag":357,"props":1194,"children":1195},{"style":364},[1196],{"type":327,"value":1197}," struct",{"type":321,"tag":357,"props":1199,"children":1200},{"style":370},[1201],{"type":327,"value":430},{"type":321,"tag":357,"props":1203,"children":1204},{"class":359,"line":514},[1205,1210,1214],{"type":321,"tag":357,"props":1206,"children":1207},{"style":370},[1208],{"type":327,"value":1209},"    ID        ",{"type":321,"tag":357,"props":1211,"children":1212},{"style":364},[1213],{"type":327,"value":754},{"type":321,"tag":357,"props":1215,"children":1216},{"style":381},[1217],{"type":327,"value":1218},"            `json:\"id\"`\n",{"type":321,"tag":357,"props":1220,"children":1221},{"class":359,"line":523},[1222,1227,1232,1236],{"type":321,"tag":357,"props":1223,"children":1224},{"style":370},[1225],{"type":327,"value":1226},"    Name      ",{"type":321,"tag":357,"props":1228,"children":1229},{"style":364},[1230],{"type":327,"value":1231},"*",{"type":321,"tag":357,"props":1233,"children":1234},{"style":364},[1235],{"type":327,"value":754},{"type":321,"tag":357,"props":1237,"children":1238},{"style":381},[1239],{"type":327,"value":1240},"           `json:\"name\"`\n",{"type":321,"tag":357,"props":1242,"children":1243},{"class":359,"line":690},[1244,1249,1253,1257],{"type":321,"tag":357,"props":1245,"children":1246},{"style":370},[1247],{"type":327,"value":1248},"    LastName  ",{"type":321,"tag":357,"props":1250,"children":1251},{"style":364},[1252],{"type":327,"value":1231},{"type":321,"tag":357,"props":1254,"children":1255},{"style":364},[1256],{"type":327,"value":754},{"type":321,"tag":357,"props":1258,"children":1259},{"style":381},[1260],{"type":327,"value":1261},"           `json:\"lastName\"`\n",{"type":321,"tag":357,"props":1263,"children":1264},{"class":359,"line":712},[1265,1270,1274,1278],{"type":321,"tag":357,"props":1266,"children":1267},{"style":370},[1268],{"type":327,"value":1269},"    Email     ",{"type":321,"tag":357,"props":1271,"children":1272},{"style":364},[1273],{"type":327,"value":1231},{"type":321,"tag":357,"props":1275,"children":1276},{"style":364},[1277],{"type":327,"value":754},{"type":321,"tag":357,"props":1279,"children":1280},{"style":381},[1281],{"type":327,"value":1282},"           `json:\"email\"`\n",{"type":321,"tag":357,"props":1284,"children":1285},{"class":359,"line":729},[1286,1291,1295,1299],{"type":321,"tag":357,"props":1287,"children":1288},{"style":370},[1289],{"type":327,"value":1290},"    Phone     ",{"type":321,"tag":357,"props":1292,"children":1293},{"style":364},[1294],{"type":327,"value":1231},{"type":321,"tag":357,"props":1296,"children":1297},{"style":364},[1298],{"type":327,"value":754},{"type":321,"tag":357,"props":1300,"children":1301},{"style":381},[1302],{"type":327,"value":1303},"           `json:\"phone\"`\n",{"type":321,"tag":357,"props":1305,"children":1306},{"class":359,"line":771},[1307,1312,1317],{"type":321,"tag":357,"props":1308,"children":1309},{"style":370},[1310],{"type":327,"value":1311},"    Addresses []",{"type":321,"tag":357,"props":1313,"children":1314},{"style":401},[1315],{"type":327,"value":1316},"Address",{"type":321,"tag":357,"props":1318,"children":1319},{"style":381},[1320],{"type":327,"value":1321},"         `json:\"addresses\"`\n",{"type":321,"tag":357,"props":1323,"children":1324},{"class":359,"line":779},[1325,1330,1334],{"type":321,"tag":357,"props":1326,"children":1327},{"style":370},[1328],{"type":327,"value":1329},"    Discounts []",{"type":321,"tag":357,"props":1331,"children":1332},{"style":401},[1333],{"type":327,"value":135},{"type":321,"tag":357,"props":1335,"children":1336},{"style":381},[1337],{"type":327,"value":1338},"        `json:\"discounts\"`\n",{"type":321,"tag":357,"props":1340,"children":1341},{"class":359,"line":787},[1342,1347,1351,1355],{"type":321,"tag":357,"props":1343,"children":1344},{"style":370},[1345],{"type":327,"value":1346},"    Currency  ",{"type":321,"tag":357,"props":1348,"children":1349},{"style":364},[1350],{"type":327,"value":1231},{"type":321,"tag":357,"props":1352,"children":1353},{"style":364},[1354],{"type":327,"value":754},{"type":321,"tag":357,"props":1356,"children":1357},{"style":381},[1358],{"type":327,"value":1359},"           `json:\"currency\"`\n",{"type":321,"tag":357,"props":1361,"children":1362},{"class":359,"line":803},[1363,1368,1373,1378,1382,1387,1391],{"type":321,"tag":357,"props":1364,"children":1365},{"style":370},[1366],{"type":327,"value":1367},"    Metadata  ",{"type":321,"tag":357,"props":1369,"children":1370},{"style":364},[1371],{"type":327,"value":1372},"map",{"type":321,"tag":357,"props":1374,"children":1375},{"style":370},[1376],{"type":327,"value":1377},"[",{"type":321,"tag":357,"props":1379,"children":1380},{"style":364},[1381],{"type":327,"value":754},{"type":321,"tag":357,"props":1383,"children":1384},{"style":370},[1385],{"type":327,"value":1386},"]",{"type":321,"tag":357,"props":1388,"children":1389},{"style":364},[1390],{"type":327,"value":754},{"type":321,"tag":357,"props":1392,"children":1393},{"style":381},[1394],{"type":327,"value":1395}," `json:\"metadata\"`\n",{"type":321,"tag":357,"props":1397,"children":1398},{"class":359,"line":820},[1399],{"type":321,"tag":357,"props":1400,"children":1401},{"style":370},[1402],{"type":327,"value":529},{"type":321,"tag":357,"props":1404,"children":1405},{"class":359,"line":837},[1406],{"type":321,"tag":357,"props":1407,"children":1408},{"emptyLinePlaceholder":564},[1409],{"type":327,"value":567},{"type":321,"tag":357,"props":1411,"children":1412},{"class":359,"line":854},[1413,1417,1421,1425],{"type":321,"tag":357,"props":1414,"children":1415},{"style":364},[1416],{"type":327,"value":1188},{"type":321,"tag":357,"props":1418,"children":1419},{"style":401},[1420],{"type":327,"value":682},{"type":321,"tag":357,"props":1422,"children":1423},{"style":364},[1424],{"type":327,"value":1197},{"type":321,"tag":357,"props":1426,"children":1427},{"style":370},[1428],{"type":327,"value":430},{"type":321,"tag":357,"props":1430,"children":1431},{"class":359,"line":871},[1432,1437,1441,1445],{"type":321,"tag":357,"props":1433,"children":1434},{"style":370},[1435],{"type":327,"value":1436},"    Country    ",{"type":321,"tag":357,"props":1438,"children":1439},{"style":364},[1440],{"type":327,"value":1231},{"type":321,"tag":357,"props":1442,"children":1443},{"style":364},[1444],{"type":327,"value":754},{"type":321,"tag":357,"props":1446,"children":1447},{"style":381},[1448],{"type":327,"value":1449}," `json:\"country\"`\n",{"type":321,"tag":357,"props":1451,"children":1452},{"class":359,"line":888},[1453,1458,1462,1466],{"type":321,"tag":357,"props":1454,"children":1455},{"style":370},[1456],{"type":327,"value":1457},"    State      ",{"type":321,"tag":357,"props":1459,"children":1460},{"style":364},[1461],{"type":327,"value":1231},{"type":321,"tag":357,"props":1463,"children":1464},{"style":364},[1465],{"type":327,"value":754},{"type":321,"tag":357,"props":1467,"children":1468},{"style":381},[1469],{"type":327,"value":1470}," `json:\"state\"`\n",{"type":321,"tag":357,"props":1472,"children":1473},{"class":359,"line":905},[1474,1479,1483,1487],{"type":321,"tag":357,"props":1475,"children":1476},{"style":370},[1477],{"type":327,"value":1478},"    City       ",{"type":321,"tag":357,"props":1480,"children":1481},{"style":364},[1482],{"type":327,"value":1231},{"type":321,"tag":357,"props":1484,"children":1485},{"style":364},[1486],{"type":327,"value":754},{"type":321,"tag":357,"props":1488,"children":1489},{"style":381},[1490],{"type":327,"value":1491}," `json:\"city\"`\n",{"type":321,"tag":357,"props":1493,"children":1494},{"class":359,"line":913},[1495,1500,1504,1508],{"type":321,"tag":357,"props":1496,"children":1497},{"style":370},[1498],{"type":327,"value":1499},"    PostalCode ",{"type":321,"tag":357,"props":1501,"children":1502},{"style":364},[1503],{"type":327,"value":1231},{"type":321,"tag":357,"props":1505,"children":1506},{"style":364},[1507],{"type":327,"value":754},{"type":321,"tag":357,"props":1509,"children":1510},{"style":381},[1511],{"type":327,"value":1512}," `json:\"postalCode\"`\n",{"type":321,"tag":357,"props":1514,"children":1515},{"class":359,"line":921},[1516,1521,1525,1529],{"type":321,"tag":357,"props":1517,"children":1518},{"style":370},[1519],{"type":327,"value":1520},"    Line1      ",{"type":321,"tag":357,"props":1522,"children":1523},{"style":364},[1524],{"type":327,"value":1231},{"type":321,"tag":357,"props":1526,"children":1527},{"style":364},[1528],{"type":327,"value":754},{"type":321,"tag":357,"props":1530,"children":1531},{"style":381},[1532],{"type":327,"value":1533}," `json:\"line1\"`\n",{"type":321,"tag":357,"props":1535,"children":1536},{"class":359,"line":937},[1537,1542,1546,1550],{"type":321,"tag":357,"props":1538,"children":1539},{"style":370},[1540],{"type":327,"value":1541},"    Line2      ",{"type":321,"tag":357,"props":1543,"children":1544},{"style":364},[1545],{"type":327,"value":1231},{"type":321,"tag":357,"props":1547,"children":1548},{"style":364},[1549],{"type":327,"value":754},{"type":321,"tag":357,"props":1551,"children":1552},{"style":381},[1553],{"type":327,"value":1554}," `json:\"line2\"`\n",{"type":321,"tag":357,"props":1556,"children":1557},{"class":359,"line":955},[1558],{"type":321,"tag":357,"props":1559,"children":1560},{"style":370},[1561],{"type":327,"value":529},{"type":321,"tag":357,"props":1563,"children":1564},{"class":359,"line":973},[1565],{"type":321,"tag":357,"props":1566,"children":1567},{"emptyLinePlaceholder":564},[1568],{"type":327,"value":567},{"type":321,"tag":357,"props":1570,"children":1571},{"class":359,"line":990},[1572,1576,1580,1584],{"type":321,"tag":357,"props":1573,"children":1574},{"style":364},[1575],{"type":327,"value":1188},{"type":321,"tag":357,"props":1577,"children":1578},{"style":401},[1579],{"type":327,"value":705},{"type":321,"tag":357,"props":1581,"children":1582},{"style":364},[1583],{"type":327,"value":1197},{"type":321,"tag":357,"props":1585,"children":1586},{"style":370},[1587],{"type":327,"value":430},{"type":321,"tag":357,"props":1589,"children":1590},{"class":359,"line":998},[1591,1596,1601],{"type":321,"tag":357,"props":1592,"children":1593},{"style":370},[1594],{"type":327,"value":1595},"    Coupon ",{"type":321,"tag":357,"props":1597,"children":1598},{"style":401},[1599],{"type":327,"value":1600},"Coupon",{"type":321,"tag":357,"props":1602,"children":1603},{"style":381},[1604],{"type":327,"value":1605},"     `json:\"coupon\"`\n",{"type":321,"tag":357,"props":1607,"children":1608},{"class":359,"line":1006},[1609,1614,1618,1622,1626,1631],{"type":321,"tag":357,"props":1610,"children":1611},{"style":370},[1612],{"type":327,"value":1613},"    Start  ",{"type":321,"tag":357,"props":1615,"children":1616},{"style":364},[1617],{"type":327,"value":1231},{"type":321,"tag":357,"props":1619,"children":1620},{"style":401},[1621],{"type":327,"value":1160},{"type":321,"tag":357,"props":1623,"children":1624},{"style":370},[1625],{"type":327,"value":419},{"type":321,"tag":357,"props":1627,"children":1628},{"style":401},[1629],{"type":327,"value":1630},"Time",{"type":321,"tag":357,"props":1632,"children":1633},{"style":381},[1634],{"type":327,"value":1635}," `json:\"start\"`\n",{"type":321,"tag":357,"props":1637,"children":1638},{"class":359,"line":1057},[1639,1644,1648,1652,1656,1660],{"type":321,"tag":357,"props":1640,"children":1641},{"style":370},[1642],{"type":327,"value":1643},"    End    ",{"type":321,"tag":357,"props":1645,"children":1646},{"style":364},[1647],{"type":327,"value":1231},{"type":321,"tag":357,"props":1649,"children":1650},{"style":401},[1651],{"type":327,"value":1160},{"type":321,"tag":357,"props":1653,"children":1654},{"style":370},[1655],{"type":327,"value":419},{"type":321,"tag":357,"props":1657,"children":1658},{"style":401},[1659],{"type":327,"value":1630},{"type":321,"tag":357,"props":1661,"children":1662},{"style":381},[1663],{"type":327,"value":1664}," `json:\"end\"`\n",{"type":321,"tag":357,"props":1666,"children":1667},{"class":359,"line":1070},[1668],{"type":321,"tag":357,"props":1669,"children":1670},{"style":370},[1671],{"type":327,"value":529},{"type":321,"tag":357,"props":1673,"children":1674},{"class":359,"line":1079},[1675],{"type":321,"tag":357,"props":1676,"children":1677},{"emptyLinePlaceholder":564},[1678],{"type":327,"value":567},{"type":321,"tag":357,"props":1680,"children":1681},{"class":359,"line":1092},[1682,1687,1691,1695,1699,1703,1708,1712],{"type":321,"tag":357,"props":1683,"children":1684},{"style":364},[1685],{"type":327,"value":1686},"func",{"type":321,"tag":357,"props":1688,"children":1689},{"style":1019},[1690],{"type":327,"value":404},{"type":321,"tag":357,"props":1692,"children":1693},{"style":370},[1694],{"type":327,"value":444},{"type":321,"tag":357,"props":1696,"children":1697},{"style":401},[1698],{"type":327,"value":449},{"type":321,"tag":357,"props":1700,"children":1701},{"style":401},[1702],{"type":327,"value":459},{"type":321,"tag":357,"props":1704,"children":1705},{"style":370},[1706],{"type":327,"value":1707},") ",{"type":321,"tag":357,"props":1709,"children":1710},{"style":401},[1711],{"type":327,"value":425},{"type":321,"tag":357,"props":1713,"children":1714},{"style":370},[1715],{"type":327,"value":430},{"type":321,"tag":357,"props":1717,"children":1718},{"class":359,"line":1100},[1719,1723,1727],{"type":321,"tag":357,"props":1720,"children":1721},{"style":364},[1722],{"type":327,"value":1063},{"type":321,"tag":357,"props":1724,"children":1725},{"style":401},[1726],{"type":327,"value":404},{"type":321,"tag":357,"props":1728,"children":1729},{"style":370},[1730],{"type":327,"value":1731},"{\n",{"type":321,"tag":357,"props":1733,"children":1735},{"class":359,"line":1734},36,[1736],{"type":321,"tag":357,"props":1737,"children":1738},{"style":370},[1739],{"type":327,"value":1740},"        ID:        customer.ID,\n",{"type":321,"tag":357,"props":1742,"children":1744},{"class":359,"line":1743},37,[1745],{"type":321,"tag":357,"props":1746,"children":1747},{"style":499},[1748],{"type":327,"value":1749},"        // map other properties\n",{"type":321,"tag":357,"props":1751,"children":1753},{"class":359,"line":1752},38,[1754],{"type":321,"tag":357,"props":1755,"children":1756},{"style":370},[1757],{"type":327,"value":520},{"type":321,"tag":357,"props":1759,"children":1761},{"class":359,"line":1760},39,[1762],{"type":321,"tag":357,"props":1763,"children":1764},{"style":370},[1765],{"type":327,"value":529},{"type":321,"tag":1767,"props":1768,"children":1769},"style",{},[1770],{"type":327,"value":1771},"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":433,"depth":433,"links":1773},[1774,1775],{"id":324,"depth":387,"text":328},{"id":336,"depth":387,"text":339},"markdown","content:99.integrations:2.models:1.customer.md","content","99.integrations/2.models/1.customer.md","99.integrations/2.models/1.customer","md",{"loc":311},[1784,1788],{"_path":1785,"title":1786,"description":1787},"/integrations","Custom Provider Integration","Build a custom integration to connect your billing system with Churnkey's retention tools.",{"_path":1789,"title":1790,"description":1791},"/integrations/models/price","Price Model","A price (also known as plan) defines the cost, currency and billing cycle of product or service.",{"_path":332,"_dir":449,"_draft":313,"_partial":313,"_locale":314,"type":1793,"title":425,"properties":1794,"_id":1832,"_type":1833,"_source":1778,"_file":1834,"_stem":1835,"_extension":1833},"object",{"id":1795,"name":1798,"lastName":1801,"email":1804,"phone":1806,"addresses":1807,"discounts":1824,"currency":1828,"metadata":1830},{"type":754,"severity":1796,"description":1797},"required","The unique identifier of the customer",{"type":754,"severity":1799,"description":1800},"recommended","Name of the customer. If your app has `lastName`, this should be set to `firstName` value.",{"type":754,"severity":1802,"description":1803},"optional","Set this if your app has `lastName` and `firstName`, otherwise use `name`.",{"type":754,"severity":1799,"description":1805},"It's recommended to specify either email or phone, or both. If none is specified, some features won't be available.",{"type":754,"severity":1799,"description":1805},{"type":1808,"severity":1799,"description":1809,"items":1810},"array"," Array of customer's billing addresses. First address is considered primary",{"type":1793,"properties":1811},{"country":1812,"state":1814,"city":1816,"postalCode":1818,"line1":1820,"line2":1822},{"type":754,"severity":1799,"description":1813},"Two-letter country code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)",{"type":754,"severity":1799,"description":1815},"State, county, province or region name",{"type":754,"severity":1799,"description":1817},"City name",{"type":754,"severity":1799,"description":1819},"ZIP or postal code",{"type":754,"severity":1802,"description":1821},"Address line 1",{"type":754,"severity":1802,"description":1823},"Address line 2",{"type":1808,"severity":1802,"description":1825,"items":1826},"Array of discounts applied to the customer. If your app has customer level discounts, you can specify them in the `discounts` array. Make sure you already have a [Coupon model](/integrations/models/coupon) to use it here.",{"ref":1827},"/types/coupon/discount.type.json",{"type":754,"severity":1802,"description":1829}," If your app associates a currency with a customer, set this field to an ISO currency code [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).",{"type":1793,"severity":1802,"description":1831},"Arbitrary data in key-value format. Where both key and value are strings.","content:types:customer:customer.type.json","json","types/customer/customer.type.json","types/customer/customer.type",{"data":1837,"body":1838,"excerpt":-1,"toc":1845},{"title":314,"description":1797},{"type":318,"children":1839},[1840],{"type":321,"tag":1841,"props":1842,"children":1843},"p",{},[1844],{"type":327,"value":1797},{"title":314,"searchDepth":387,"depth":387,"links":1846},[],{"data":1848,"body":1850,"excerpt":-1,"toc":1873},{"title":314,"description":1849},"Name of the customer. If your app has lastName, this should be set to firstName value.",{"type":318,"children":1851},[1852],{"type":321,"tag":1841,"props":1853,"children":1854},{},[1855,1857,1863,1865,1871],{"type":327,"value":1856},"Name of the customer. If your app has ",{"type":321,"tag":353,"props":1858,"children":1860},{"className":1859},[],[1861],{"type":327,"value":1862},"lastName",{"type":327,"value":1864},", this should be set to ",{"type":321,"tag":353,"props":1866,"children":1868},{"className":1867},[],[1869],{"type":327,"value":1870},"firstName",{"type":327,"value":1872}," value.",{"title":314,"searchDepth":387,"depth":387,"links":1874},[],{"data":1876,"body":1878,"excerpt":-1,"toc":1906},{"title":314,"description":1877},"Set this if your app has lastName and firstName, otherwise use name.",{"type":318,"children":1879},[1880],{"type":321,"tag":1841,"props":1881,"children":1882},{},[1883,1885,1890,1892,1897,1899,1905],{"type":327,"value":1884},"Set this if your app has ",{"type":321,"tag":353,"props":1886,"children":1888},{"className":1887},[],[1889],{"type":327,"value":1862},{"type":327,"value":1891}," and ",{"type":321,"tag":353,"props":1893,"children":1895},{"className":1894},[],[1896],{"type":327,"value":1870},{"type":327,"value":1898},", otherwise use ",{"type":321,"tag":353,"props":1900,"children":1902},{"className":1901},[],[1903],{"type":327,"value":1904},"name",{"type":327,"value":419},{"title":314,"searchDepth":387,"depth":387,"links":1907},[],{"data":1909,"body":1910,"excerpt":-1,"toc":1916},{"title":314,"description":1805},{"type":318,"children":1911},[1912],{"type":321,"tag":1841,"props":1913,"children":1914},{},[1915],{"type":327,"value":1805},{"title":314,"searchDepth":387,"depth":387,"links":1917},[],{"data":1919,"body":1921,"excerpt":-1,"toc":1927},{"title":314,"description":1920},"Array of customer's billing addresses. First address is considered primary",{"type":318,"children":1922},[1923],{"type":321,"tag":1841,"props":1924,"children":1925},{},[1926],{"type":327,"value":1920},{"title":314,"searchDepth":387,"depth":387,"links":1928},[],{"data":1930,"body":1932,"excerpt":-1,"toc":1956},{"title":314,"description":1931},"Array of discounts applied to the customer. If your app has customer level discounts, you can specify them in the discounts array. Make sure you already have a Coupon model to use it here.",{"type":318,"children":1933},[1934],{"type":321,"tag":1841,"props":1935,"children":1936},{},[1937,1939,1945,1947,1954],{"type":327,"value":1938},"Array of discounts applied to the customer. If your app has customer level discounts, you can specify them in the ",{"type":321,"tag":353,"props":1940,"children":1942},{"className":1941},[],[1943],{"type":327,"value":1944},"discounts",{"type":327,"value":1946}," array. Make sure you already have a ",{"type":321,"tag":1948,"props":1949,"children":1951},"a",{"href":1950},"/integrations/models/coupon",[1952],{"type":327,"value":1953},"Coupon model",{"type":327,"value":1955}," to use it here.",{"title":314,"searchDepth":387,"depth":387,"links":1957},[],{"data":1959,"body":1961,"excerpt":-1,"toc":1977},{"title":314,"description":1960},"If your app associates a currency with a customer, set this field to an ISO currency code ISO 4217.",{"type":318,"children":1962},[1963],{"type":321,"tag":1841,"props":1964,"children":1965},{},[1966,1968,1976],{"type":327,"value":1967},"If your app associates a currency with a customer, set this field to an ISO currency code ",{"type":321,"tag":1948,"props":1969,"children":1973},{"href":1970,"rel":1971},"https://en.wikipedia.org/wiki/ISO_4217",[1972],"nofollow",[1974],{"type":327,"value":1975},"ISO 4217",{"type":327,"value":419},{"title":314,"searchDepth":387,"depth":387,"links":1978},[],{"data":1980,"body":1981,"excerpt":-1,"toc":1987},{"title":314,"description":1831},{"type":318,"children":1982},[1983],{"type":321,"tag":1841,"props":1984,"children":1985},{},[1986],{"type":327,"value":1831},{"title":314,"searchDepth":387,"depth":387,"links":1988},[],{"_path":1990,"_dir":1991,"_draft":313,"_partial":313,"_locale":314,"type":1793,"properties":1992,"_id":2000,"_type":1833,"title":2001,"_source":1778,"_file":2002,"_stem":2003,"_extension":1833},"/types/coupon/discount.type","coupon",{"coupon":1993,"start":1995,"end":1998},{"type":1793,"severity":1796,"description":1994},"Coupon applied to the subscription. See [Coupon model documentation](/integrations/models/coupon).",{"type":1996,"severity":1796,"description":1997},"Date","Date when the discount was applied.",{"type":1996,"severity":1802,"description":1999},"Date when the discount will expire. If not set, the discount considered to be permanent.","content:types:coupon:discount.type.json","DiscountType","types/coupon/discount.type.json","types/coupon/discount.type",1775515592090]