GET /v1/basket/{familyId}/quote

Get quote

Path parameters

  • familyId string Required

    Family ID

Query parameters

  • enrolments array[object] Required

    Enrolments

    Hide enrolments attributes Show enrolments attributes object
    • classId string Required
    • studentId string Required
  • trials array[object] Required

    Trials

    Hide trials attributes Show trials attributes object
    • classId string Required
    • studentId string Required
    • trialAt string(date) Required
    • time string Required

Responses

  • 200 application/json

    successful operation

    Hide response attributes Show response attributes object
    • registrationFees array[object] Required

      Registration Fee Quote schema

      Hide registrationFees attributes Show registrationFees attributes object
      • name string Required

        Registration fee name

      • registrationFeeId string Required

        Registration fee ID

      • subTotal integer Required

        Sub total

      • total integer Required

        Total

      • taxTotal integer Required

        Tax total

    • seasons array[object] Required

      Quote schema

      Hide seasons attributes Show seasons attributes object
      • familyId string Required

        Family ID

      • season object Required

        Season schema

        Hide season attributes Show season attributes object
        • id string Required

          id

        • companyId string Required

          Company ID

        • name string Required

          Name

        • startAt string(date) Required

          Start At

        • endAt string(date) Required

          End At

        • registrationOpen boolean Required

          Whether Registration is currently open

        • registrationStatus string Required

          Values are never, open, closed, or ended.

        • enableRegistrationFees boolean Required

          Whether company registration fees are enabled for this season

        • registrationFeeDto object Required

          Registration Fee schema

          Hide registrationFeeDto attributes Show registrationFeeDto attributes object
          • id string Required

            Registration fee ID

          • name string Required

            Name

          • amount integer Required

            Amount

          • maxAmountPerFamily integer | null Required

            Max Amount Per Family

          • repetitionInterval string Required

            Values are one-off, annual, or per-season.

          • dueDate string(date) | null Required

            Due Date

          • proRated boolean

            Whether the registration fee can be pro-rated

          • taxRate object Required

            Tax Rate schema

            Hide taxRate attributes Show taxRate attributes object
            • id string Required

              id

            • rate number(float) Required

              Tax Rate (percent) with 3 decimal places

            • label string Required

              Label

            • isDefault boolean Required

              Is Default

          • archivedAt string(date-time) | null Required

            Archived At

        • registrationFee integer Required

          Registration fee

        • registrationFeeTaxRateId string | null Required

          Registration Fee Tax Rate ID

        • hasMaxRegistrationFee boolean Required

          Whether there is a maximum registration fee

        • maxRegistrationFee integer | null Required

          Maximum registration fee per Family

        • pricingScheme string Required

          Values are none, class-count, or total-duration.

        • pricingModel string Required

          Values are per-lesson, per-month, or per-season.

        • pricingPlans array[object] Required

          Pricing plan schema

          Hide pricingPlans attributes Show pricingPlans attributes object
          • id string Required

            Pricing plan ID

          • seasonId string Required

            Season ID

          • pricingModel string Required

            Values are per-lesson, per-month, or per-season.

          • firstPaymentDate string(date) Required

            First payment date

          • numberOfInstallments integer Required

            Number of installments

          • type string Required

            Values are one-off, monthly, fortnightly, weekly, or custom.

          • discount number Required
          • enabled boolean Required

            Whether the pricing plan is enabled

          • installmentDates array[string(date-time)] | null Required

            Custom installment dates for custom pricing plans

        • additionalFees array[object] Required

          Additional fees

          Fee for entity

          Hide additionalFees attributes Show additionalFees attributes object
          • id string Required

            Make up lesson ID

          • companyId string Required

            Company ID

          • entityId string Required

            The entity ID

          • description string Required

            The description of the fee

          • amount integer Required

            The amount of fee

          • proRated boolean Required

            Whether the fee is prorated based on season duration

          • maxAmountPerFamily integer | null Required

            The maximum amount per family

          • taxRateId string | null Required

            Tax rate ID

        • createdAt string(date-time) Required

          Created at date

        • updatedAt string(date-time) | null Required

          Updated at date

        • archivedAt string(date-time) | null Required

          Archived at date

      • enabledPricingPlans array[object] Required

        Pricing plan schema

        Hide enabledPricingPlans attributes Show enabledPricingPlans attributes object
        • id string Required

          Pricing plan ID

        • seasonId string Required

          Season ID

        • pricingModel string Required

          Values are per-lesson, per-month, or per-season.

        • firstPaymentDate string(date) Required

          First payment date

        • numberOfInstallments integer Required

          Number of installments

        • type string Required

          Values are one-off, monthly, fortnightly, weekly, or custom.

        • discount number Required
        • enabled boolean Required

          Whether the pricing plan is enabled

        • installmentDates array[string(date-time)] | null Required

          Custom installment dates for custom pricing plans

      • description string Required

        Description

      • date string(date) Required

        Date

      • subtotal integer Required

        Subtotal

      • discountTotal integer Required

        Discount total

      • taxTotal integer Required

        Tax total

      • total integer Required

        Total

      • items array[object] Required

        Items

        Bill Item schema

        Hide items attributes Show items attributes object
        • description string Required

          Description

        • type string Required

          Values are manual-debit, tax, additional-fee, registration-fee, tuition, trial, refund, payment-auto-failed, payment-auto-failed-reversal, product, discount-credit, upcoming-payment-adjustment, payment-manual, payment-manual-account-balance, discount, discount-tax, credit-note, manual-debit-credit, tax-credit, registration-fee-credit, tuition-credit, trial-credit, product-credit, additional-credit, custom-credit, payment-auto, payment-pending-card, payment-auto-account-balance, fee-class-manager, or fee-company.

        • subtotal integer Required

          Subtotal

        • discountTotal integer Required

          Discount total

        • taxTotal integer | null Required

          Tax total

        • taxDescription string | null Required

          Tax description

        • total integer Required

          Total

        • discounts array[object] Required

          Taxes

          Bill Item Discount schema

          Hide discounts attributes Show discounts attributes object
          • description string Required

            Description

          • total integer Required

            Total

          • amount integer Required

            Amount

          • taxAmount integer | null Required

            Tax amount

      • taxes array[object] Required

        Taxes

        Bill Item Tax schema

        Hide taxes attributes Show taxes attributes object
        • description string Required

          Description

        • amount integer Required

          Amount

      • remainingInstalments integer Required

        Remaining instalments

      • proRatedTotal integer | null Required

        Pro-rated total (if different from total)

    • summary object Required
      Hide summary attributes Show summary attributes object
      • subTotal integer

        Sub total

      • total integer

        Total

      • taxTotal integer

        Tax total

      • discountTotal integer

        Discount total

      • proRatedTotal integer

        Pro-rated total

  • 403 application/json

    Not authorized

    Hide response attributes Show response attributes object

    Error schema

    • statusCode number Required

      Status Code

    • messages array[string] Required

      List of error messages

    • exception object

      Exception

  • 404 application/json

    Not found

    Hide response attributes Show response attributes object

    Error schema

    • statusCode number Required

      Status Code

    • messages array[string] Required

      List of error messages

    • exception object

      Exception

GET /v1/basket/{familyId}/quote
curl \
 --request GET 'https://api-dev.classmanager.io/v1/basket/fml_123123123123/quote?enrolments=%7B%7D&trials=%7B%7D'
Response examples (200)
{
  "registrationFees": [
    {
      "name": "string",
      "registrationFeeId": "reg_xxxxxxxxxxxxxxxxxxxxxxxxxx",
      "subTotal": 100,
      "total": 100,
      "taxTotal": 100
    }
  ],
  "seasons": [
    {
      "familyId": "fml_xxxxxxxxxxxxxxxxxxxxxxxxxx",
      "season": {
        "id": "sea_xxxxxxxxxxx",
        "companyId": "co_123123123123",
        "name": "2024 Season",
        "startAt": "2023-12-25",
        "endAt": "2023-12-25",
        "registrationOpen": true,
        "registrationStatus": "never",
        "enableRegistrationFees": true,
        "registrationFeeDto": {
          "id": "reg_xxxxxxxxxxxxxxxxxxxxxxxxxx",
          "name": "Registration Fee",
          "amount": 100,
          "maxAmountPerFamily": 100,
          "repetitionInterval": "one-off",
          "dueDate": "2023-12-05",
          "proRated": true,
          "taxRate": {
            "id": "tax_xxxxxxxxxxxxxxxxxxxxxxxxxx",
            "rate": "20.000",
            "label": "VAT (20%)",
            "isDefault": true
          },
          "archivedAt": "2024-06-12T09:39:49.000000Z"
        },
        "registrationFee": 100,
        "registrationFeeTaxRateId": "tax_xxxxxxxxxxxxxxxxxxxxxxxxxx",
        "hasMaxRegistrationFee": true,
        "maxRegistrationFee": 200,
        "pricingScheme": "none",
        "pricingModel": "per-lesson",
        "pricingPlans": [
          {
            "id": "pp_xxxxxxxxxxxxxxxxxxxxxxxxxx",
            "seasonId": "sea_xxxxxxxxxxxxxxxxxxxxxxxxxx",
            "pricingModel": "per-lesson",
            "firstPaymentDate": "2023-12-05",
            "numberOfInstallments": 100,
            "type": "one-off",
            "discount": 42.0,
            "enabled": true,
            "installmentDates": [
              "2025-05-04T09:42:00Z"
            ]
          }
        ],
        "additionalFees": [
          {
            "id": "mkpl_xxxxxxxxxxxxxxxxxxxxxxxxxx",
            "companyId": "co_xxxxxxxxxxxxxxxxxxxxxxxxxx",
            "entityId": "sea_xxxxxxxxxxx",
            "description": "Setup fee",
            "amount": 1500,
            "proRated": false,
            "maxAmountPerFamily": 100,
            "taxRateId": "tax_xxxxxxxxxxxxxxxxxxxxxxxxxx"
          }
        ],
        "createdAt": "2023-12-05 14:30:41",
        "updatedAt": "2023-12-05 14:30:41",
        "archivedAt": "2023-12-05 14:30:41"
      },
      "enabledPricingPlans": [
        {
          "id": "pp_xxxxxxxxxxxxxxxxxxxxxxxxxx",
          "seasonId": "sea_xxxxxxxxxxxxxxxxxxxxxxxxxx",
          "pricingModel": "per-lesson",
          "firstPaymentDate": "2023-12-05",
          "numberOfInstallments": 100,
          "type": "one-off",
          "discount": 42.0,
          "enabled": true,
          "installmentDates": [
            "2025-05-04T09:42:00Z"
          ]
        }
      ],
      "description": "This is a bill description",
      "date": "2023-12-05",
      "subtotal": 1000,
      "discountTotal": -100,
      "taxTotal": 200,
      "total": 1200,
      "items": [
        {
          "description": "This is a bill item description",
          "type": "manual-debit",
          "subtotal": 1000,
          "discountTotal": 100,
          "taxTotal": 200,
          "taxDescription": "string",
          "total": 1200,
          "discounts": [
            {
              "description": "VAT (20%)",
              "total": 200,
              "amount": 320,
              "taxAmount": 120
            }
          ]
        }
      ],
      "taxes": [
        {
          "description": "VAT (20%)",
          "amount": 200
        }
      ],
      "remainingInstalments": 100,
      "proRatedTotal": 100
    }
  ],
  "summary": {
    "subTotal": 100,
    "total": 100,
    "taxTotal": 100,
    "discountTotal": 100,
    "proRatedTotal": 100
  }
}
Response examples (403)
{
  "statusCode": 42.0,
  "messages": [
    "string"
  ],
  "exception": {}
}
Response examples (404)
{
  "statusCode": 42.0,
  "messages": [
    "string"
  ],
  "exception": {}
}