Apostillation

A service component for managing apostillation requests according to the Hague Convention of 1961. Allows selecting destination country, execution term, and calculates estimated completion dates with transparent pricing.

Interactive Demo

Try the component with different configuration options. Select a country and execution term to see pricing and estimated dates.

Component

Apostille Certification

Select the destination country and execution term for apostille certification of your document
Select "Internal Service" to test unavailable state

Real-time view of the apostillation data model as you interact with the component.

State: NotStarted
IsAvailable: True
IsValid: False
CanProceed: False

Selected Country:
  (none)

Selected Term:
  (none)

Calculated Values:
  Total Price: 0 MDL
  Estimated Date: (not calculated)
Monitor events emitted by the component during interaction.

No events yet. Interact with the component above.

Country Selector (Standalone)

razor
<FodCountrySelector
    @bind-Value="selectedCountry"
    ShowLabel="true"
    Label="Destination Country"
    ShowFlagIcon="true"
    ShowHagueBadge="true"
    FilterHagueOnly="true"
    Required="true"
    OnCountryChanged="HandleCountryChanged" />

@code {
    private DestinationCountry? selectedCountry;

    private void HandleCountryChanged(DestinationCountry? country)
    {
        Console.WriteLine($"Selected: {country?.DisplayName}");
    }
}

Basic Usage

Minimal setup for the apostillation component with two-way binding.

razor
<FodApostillation
    @bind-Value="apostillationData"
    BaseCompletionDate="DateTime.Today.AddDays(7)" />

@code {
    private FodApostillationData apostillationData = new();
}

With Configuration

Configure the component with requestor type, base date, and price display options.

razor
<FodApostillation
    @bind-Value="apostillationData"
    RequestorType="RequestorType.Person"
    BaseCompletionDate="@baseDate"
    ShowPriceBreakdown="true"
    IncludeVat="false"
    DocumentTypeCode="BIRTH_CERT"
    ServiceTypeCode="CIVIL_STATUS" />

@code {
    private FodApostillationData apostillationData = new();
    private DateTime baseDate = DateTime.Today.AddDays(7);
}

Wizard Integration

Use FodApostillation as a step in FodWizardComponent for service request workflows.

razor
<FodWizardComponent Steps="@_steps" ServiceRequestContext="@_context">
</FodWizardComponent>

@code {
    private List<WizardStep> _steps =
    [
        new WizardStep
        {
            StepId = "requestor",
            Title = "Requestor",
            ComponentType = typeof(FodRequestor),
            Order = 1
        },
        new WizardStep
        {
            StepId = "beneficiary",
            Title = "Beneficiary",
            ComponentType = typeof(FodBeneficiary),
            Order = 2
        },
        new WizardStep
        {
            StepId = "apostillation",
            Title = "Apostillation",
            ComponentType = typeof(FodApostillation),
            Order = 3,
            IsOptional = true,
            IsConditional = true,
            ShowCondition = ctx => ctx.ServiceType == "documents"
        }
        .WithParameter("BaseCompletionDate", DateTime.Today.AddDays(7))
        .WithParameter("ShowPriceBreakdown", true),

        new WizardStep
        {
            StepId = "attachments",
            Title = "Attachments",
            ComponentType = typeof(FodAttachments),
            Order = 4
        }
    ];
}

Event Handling

Handle various events to react to user selections and calculated values.

csharp
<FodApostillation
    @bind-Value="apostillationData"
    BaseCompletionDate="@baseDate"
    OnApostillationChanged="HandleDataChanged"
    OnCountryChanged="HandleCountryChanged"
    OnTermChanged="HandleTermChanged"
    OnPriceCalculated="HandlePriceCalculated"
    OnEstimatedDateCalculated="HandleDateCalculated" />

@code {
    private void HandleDataChanged(FodApostillationData data)
    {
        Console.WriteLine($"State: {data.State}, Valid: {data.IsValid}");
    }

    private void HandleCountryChanged(DestinationCountry? country)
    {
        Console.WriteLine($"Country: {country?.DisplayName ?? "cleared"}");
    }

    private void HandleTermChanged(ExecutionTerm? term)
    {
        Console.WriteLine($"Term: {term?.DisplayName}, Days: {term?.BusinessDays}");
    }

    private void HandlePriceCalculated(decimal price)
    {
        // Update payment total in parent component
        _totalAmount += price;
        Console.WriteLine($"Apostillation price: {price:N2} MDL");
    }

    private void HandleDateCalculated(DateTime? date)
    {
        Console.WriteLine($"Estimated completion: {date:dd.MM.yyyy}");
    }
}

API Reference - FodApostillation

Properties and events available on the FodApostillation component.

No properties defined.

API Reference - FodApostillationData

The data model representing apostillation request information.

No properties defined.

API Reference - DestinationCountry

Model representing a destination country for apostillation.

No properties defined.

API Reference - ExecutionTerm

Model representing an execution term option with pricing and duration.

No properties defined.

API Reference - FodCountrySelector

Standalone country selector component properties.

No properties defined.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.