BookRequest Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Contains the data that is needed to schedule or "book" an appointment, recurring appointment, or service appointment (service activity).
public ref class BookRequest sealed : Microsoft::Xrm::Sdk::OrganizationRequest
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")]
public sealed class BookRequest : Microsoft.Xrm.Sdk.OrganizationRequest
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")>]
type BookRequest = class
inherit OrganizationRequest
Public NotInheritable Class BookRequest
Inherits OrganizationRequest
- Inheritance
- Attributes
Examples
The following example shows how to use this message. For this sample to work correctly, you must be connected to the server to get an IOrganizationService interface instance. For a complete sample, see Sample: Book an appointment
/// <summary>
/// Demonstrates the Book message
/// </summary>
/// <param name="service">The authenticated IOrganizationService instance</param>
static void BookExample(IOrganizationService service)
{
// Get the current user information
var userResponse = (WhoAmIResponse)service.Execute(new WhoAmIRequest());
// Create the ActivityParty instance.
Entity party = new("activityparty");
party["partyid"] = new EntityReference("systemuser", userResponse.UserId);
// Create the appointment instance.
Entity appointment = new("appointment")
{
Attributes = {
{"subject","Test Appointment" },
{"description","Test Appointment created using the BookRequest Message." },
{"scheduledstart", DateTime.Now.AddHours(1) },
{"scheduledend", DateTime.Now.AddHours(2) },
{"location","Office" },
{"requiredattendees", new Entity[]{ party } },
{"organizer", new Entity[]{ party } }
}
};
// Use the Book request message.
BookRequest request = new()
{
Target = appointment
};
var response = (BookResponse)service.Execute(request);
Guid appointmentId = response.ValidationResult.ActivityId;
// Verify that the appointment has been scheduled.
if (appointmentId != Guid.Empty)
{
Console.WriteLine($"Successfully booked {appointment["subject"]}.");
}
}
Remarks
For the Web API use the Book action.
Usage
Pass an instance of this class to the Execute(OrganizationRequest) method, which returns an instance of the BookResponse class.
Privileges and Access Rights
To perform this action, the caller must have privileges on the specified table and access rights on the specified record in the Target property. The following table lists the privileges the caller must have on specific tables:
Primary table | Privilege |
---|---|
appointment | prvSearchAvailability |
appointment | prvCreateActivity |
appointment | prvShareActivity |
recurringappointmentmaster | prvCreateActivity |
recurringappointmentmaster | prvShareActivity |
recurringappointmentmaster | prvSearchAvailability |
serviceappointment | prvSearchAvailability |
Supported Tables
See Message support for tables for an example query you can use to get the list of tables you can use with the BookRequest
message.
Constructors
BookRequest() |
Initializes a new instance of the BookRequest Class. |
Properties
ExtensionData |
Gets or sets the structure that contains extra data. Optional. (Inherited from OrganizationRequest) |
Item[String] |
Gets or sets the indexer for the |
Parameters |
Gets or sets the collection of parameters for the request. Required, but is supplied by derived classes. (Inherited from OrganizationRequest) |
RequestId |
Gets or sets the ID of the request. Optional. (Inherited from OrganizationRequest) |
RequestName |
Gets or sets the name of the request. Required, but is supplied by derived classes. (Inherited from OrganizationRequest) |
ReturnNotifications |
For internal use only. |
Target |
Gets or sets the record that is the target of the book operation. Required. |