User control in formulier opnemen
Het maken van een afspraak vindt plaats in twee stappen; de eerste is het uitvragen van de afspraakgegevens aan de eindgebruiker. Natuurlijk hoeven niet alle gegevens te worden uitgevraagd; het betreffende product (onderwerp) en eventueel ook de locatie van de afspraak kunnen bijvoorbeeld al van tevoren vaststaan. De tweede stap, het definitief vastleggen van de afspraak, kan pas plaatsvinden wanneer het TriplEforms scenario helemaal is doorlopen en de eindgebruiker de ingevulde gegevens heeft gecontroleerd en gefiatteerd.
Het uitvragen van de gegevens vindt plaats met behulp van een zogeheten user control. Om deze binnen een TriplEforms formulier te kunnen gebruiken moet een CustomUserControl worden gebruikt (beschikbaar in TriplEforms vanaf versie 2.0.96.0):
Wanneer deze op het scherm wordt gesleept wordt een invulscherm getoond, dat bijvoorbeeld als volgt kan worden ingevuld:
Bij Name moet de naam worden ingevuld van het component binnen het TriplEforms formulier. Dit bepaalt onder meer onder welke variabelen de resultaten van het component beschikbaar worden gemaakt.
Bij de eigenschap Usercontrol path wordt de locatie van het control binnen de website ingegeven. Deze waarde zal normaalgesproken gelijk zijn aan: ~/Controls/AppointmentControl.ascx
Vervolgens worden de parameters voor het control ingegeven; in deze lijst kunnen de volgende parameters worden opgenomen (alle parameters zijn optioneel):
Parameter | Beschrijving | Standaard waarde |
AppointmentSystem | In deze parameter kan het unieke kenmerk van het te gebruiken afsprakensysteem worden opgenomen. Normaalgesproken kan deze parameter leeg blijven, omdat de te gebruiken service adapter al in de configuratie is ingesteld. | (leeg) |
IsProductSelectable | Moet het product (type afspraak, bijv. Afspraak ondertrouw) worden uitgevraagd. Als dit niet het geval is moet bij deze parameter de waarde false worden ingegeven. Ook moeten dan het interne kenmerk en de naam van het product via de parameters worden ingegeven (zie SelectedProductId en SelectedProductName). | true |
SelectedProductId | Het unieke kenmerk van het voorgeselecteerde product in het afsprakensysteem. | (geen) |
SelectedProductName | De naam van het voorgeselecteerde product. | (geen) |
ProductLabelText | De labeltekst bij het te selecteren product. | Selecteer een product: |
IsLocationSelectable | Moet de locatie (bijv. Gemeentehuis) worden uitgevraagd. Als dit niet het geval is moet bij deze parameter de waarde false worden ingegeven. Ook moeten dan het interne kenmerk en de naam van de locatie via de parameters worden ingegeven (zie SelectedLocationId en SelectedLocationName). Als een locatiekenmerk niet wordt ondersteund door het achterliggende afsprakensysteem | true |
SelectedLocationId | Het unieke kenmerk van de voorgeselecteerde locatie in het afsprakensysteem. | (geen) |
SelectedLocationName | De naam van de voorgeselecteerde locatie. | (geen) |
LocationLabelText | De labeltekst bij de te selecteren locatie. | Selecteer een locatie: |
DateLabelText | De labeltekst bij de te selecteren kalenderdatum. | Selecteer een datum: |
TimeLabelText | De labeltekst bij het te selecteren tijdstip. | Selecteer een tijd: |
MultiCustomersLabelText | De labeltekst bij de selecteren aantal clienten | Selecteer het aantal personen: |
SelectedMultiCustomers | Het aantal geselecteerde clienten | (geen) |
LabelCssClass | Op de labels toe te passen CSS klasse. | appointmentControlLabel |
DropDownListCssClass | Op dropdowns toe te passen CSS klasse. | appointmentControlDropdownlist |
CalendarCssClass | Op kalenders toe te passen CSS klasse. | appointmentControlCalendar |
DropDownListDefaultItemText | In dropdowns weer te geven tekst als er nog geen optie is geselecteerd. | Selecteer een optie... |
IsMultiProductSelectable | Kunnen er meerdere producten worden geselecteerd bij het maken van een afspraak? | False |
selectedMultiCustomerId | Nodig bij het reschedule van een afspraak; totaal aantal geselecteerde personen van de afspraak.
| (geen) |
ShowHiddenProducts |
Filter of verborgen producten wel of niet getoond mogen worden(zover bekend voor orchestra)
| False |
ShowHiddenLocation | Filter of verborgen locaties wel of niet getoond mogen worden(zover bekend voor orchestra)
| False |
Wanneer de afspraakgegevens zijn uitgevraagd aan de eindgebruiker worden deze beschikbaar gesteld in de vorm van de volgende resultaten (answers):
Result | Beschrijving |
SelectedProduct | Het geselecteerde product. De variabele SelectedProduct bevat de naam van het geselecteerde product; met SelectedProduct.key kan het unieke kenmerk worden uitgelezen. Het unieke kenmerk van het product is nodig om de afspraak uiteindelijk aan te maken met de TriplEforms processor. |
SelectedLocation | De geselecteerde locatie. De variabele SelectedLocation bevat de naam van de geselecteerde locatie; met SelectedLocation.key kan het unieke kenmerk van de locatie worden uitgelezen. Het unieke kenmerk van de locatie is nodig om de afspraak uiteindelijk aan te maken met de TriplEforms processor. |
SelectedDate | De geselecteerde datumcomponent (dit resultaat wordt alleen om technische redenen bijgevoegd). |
SelectedTime | De geselecteerde tijdcomponent (dit resultaat wordt alleen om technische redenen bijgevoegd). |
SelectedDateAndTime | De gecombineerde geselecteerde datum en tijd; dit resultaat is nodig om de afspraak uiteindelijk aan te maken met de TriplEforms processor. |
SelectedMultiCustomers | Het geselecteerde product kan in sommige gevallen meerdere cliënten ondersteunen. De variabele SelectedMultiCustomers is altijd gevuld, een hogere waarde dan 0 duidt aan op meerdere cliënten bij het selecteerde product. |
De resultaten van het control worden beschikbaar gemaakt onder de naam van het control. Als de naam van het control gelijk is aan Afspraak, zijn de eigenschappen als volgt uit te lezen:
- [Afspraak.SelectedProduct.key] – Het unieke kenmerk van het geselecteerde product
- [Afspraak.SelectedProduct] – De naam van het geselecteerde product
- [Afspraak.SelectedLocation.key] – Het unieke kenmerk van de geselecteerde locatie
- [Afspraak.SelectedLocation] – De naam van de geselecteerde locatie
- [Afspraak.SelectedDateAndTime] – De geselecteerde datum en tijd
- [Afspraak.SelectedMultiCustomers]– Het aantal extra cliënten van het geselecteerde product
Processoren
AppointmentProcessor
Kort: Direct boeken enkele client
Minimum supported adapter type: IAppointmentService
Executes adapter method:
BookingResult BookAppointment(string productId, string locationId, DateTime dateAndTime, TimeSpan duration, string description, ClientDetails clientDetails);
Return values:
- BookAppointmentResult
- BookAppointmentDetailMessage
- BookAppointmentClientId
- BookAppointmentAppointmentId
Param | Omschrijving | Verplicht |
AppointmentSystem | Identifier of the appointment system, must be defined in the application configuration. |
|
ProductId | Identifier of the product for the appointment. | V |
LocationId | Identifier of the location for the appointment. | |
DateAndTime | Date and time of the appointment. | V |
DurationInMinutes | Duration of the appointment in minutes. Default value is 30 minutes. | |
Description | Description of the appointment. | |
ClientId | Unique identifier for the client, usually the BSN. | V |
ClientInitials | Initials of the client. | |
ClientLastName | Last name of the client. | |
ClientGender | Gender of the client. | |
ClientDateOfBirth | Date of birth of the client. | |
ClientAddress | Mailing address of the client. | |
ClientPostalcode | Postalcode of the client's mailing address. | |
ClientCity | City of the client's mailing address. | |
ClientCountry | Country the client lives in. | |
ClientTelephoneNumber | Telephone number of the client. | |
ClientEmailAddress | Email address of the client. |
|
AppointmentClientsProcessor
Kort: Direct boeken meerdere clients
Minimum supported adapter type: IAppointmentClientsService
Executes adapter method:
BookingResult BookAppointment(string productId, string locationId, DateTime dateAndTime, TimeSpan duration, string description, ICollection<ClientDetails> clients);
Return values:
- BookAppointmentResult
- BookAppointmentDetailMessage
- BookAppointmentClientId
- BookAppointmentAppointmentId
Param | Omschrijving | Verplicht |
AppointmentSystem | Identifier of the appointment system, must be defined in the application configuration. |
|
ProductId | Identifier of the product for the appointment. | V |
LocationId | Identifier of the location for the appointment. |
|
DateAndTime | Date and time of the appointment. | V |
DurationInMinutes | Duration of the appointment in minutes. Default value is 30 minutes. |
|
Description | Description of the appointment. |
|
Clients | Group iteration name | V |
ClientId | Group iteration field name | V |
ClientInitials | Group iteration field name |
|
ClientLastName | Group iteration field name |
|
ClientGender | Group iteration field name |
|
ClientDateOfBirth | Group iteration field name |
|
ClientAddress | Group iteration field name |
|
ClientPostalcode | Group iteration field name |
|
ClientCity | Group iteration field name |
|
ClientCountry | Group iteration field name |
|
ClientTelephoneNumber | Group iteration field name |
|
ClientEmailAddress | Group iteration field name |
|
GetAppointmentProcessor
Kort: Opvragen afspraken van client
Minimum supported adapter type: IAppointmentClientsService
Executes adapter method:
ICollection<BookingDetails> GetClientAppointments(string id);
Return values:
- Appointment.{0}.PublicId
- Appointment.{0}.Description
- Appointment.{0}.ProductId
- Appointment.{0}.ProductName
- Appointment.{0}.Customs
- Appointment.{0}.LocationId
- Appointment.{0}.LocationName
- Appointment.{0}.StartTime
- Appointment.{0}.EndTime
- Appointment.{0}.Duration
- Appointment.{0}.NumberOfClients
- Appointment.{0}.Client.Id
- Appointment.{0}.Client.Initials
- Appointment.{0}.Client.LastName
- Appointment.{0}.Client.Gender
- Appointment.{0}.Client.DateOfBirth
- Appointment.{0}.Client.Address
- Appointment.{0}.Client.Postalcode
- Appointment.{0}.Client.City
- Appointment.{0}.Client.EmailAddres
- Appointment.{0}.Client.TelephoneNumber
Param | Omschrijving | Verplicht |
AppointmentSystem | Identifier of the appointment system, must be defined in the application configuration. |
|
Id | Unique identifier for the client, usually the BSN. | V |
ChangeAppointmentsProcessor
Kort: Wijzig afspraak
Minimum supported adapter type: IEditableAppointmentService
Executes adapter method:
BookingResult ChangeAppointment(string appId, string productId, string locationId, DateTime dateAndTime, TimeSpan duration, string description, ClientDetails clientDetails);
Return values:
- BookAppointmentResult
- BookAppointmentDetailMessage
- BookAppointmentClientId
- BookAppointmentAppointmentId
Param | Omschrijving | Verplicht |
AppointmentSystem | Identifier of the appointment system, must be defined in the application configuration. |
|
AppointmentId | Identifier of the appointment. | V |
ProductId | Identifier of the product for the appointment. | V |
LocationId | Identifier of the location for the appointment. |
|
DateAndTime | Date and time of the appointment. | V |
DurationInMinutes | Duration of the appointment in minutes. Default value is 30 minutes. |
|
Description | Description of the appointment. |
|
ClientId | Unique identifier for the client, usually the BSN. | V |
ClientInitials | Initials of the client. |
|
ClientLastName | Last name of the client. |
|
ClientGender | Gender of the client. |
|
ClientDateOfBirth | Date of birth of the client. |
|
ClientAddress | Mailing address of the client. |
|
ClientPostalcode | Postalcode of the client's mailing address. |
|
ClientCity | City of the client's mailing address. |
|
ClientCountry | Country the client lives in. |
|
ClientTelephoneNumber | Telephone number of the client. |
|
ClientEmailAddress | Email address of the client. |
|
DeleteAppointmentProcessor
Kort: Verwijder afspraak
Minimum supported adapter type: IEditableAppointmentService
Executes adapter method:
BookingResult RemoveAppointment(string appId);
Return values:
- BookAppointmentResult
- BookAppointmentDetailMessage
- BookAppointmentClientId
- BookAppointmentAppointmentId
Param | Omschrijving | Verplicht |
AppointmentSystem | Identifier of the appointment system, must be defined in the application configuration. |
|
AppointmentId | Identifier of the appointment. | V |
ReserveAppointmentProcessor
Kort: Reserveer een afspraak
Minimum supported adapter type: IAppointmentClientsService
Executes adapter method:
Wanneer NumberOfClient niet gevuld is:
BookingResult ReserveAppointment(string locationId, string servicePublicId, DateTime selectedDate, TimeSpan selectedTime);
Wanneer NumberOfClient gevuld is:
BookingResult ReserveAppointment(string locationId, string servicePublicId, DateTime selectedDate, TimeSpan selectedTime, int numberOfClients);
Return values:
- BookAppointmentResult
- BookAppointmentDetailMessage
- BookAppointmentClientId
- BookAppointmentAppointmentId
Param | Omschrijving | Verplicht |
AppointmentSystem | Identifier of the appointment system, must be defined in the application configuration. |
|
ProductId | Identifier of the product for the appointment. | V |
LocationId | Identifier of the location for the appointment. |
|
DateAndTime | Date and time of the appointment. | V |
NumberOfClient | Number of clients that participate the appointment |
|
ConfirmAppoinmentProcessor
Kort: Bevestig afspraak voor een client
Minimum supported adapter type: IAppointmentClientsService
Executes adapter method:
BookingResult ConfirmAppointment(string appointmentPublicId, string description, ClientDetails clientdDetails);
Return values:
- BookAppointmentResult
- BookAppointmentDetailMessage
- BookAppointmentClientId
- BookAppointmentAppointmentId
- BookAppointmentDuration
- BookAppointmentCustom
- Mapped Qmatic custom field naar een object. Van de infoText wordt html verwacht. Uit de html worden nbsp; en ; karakters weggehaald
public class Custom
{
public bool rescheduleEnabled { get; set; }
public bool cancelEnabled { get; set; }
public bool noteFieldEnabled { get; set; }
public string infoText { get; set; }
}
Param | Omschrijving | Verplicht |
AppointmentSystem | Identifier of the appointment system, must be defined in the application configuration. |
|
AppointmentId | Identifier of the appointment. | V |
Description | Description of the appointment. |
|
ClientId | Unique identifier for the client, usually the BSN. | V |
ClientInitials | Initials of the client. |
|
ClientLastName | Last name of the client. |
|
ClientGender | Gender of the client. |
|
ClientDateOfBirth | Date of birth of the client. |
|
ClientAddress | Mailing address of the client. |
|
ClientPostalcode | Postalcode of the client's mailing address. |
|
ClientCity | City of the client's mailing address. |
|
ClientCountry | Country the client lives in. |
|
ClientTelephoneNumber | Telephone number of the client. |
|
ClientEmailAddress | Email address of the client. |
|
ConfirmAppointmentClientsProcessor
Kort: Bevestig afspraak met meerdere clients
Minimum supported adapter type: IAppointmentClientsService
Executes adapter method:
BookingResult ConfirmAppointment(string appointmentPublicId, string description, ICollection<ClientDetails> clients);
Return values:
- BookAppointmentResult
- BookAppointmentDetailMessage
- BookAppointmentClientId
- BookAppointmentAppointmentId
- BookAppointmentDuration
- BookAppointmentCustom
- Mapped Qmatic custom field naar een object. Van de infoText wordt html verwacht. Uit de html worden nbsp; en ; karakters weggehaald
public class Custom
{
public bool rescheduleEnabled { get; set; }
public bool cancelEnabled { get; set; }
public bool noteFieldEnabled { get; set; }
public string infoText { get; set; }
}
Param | Omschrijving | Verplicht |
AppointmentSystem | Identifier of the appointment system, must be defined in the application configuration. |
|
AppointmentId | Identifier of the appointment. | V |
Description | Description of the appointment. |
|
Clients | Group iteration name | V |
ClientId | Group iteration field name | V |
ClientInitials | Group iteration field name |
|
ClientLastName | Group iteration field name |
|
ClientGender | Group iteration field name |
|
ClientDateOfBirth | Group iteration field name |
|
ClientAddress | Group iteration field name |
|
ClientPostalcode | Group iteration field name |
|
ClientCity | Group iteration field name |
|
ClientCountry | Group iteration field name |
|
ClientTelephoneNumber | Group iteration field name |
|
ClientEmailAddress | Group iteration field name |
Was dit artikel nuttig?
Dat is fantastisch!
Hartelijk dank voor uw beoordeling
Sorry dat we u niet konden helpen
Hartelijk dank voor uw beoordeling
Feedback verzonden
We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren