Microsoft Bookings offer custom time slot or even "allday" booking - microsoft-graph-booking

when I create a service in Microsoft Bookings and book it manually, I have the option to select a From and To time. I can only set a from time on the published booking page. But I would like / have to be able to choose a time period, all day as well.
How can I do that?
BookingManually on Microsoft Bookings
Published Booking Page

Related

Remove all meetings created by a user linked to a Office 365 Room mailbox

A client of ours has two rooms in Office 365 under "Resources > Rooms & Equipment", one of which is a meeting room that users can book and invite people to. When a user is invited and accepts it creates a calendar event. However, recently one user left and deleted his calendar events which subsequently, has been removed for everyone else. However, other users cannot book this meeting room as it says it is already booked under his name. The email account that booked the meetings is still active and will be until the end of the month.
Is there a way of deleting all bookings linked to a specific user, or possibly a way of getting a list of all upcoming and previous bookings? I have access to Office 365 and Powershell, any help would be great.
Have tried to find calendar for the room and can do this but unsure of how to get list of calender events.

Xero and Filemaker Inventory and PO Integration

The company I work for in the the process of converting to Xero from MYOB. I'm currently developing a Filemaker database that will handle Estimates, Jobs, Inventory, Purchase Orders, and several other entities. I'm trying to work out the best way to sync Inventory items. We will have multiple stock locations, and product categories, in the Filemaker database, so according to https://developer.xero.com/documentation/api-guides/inventory-integration-options we should only sync inventory transactions, not inventory items.
The issue with this is that for the foreseeable future we will still be using ServiceM8 for the service side of the business. Filemaker is only used for estimates and jobs for the install side of the business, as well as purchase orders and inventory. ServiceM8 will still need to push invoices to Xero and adjust stock quantities accordingly. Is it a viable option to sync inventory items but just have an QuantityOnHand field in the filemaker database that is a sum of all the stock location quantities, and sync that with the Xero QuantityOnHand field?
Likewise there will be category fields in the filemaker product table that will not be seen in the Xero product table, but all product record creation will be done in Filemaker. Worst case I can periodically find any product records that do not have categories and enter them.
One other thing, I hope it's OK to put it in the same topic as it's related.:
Filemaker will handle purchase orders including Receiving multiple shipments. Would best practice be to POST the purchase order record to Xero when it's created and update the Status as necessary, or should I not use purchase orders in Xero at all and just do stock transactions?
Thanks,
Stew.

Updating a Domino room reservation using the Domino Data API

We are integrating another application with Domino using the Domino REST API from here
We are able to update the details of the room reservation but it doesn't release the availability of the room from the updated date/time
For instance, if someone booked a room for a meeting from 9am - 10am and it ended at 9.30am, our application can update the EndDateTime of the document but the room is still blocked in the resource calendar till 10am.
How do we properly update the room reservation?
Booking a room with the data API is tricky. You need to understand every detail of the data model in the reservation database. I recommend using the REST calendar API instead of the data API.
For more details, see the answer to this question.

How to get customer id KUNNR of current Launchpad user?

I am writing a custom Fiori to access sales data from an SAP ERP backend system using a Gateway.
The use case is "customer logs in launchpad, opens Fiori app and sees all his/hers sales items based on the customer id". The customer id is stored in kna1-kunnr and has to be included in a select on the vbak table in SAP. Nothing fancy.
Now I ask myself: how do I get the customer id / kunnr? What do I get at all from the currently logged in user? When debugging my Gateway project code, is it actually the name stored in sy-uname or can I get something better?
How should I continue to get the customer id / kunnr? Are there some function modules like GET_CUSTOMER_ID_OF_USER to call in the SAP ERP?
Or are the actually other / better ways to get the sales documets for one user?
Update
Thank you for your answers so far. I am going to check the default Fiori implementations to get some inside. But, since we are already here, I want to specify my question a little bit more:
Giving I create an OData model in my Component.js like that:
var oModel = new sap.ui.model.odata.ODataModel("[...]/sap/opu/odata/sap/Z_MYODATA_SRV/",
false, "user", "password" );
user and password are supposed to be the ones currently entered as user credentials in the Fiori Launchpad. How can I access those? Are there some SAPUI5 api like getCurrentUser or getCurrentSession ? Do I actually have to do this user check?
You are correct that to identify all of the sales orders for a customer you need to read them from VBAK (or use BAPI_SALESORDER_GETLIST, etc).
The relationship between logged in user and customer is not something that's the same in every SAP ECC system. You may find that the logged in user is the same as the customer number, but with a prefix - for example, logged in user C12345678 for customer 0012345678. Or there may be some other type of relationship that's store in a custom field on the customer master itself. The best option is to check with the person responsible for the configuration in Sales and Distribution. Only then can you know how to determine the customer for a logged in customer user.
Answering your question
Now I ask myself: how do I get the customer id / kunnr? What do I get at all from the currently logged in user?
It is done on backend with standard customizing, not via OData methods like you intend to do it.
Mikael gave you the rough idea, but didn't finished it so I will give a more comprehensive answer.
We need to differentiate between front-end and back-end authorizations, for Fiori app functioning you need to types of roles/authorizations:
The SAP Fiori roles that define which Fiori apps are displayed to the user
Launchpad authorizations
General OData authorizations
Trusted RFC back-end connectivity authorizations
Back-end authorizations and roles which contain authorizations to display the related business data
This concept is depicted on this figure:
The assignment of the front-end is described here and is out of scope now. Now we are focusing on bullet 2.
Every Fiori app has its role model and one should follow the implementation given in app description. Let's consider how it is done based on Sales Order creation app (F0018) sample:
OData service that returns business-data is SRA017_SALESORDER_CREATE_SRV, so to run it one needs frontend role SAP_SD_BCR_FIELDSALESREP_X1 and backend role SAP_SD_SO_CRE_APP
Also app description give us the following prerequisits:
Before implementing the Create Sales Order app, you must ensure the following:
That an employee master record is created with the following attributes:
If you have implemented SAP ERP HCM and maintained employees in the HCM personnel records, ensure that the employee personnel record has the infotype Communication, with a subtype of System User Name (SY-UNAME) (Infotype 0105, Subtype 0001).
If you have not implemented SAP ERP HCM, implement the Sales and Distribution configuration around Use Sales Employees with HR (Tcode: PULT). This IMG setting copies the appropriate HCM tables from the 000 Client and allows the setup of the employee record with the Infotype Communication and a Subtype of System User Name (SY-UNAME) (Infotype 0105, Subtype 0001).
It associates the USERID of the employee with the personnel number assigned as a partner function sales employee in the customer master.
After implementing the above customer SAP user id will be bound to his employee ID (PERNR), and his employee ID consequently will be bound to partner function in XD02.
And that's not all, what comes next?
THe following order parameters should be maintained in in SIMGH tcode in order customer to see his orders and can create the new ones.
Call transaction SIMGH to open the Create Sales Orders node and configure user information in Customizing activity Define Configuration Parameters using the parameters listed below. For more information, see the documentation available for the Customizing activity.
Document Type (DOCTYPE)
By default, the app uses the standard order document type (technical key TA resp. OR). Changing this to something other than a sales order may significantly impact the functionality of the application.
Order Period (ORDPERIOD)
This defines how many days into the past sales orders are retrieved. The suggested value is 30 days.
Search Period (SEAPERIOD)
This defines how many days into the past a search must look for sales orders that match the search criteria. The suggested value is 90 days.
Ship To Party (SHIP_TO/PARTNER_ROLE)
This defines which partner role in the customer master is used for the ship-to party. The suggested value is WE.
Forwarding Agent (FORWARDING_AGENT/PARTNER_ROLE)
This defines which partner role in the customer master is used for the forwarding agent. The suggested value is SP.
and even that's not all
App description gives the following BADIs to implement in order to enable such linking
Implement the following BAdIs:
Customer Association to Employee
You can use this BAdI to associate employees with specific customers.
Only after all the above steps the customer will be able to order and/or view his sales items.
The moral: always check the app description thoroughly because the role model varies per-app.
Have a look at the standard Fiori applications. For example, in Create Sales Order, there is a BADI provided to implement the relation you are looking for (but for an employee to a customer). In the standard setup, the partner functions of the customer master is used to map what customers are visible to an employee.
Most likely, you have a similar setup already in place if your customers actually have user accounts in your system. If could be as a parameter of the user or as a (custom?) partner role.
http://help.sap.com/saphelp_fiorierpx1_100/helpdata/en/6d/135652f9c21457e10000000a445394/content.htm

Zend framework concurrency and ajax

I'm developing a web application with zend framework. It is an app for selling movie tickets. The app allows users to select a seat and then buy the ticket. (The problem is similar to the classical air ticket booking.)
I have two problems.
Problem 1: The page that shows all seats has to refresh with ajax (a seat is green if available and red if unavailable): each seat is a div in the page. For example if USER A is watching the page with the seats and another USER B buy a ticket, the corresponding seat has to become red for USER A without refresh the page. How could i refresh every div? i'd like to use jquery, i tried to do a json request for each div every second but it is too slow. Any idea?
Problem 2: How could i manage the concurrency? If USER A and USER B click simultaneously to buy the same ticket (a ticket for the same seat) what do i have to do? I'm using a InnoDB engine, but do i have to manage the transaction in the relative controller?
Thanks a lot!
I think that you could use Comet for problem 1 to push the data from your webserver to the browser.
Unfortunately, I don't know how to use this practically.
I would probably solve problem 1 and 2 differently (as I have seen on lots of ticketing sites). Once a user selects a seat, I would update the seat with a timestamp in the database. That would infer that the seat is taken. The user then has 1 minute (or some amount of time) to purchase the tickets. If they don't then the timestamp changes back to null.
The sql would be fairly easy. Basically the system would scan that table for person B and say return any available seats (rows in the database) where the timestamp is null or (now - timestamp > 1 minute).